It is a Training Management Application designed to streamline and enhance the process of managing training periods for Palestinian students within the company branches during summer or winter breaks. The primary goal of this application is to provide a centralized platform for HR managers, supervisors, and trainees to efficiently oversee and participate in the training process.
- User registration and login with JWT authentication
- Password encryption using BCrypt
- Role-based authorization with Spring Security
- Complete registration sent email
- Forgot password email and Change password
- Refresh token
- Logout mechanism
- Three Portals for three user types: Trainee, Supervisor, SuperAdmin.
- Secure routing mechanism based on roles using ReactJS.
- Trainees can register their personal details (Profile).
- Trainees can submit their form answers.
- Supervisors can view their trainees.
- Supervisors can assign tasks to their trainees plan.
- Supervisors can add resources to their trainees plan.
- Supervisors can review the trainees' skills during Internship.
- HR managers can view all trainees, all supervisors.
- HR managers can create, edit, and delete trainees profiles.
- HR managers can update their academic grades.
- HR managers can assign trainees to a supervisor.
- HR managers can create any type of review form questions (text, multi-choices, one-choice).
- HR managers can add announcements to trainees and supervisors.
- HR managers can view all reviews done by supervisors and trainees.
- Java JDK v21
- npm
- Maven v3.9.5
- MySQL v8.2
- Spring Boot v3.1
- Spring Data JPA
- Mockito
- Postman
- Swagger
- React with Vite
- intelliJ IDEA 2023
- VSCode