A Spring Boot-based leave management application with user authentication, employee management, and leave request workflows.
This project provides a simple leave management system built with Spring Boot, Spring Security, Spring Data JPA, and JSP views. It supports user signup/login, employee data handling, leave requests, and administrative leave approval.
- User authentication and registration
- Employee profile management
- Submit and track leave requests
- Leave approval workflow for admins
- JSP-based views for the front-end
- MySQL persistence with Spring Data JPA
- Java 21
- Spring Boot 4
- Spring Security
- Spring Data JPA
- Maven
- MySQL
- JSP / JSTL
- Tomcat embedded Jasper
- Lombok
src/main/java/com/example/leavemanagementconfig- security configurationcontroller- web controllers for auth, employee, leave, and view routingdto- data transfer objects for login and leave requestsmodel- domain entities such asUser,Employee,Leave,Role,LeaveStatusrepository- JPA repositoriesservice- business logic for authentication, employee, and leave management
src/main/resources/templates- JSP templates for login, signup, dashboard, leave history, and application pages
- Java 21 SDK
- Maven 3.8+
- MySQL database
- Create a MySQL database.
- Update
src/main/resources/application.propertieswith your MySQL username,password and database name.
From the project root:
./mvnw spring-boot:runOn Windows:
.
\mvnw.cmd spring-boot:runThen open:
http://localhost:8080/login-page
- Access the login page and sign in with existing credentials.
- Use the signup page to create a new account.
- Employees can submit leave requests and view request history.
- Admin users can review and approve or reject leave requests.
- The current configuration uses
spring.jpa.hibernate.ddl-auto=updateto automatically manage schema updates. - Ensure your MySQL server is running before starting the application.

