Skip to content

πŸ“‹ Capstone Project: A Spring Boot application for tracking student service hours. Features role-based authentication, custom CSS, and filtering capabilities. Built with Java, Spring Security, MySQL, and vanilla JavaScript.

Notifications You must be signed in to change notification settings

adamnestor/serviceTally

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Service Tally

Overview

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.

Key Features

  • 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

Service Tally

Technology Stack

  • 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

Technical Highlights

  • 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

Setup and Installation

  1. Clone the repository
  2. Configure MySQL database settings in application.properties
  3. Run mvn clean install to build the project
  4. Start the application using mvn spring-boot:run
  5. Access the application at http://localhost:8080

Database Configuration

spring.datasource.url=jdbc:mysql://localhost:3306/your_database
spring.datasource.username=your_username
spring.datasource.password=your_password

Application Structure

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

Future Improvements

  • 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

Screenshots

[Include screenshots or link to demo video here]

Contributing

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.

About

πŸ“‹ Capstone Project: A Spring Boot application for tracking student service hours. Features role-based authentication, custom CSS, and filtering capabilities. Built with Java, Spring Security, MySQL, and vanilla JavaScript.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published