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.
- Project Timeline : Dec 2023 - March 2024 , June 2024 - September 2024
- Project Duration : +6 months.
- #First_Version Deployed at 14/7/2024.
- 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.
- Register their personal details (Profile).
- Submit their answers for recieved forms.
- Track their training Tasks.
- View new announcements regarding training.
- Manage and view their trainees.
- Assign tasks to their trainees.
- Add skills for trainees profile.
- View and submit forms.
- Manage User accounts (verified, activated).
- View all trainees, all supervisors and SuperAdmin Users in different branches (Ramallah, Nablus, Bethlehem).
- View /Update trainees profiles and training details.
- View /Update their academic grades.
- Assign trainees to their supervisor.
- View supervisors profile with their related trainees.
- Create any type of form form questions (text, multi-choices, one-choice).
- View form templates, form responses with the answers.
- View Trainee Skills, filter trainees based on skills.
- Add announcements to trainees and supervisors.
- Java JDK v21
- npm
- Maven v3.9.5
- MySQL v8.2
- Spring Boot v3.1
- Spring Data JPA
- Mockito
- Postman
- Swagger
- React with Vite
- Material UI (MUI)
- intelliJ IDEA 2023
- VSCode