How priya-ghagare-programmer/employee-management-system-backend works
This is a Spring Boot employee-management backend. A client calls REST endpoints for authentication and workforce operations; controllers delegate to services, which apply domain rules and use repositories for persistence. Major capabilities documented in the README include employee and department management, attendance, leave decisions, task tracking, and salary generation. The sampled code confirms detailed wiring for several of these flows; task implementation details were not sampled, so its internal links are omitted.
Main entry points: database.sql MySQL Database · EmployeeRepository.java Employee Repository · EmployeeService.java Employee Management · AuthService.java Authentication
Components 25
Identity
- Auth API
src/main/java/com/ems/controller/AuthController.java - Authentication
src/main/java/com/ems/service/AuthService.java
People Management
- Employee API
src/main/java/com/ems/controller/EmployeeController.java - Employee Management
src/main/java/com/ems/service/EmployeeService.java - Employee Mapper
src/main/java/com/ems/mapper/EmployeeMapper.java - Department API
src/main/java/com/ems/controller/DepartmentController.java - Department Management
src/main/java/com/ems/service/DepartmentService.java
Workforce Operations
- Attendance API
src/main/java/com/ems/controller/AttendanceController.java - Attendance Tracking
src/main/java/com/ems/service/AttendanceService.java - Leave API
src/main/java/com/ems/controller/LeaveController.java - Leave Management
src/main/java/com/ems/service/LeaveService.java - Task API
src/main/java/com/ems/controller/TaskController.java - Task Management
src/main/java/com/ems/service/TaskService.java - Salary API
src/main/java/com/ems/controller/SalaryController.java - Salary Generation
src/main/java/com/ems/service/SalaryService.java
Persistence
- User Repository
src/main/java/com/ems/repository/UserRepository.java - Employee Repository
src/main/java/com/ems/repository/EmployeeRepository.java - Department Repository
src/main/java/com/ems/repository/DepartmentRepository.java - Attendance Repository
src/main/java/com/ems/repository/AttendanceRepository.java - Leave Repository
src/main/java/com/ems/repository/LeaveRepository.java - Task Repository
src/main/java/com/ems/repository/TaskRepository.java - Salary Repository
src/main/java/com/ems/repository/SalaryRepository.java - MySQL Database
database.sql
Other components
- API Client
- Spring Boot App
src/main/java/com/ems/EmployeeManagementSystemApplication.java
Connections 34
- API Client → Auth API: submits credentials
- API Client → Employee API: manages employees
- API Client → Department API: manages departments
- API Client → Attendance API: marks attendance
- API Client → Leave API: requests leave
- API Client → Task API: manages tasks
- API Client → Salary API: requests salary
- Auth API → Authentication: delegates
- Authentication → User Repository: looks up and saves users
- Authentication → Employee Repository: checks employee profile
- Authentication → Employee Management: registers employee
- Employee API → Employee Management: delegates
- Employee Management → Employee Mapper: maps employee data
- Employee Management → Employee Repository: reads and saves employees
- Employee Management → Department Repository: looks up department
- Department API → Department Management: delegates
- Department Management → Department Repository: reads and writes departments
- Attendance API → Attendance Tracking: delegates
- Attendance Tracking → Employee Repository: looks up employee
- Attendance Tracking → Attendance Repository: reads and saves attendance
- Leave API → Leave Management: delegates
- Leave Management → Employee Repository: looks up employee
- Leave Management → Leave Repository: reads and saves leave
- Salary API → Salary Generation: delegates
- Salary Generation → Employee Repository: looks up employee
- Salary Generation → Attendance Repository: reads attendance
- Salary Generation → Salary Repository: saves salary
- User Repository → MySQL Database: persists users
- Employee Repository → MySQL Database: persists employees
- Department Repository → MySQL Database: persists departments
- Attendance Repository → MySQL Database: persists attendance
- Leave Repository → MySQL Database: persists leave
- Task Repository → MySQL Database: persists tasks
- Salary Repository → MySQL Database: persists salaries