Releases: engripaye/ems-capstone-project
Releases · engripaye/ems-capstone-project
ems-capstone-project
Capstone Project: Employee Management System
Project Overview:
Develop an Employee Management System for internal use by companies. This system should
allow HR departments to manage employee records,
departments, roles, performance reviews, and salaries. The project should showcase core features
for enterprise-level management of employees.
Key Features:
- User Roles:
- Admin: Can manage employees, departments, roles, and view all reports.
- Manager: Can update employee performance and salary records for their team.
- Employee Management:
- Create, update, and delete employee records.
- Assign employees to departments and roles (e.g., HR, Engineering).
- Department and Role Management:
- Add, update, and remove departments and roles within the organization.
- Performance Reviews:
- Managers can add performance reviews for employees, rating their performance on various
metrics.
- Salary Management:
- Admins can set and update employee salaries, with history tracking of salary changes.
- Reporting:
- Generate reports on employee performance, department strength, and salary distribution.
- RESTful API:
- API to expose employee, department, role, and salary data.
- Database Integration:
- Use Hibernate/JPA for employee records, departments, and salary data, with a relational
database like PostgreSQL or MySQL.
- Error Handling and Validation:
- Proper input validation for employee details, performance reviews, and salary data.
- Testing:
- Write unit and integration tests for core business logic, such as employee creation, review, and
salary update.
- Deployment:
- Containerize with Docker and deploy on a cloud platform. Implement CI/CD for automated testing
and deployment.
Technologies to Use: - Java 11+
- Spring Boot
- Spring Security (JWT/OAuth2)
- Hibernate/JPA
- PostgreSQL/MySQL
- Maven/Gradle
- JUnit/Mockito
- Docker
- GitHub Action