Coder Social home page Coder Social logo

abdelrahman-abuhelal / training-management-platform Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 23.37 MB

A secure web application to manage training materials and other functionalities for HR, Supervisors and Trainees at the company.

Java 38.50% HTML 0.67% JavaScript 60.56% CSS 0.13% TypeScript 0.15%
backend-api email-notifications exception-handling jwt-authentication maven spring-boot spring-security reactjs front-end

training-management-platform's Introduction

Training-Management-Platform

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.

Security Features

  • 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

System Features

  • Three Portals for three user types: Trainee, Supervisor, SuperAdmin.
  • Secure routing mechanism based on roles using ReactJS.

Trainees

  • Register their personal details (Profile).
  • Submit their answers for recieved forms.
  • Track their training Tasks.
  • View new announcements regarding training.

Supervisors

  • Manage and view their trainees.
  • Assign tasks to their trainees.
  • Add skills for trainees profile.
  • View and submit forms.

HR managers

  • 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.

Class Diagram

ClassDiagram

Backend APIs

Authentication APIs

image

User APIs

image

Admin APIs

image

Trainee APIs

image

Supervisor APIs

image

Academic Grades APIs

image

Branch APIs

image

Form APIs

image

Skill APIs

image

Task APIs

image

Comments APIs

image

Tools Used to build the project:

  • 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

training-management-platform's People

Contributors

abdelrahman-abuhelal avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.