How sohambyte/employeeleavemanagement works
Employee Leave Management is a full-stack application for employee leave requests and administrator review. Employees register or log in, submit and manage their own pending requests, and view request history; administrators review, edit, approve or reject requests and manage employees. The React routes call Spring REST controllers through the Axios API module, while services enforce business rules and use JPA repositories for persistence. README documents JWT authentication and MySQL; sampled service and controller code confirms leave rules and endpoint delegation, but frontend page-to-endpoint details and some security wiring are not sampled.
Main entry points: api.js Axios API client · App.jsx Route application · UserRepository.java User repository · LeaveService.java Leave rules
Components 27
Web application
- Route application
frontend/src/App.jsx - Role guards
frontend/src/components/ProtectedRoute.jsx - Login and register
frontend/src/pages/Login.jsx - Employee leave UI
frontend/src/pages/ApplyLeave.jsx - Employee dashboard
frontend/src/pages/Dashboard.jsx - Leave history
frontend/src/pages/MyLeaves.jsx - Admin leave UI
frontend/src/pages/AdminLeaves.jsx - Employee administration
frontend/src/pages/AdminEmployees.jsx - Axios API client
frontend/src/api.js
REST and security
- Authentication endpoints
backend/src/main/java/com/leavemanagement/controller/AuthController.java - Employee leave endpoints
backend/src/main/java/com/leavemanagement/controller/LeaveController.java - Admin leave endpoints
backend/src/main/java/com/leavemanagement/controller/AdminLeaveController.java - Admin employee endpoints
backend/src/main/java/com/leavemanagement/controller/AdminEmployeeController.java - JWT request filter
backend/src/main/java/com/leavemanagement/security/JwtFilter.java - JWT utilities
backend/src/main/java/com/leavemanagement/security/JwtUtil.java - Security configuration
backend/src/main/java/com/leavemanagement/security/SecurityConfig.java - User lookup
backend/src/main/java/com/leavemanagement/security/UserDetailsServiceImpl.java
Leave workflows
- Authentication service
backend/src/main/java/com/leavemanagement/service/AuthService.java - Leave rules
backend/src/main/java/com/leavemanagement/service/LeaveService.java - Employee management
backend/src/main/java/com/leavemanagement/service/EmployeeService.java
Persistence
- User repository
backend/src/main/java/com/leavemanagement/repository/UserRepository.java - Leave repository
backend/src/main/java/com/leavemanagement/repository/LeaveRequestRepository.java - User records
backend/src/main/java/com/leavemanagement/entity/User.java - Leave records
backend/src/main/java/com/leavemanagement/entity/LeaveRequest.java
Other components
- Employee
- Administrator
- MySQL database
Connections 37
- Employee → Route application: uses
- Administrator → Route application: uses
- Route application → Role guards: guards routes
- Route application → Login and register: routes
- Route application → Employee leave UI: routes
- Route application → Employee dashboard: routes
- Route application → Leave history: routes
- Route application → Admin leave UI: routes
- Route application → Employee administration: routes
- Login and register → Axios API client: sends requests
- Employee leave UI → Axios API client: sends requests
- Employee dashboard → Axios API client: sends requests
- Leave history → Axios API client: sends requests
- Admin leave UI → Axios API client: sends requests
- Employee administration → Axios API client: sends requests
- Axios API client → Authentication endpoints: HTTP requests
- Axios API client → Employee leave endpoints: HTTP requests
- Axios API client → Admin leave endpoints: HTTP requests
- Axios API client → Admin employee endpoints: HTTP requests
- Authentication endpoints → Authentication service: delegates
- Employee leave endpoints → Leave rules: delegates
- Admin leave endpoints → Leave rules: delegates
- Admin employee endpoints → Employee management: delegates
- Authentication service → User repository: reads and saves
- Authentication service → JWT utilities: creates token
- Leave rules → User repository: looks up users
- Leave rules → Leave repository: reads and writes
- Employee management → User repository: reads and deletes
- Employee management → Leave repository: deletes requests
- JWT request filter → JWT utilities: validates token
- JWT request filter → User lookup: loads identity
- User lookup → User repository: looks up user
- Security configuration → JWT request filter: configures filter
- User repository → User records: persists
- Leave repository → Leave records: persists
- User records → MySQL database: stored in
- Leave records → MySQL database: stored in