Service Tally is a web application designed to help schools track and manage student service hours. It provides a platform for students to submit service activities and for administrators to oversee and approve these submissions across multiple schools.
-
Multi-Role Authentication
- Secure user authentication for students and administrators
- Role-based access control
- Custom profile management for each user type
-
Student Features
- Submit service event activities
- Track service hours progress
- Upload and manage profile photos
- View service history and status updates
-
Administrator Features
- Manage multiple schools
- Review and approve student service submissions
- Filter and view service events by various criteria
- Track student progress toward service hour requirements
-
Data Management
- Complex filtering and sorting capabilities
- School-specific service hour requirements
- Graduation year tracking
- Progress tracking and status updates
-
Backend
- Java 17
- Spring Boot
- Spring Security
- JPA/Hibernate
- MySQL Database
-
Frontend
- Thymeleaf templating engine
- Vanilla HTML and CSS
- Pure JavaScript (no frameworks)
- Custom responsive design without external libraries
- Implemented complex database relationships using JPA/Hibernate
- Role-based security with Spring Security
- Custom authentication success handler
- File upload functionality for profile photos
- Advanced filtering system for service events
- DTO pattern for efficient data transfer
- Custom query methods using Spring Data JPA
- Hand-crafted responsive CSS without frameworks
- Clean, semantic HTML structure
- Vanilla JavaScript for enhanced functionality
- Clone the repository
- Configure MySQL database settings in
application.properties
- Run
mvn clean install
to build the project - Start the application using
mvn spring-boot:run
- Access the application at
http://localhost:8080
spring.datasource.url=jdbc:mysql://localhost:3306/your_database
spring.datasource.username=your_username
spring.datasource.password=your_password
src/
βββ main/
β βββ java/
β β βββ com/coderscampus/servicetally/
β β βββ config/ # Security and MVC configuration
β β βββ controller/ # MVC controllers
β β βββ domain/ # Entity classes and DTOs
β β βββ repository/ # Data access layer
β β βββ service/ # Business logic
β β βββ util/ # Utility classes
β βββ resources/
β βββ static/ # CSS, JS, and other static files
β βββ templates/ # Thymeleaf templates
- Implement email notifications for status updates
- Add reporting and analytics features
- Enhance mobile responsiveness
- Add batch processing for large datasets
- Implement caching for improved performance
[Include screenshots or link to demo video here]
This is a portfolio project demonstrating full-stack development capabilities. While it's not open for contributions, feel free to fork and use as reference.