How arup23168-cyber/ems_springboot works
EMS is a Spring Boot REST API for employee, department, leave, file-upload, and CSV-import workflows. Users call the REST controllers; those delegate domain operations to services, which map DTOs and use JPA repositories to persist entities in MySQL. Separate branches handle leave decisions, department assignment, and batch import. The README documents Redis caching, basic authentication, auditing, and request logging. Some implementation files were not excerpted, so uncertain internal links are omitted; documented capabilities remain represented.
Main entry points: EmployeeServiceImpl.java Employee operations · Employee.java JPA domain entities · LeaveServiceImpl.java Leave operations · EmployeeRepository.java Employee repository
Components 23
REST API
- Employee APIs
src/main/java/com/tyss/EMS/controller/EmployeeControllerV1.java - Employee v2 API
src/main/java/com/tyss/EMS/controller/EmployeeControllerV2.java - Department API
src/main/java/com/tyss/EMS/controller/DepartmentController.java - Leave API
src/main/java/com/tyss/EMS/controller/LeaveController.java - Import API
src/main/java/com/tyss/EMS/controller/EmployeeBatchController.java
Domain Services
- Employee operations
src/main/java/com/tyss/EMS/service/EmployeeServiceImpl.java - Department operations
src/main/java/com/tyss/EMS/service/DepartmentServiceImpl.java - Leave operations
src/main/java/com/tyss/EMS/service/LeaveServiceImpl.java - CSV import
src/main/java/com/tyss/EMS/service/EmployeeBatchService.java - Employee mapping
src/main/java/com/tyss/EMS/util/EmployeeMapper.java - Leave mapping
src/main/java/com/tyss/EMS/util/LeaveMapper.java
Persistence
- Employee repository
src/main/java/com/tyss/EMS/repository/EmployeeRepository.java - Department repository
src/main/java/com/tyss/EMS/repository/DepartmentRepository.java - Leave repository
src/main/java/com/tyss/EMS/repository/LeaveRepository.java - Employee file repository
src/main/java/com/tyss/EMS/repository/EmployeeFileRepository.java - JPA domain entities
src/main/java/com/tyss/EMS/entity/Employee.java - MySQL
Platform Integrations
- Batch job config
src/main/java/com/tyss/EMS/config/EmployeeBatchConfig.java - Redis caching config
src/main/java/com/tyss/EMS/config/RedisConfig.java - Redis
- Request logging
src/main/java/com/tyss/EMS/filter/LoggingFilter.java - Entity auditing
src/main/java/com/tyss/EMS/config/AuditorAwareImpl.java
Other components
- API client
Connections 27
- API client → Employee APIs: calls
README.md - API client → Employee v2 API: calls
README.md - API client → Department API: calls
README.md - API client → Leave API: calls
README.md - API client → Import API: triggers
README.md - Employee APIs → Employee operations: delegates to
src/main/java/com/tyss/EMS/controller/EmployeeControllerV1.java - Employee v2 API → Employee operations: delegates to
src/main/java/com/tyss/EMS/controller/EmployeeControllerV2.java - Department API → Department operations: delegates to
src/main/java/com/tyss/EMS/controller/DepartmentController.java - Leave API → Leave operations: delegates to
src/main/java/com/tyss/EMS/controller/LeaveController.java - Import API → CSV import: triggers
src/main/java/com/tyss/EMS/controller/EmployeeBatchController.java - Employee operations → Employee repository: queries
src/main/java/com/tyss/EMS/service/EmployeeServiceImpl.java - Employee operations → Department repository: queries
src/main/java/com/tyss/EMS/service/EmployeeServiceImpl.java - Employee operations → Employee file repository: persists files
src/main/java/com/tyss/EMS/service/EmployeeServiceImpl.java - Employee operations → Employee mapping: maps DTOs
src/main/java/com/tyss/EMS/service/EmployeeServiceImpl.java - Leave operations → Employee repository: loads employee
src/main/java/com/tyss/EMS/service/LeaveServiceImpl.java - Leave operations → Leave repository: queries
src/main/java/com/tyss/EMS/service/LeaveServiceImpl.java - Leave operations → Leave mapping: maps DTOs
src/main/java/com/tyss/EMS/service/LeaveServiceImpl.java - Employee repository → JPA domain entities: stores
src/main/java/com/tyss/EMS/repository/EmployeeRepository.java - Department repository → JPA domain entities: stores
- Leave repository → JPA domain entities: stores
src/main/java/com/tyss/EMS/repository/LeaveRepository.java - Employee file repository → JPA domain entities: stores
src/main/java/com/tyss/EMS/repository/EmployeeFileRepository.java - JPA domain entities → MySQL: persisted in
README.md - Batch job config → CSV import: configures job
- Employee operations → Redis caching config: uses caching
README.md - Redis caching config → Redis: connects to
README.md - API client → Request logging: requests logged
README.md - Entity auditing → JPA domain entities: audits changes
README.md