[![GitHub WidgetBox](https://github-widgetbox.vercel.app/api/profile?username=walidbosso&data=followers,repositories,stars,commits&theme=nautilus)](https://github.com/walidbosso/SpringBoot-Angular-TrainingCenter-Management)
# Training Center Management with Spring Boot, Angular, and MySQL
Overview
This project is a web application developed as part of a moduleβs final project, The goal is to create a system for efficiently managing a training center. The technologies used include Spring Boot for the backend, Angular for the frontend, and MySQL for database storage.
Objectives
-
Store and manage training project documents efficiently: Develop a system to effectively handle and organize documents related to training projects.
-
Plan training sessions and allocate trainers appropriately: Create a scheduling mechanism for training sessions and ensure trainers are assigned based on their expertise and availability.
Details
- Authentication Interface:
- Create an authentication interface for the roles: admin, formateur, and assistant.
- Admin Adds Formation:
- Allow the admin to add a new formation for the public, specifying details such as duration, cost, objectives, and a detailed program.
- Admin Adds Formateurs:
- Enable the admin to add formateurs, specifying a set of keywords that characterize their skills. Also, include a remarks field.
- Admin/Assistant Adds Entreprises:
- Allow the admin or assistant to add a list of entreprises, specifying name, address, phone, URL, and email.
- Admin/Assistant Plans Formation:
- Enable the admin or assistant to plan a new formation by assigning a formateur and an entreprise to a set of dates.
- Individuals Registration for Formation:
- If the formation is for individuals, allow them to register (providing name, surname, date of birth, city, email, and phone) via a dedicated form on the homepage. Admin or assistant then assigns the formateur to the group of individuals.
- Public Homepage:
- The homepage is public and displays all formations added by the admin. Include simple filters for formation category, and date.
- Participant Evaluation:
- Participants receive a link to an evaluation form where they rate the formateur on pedagogical quality, pace, course and practical work support, and subject mastery.
- External Formateur Interest:
- Allow external formateurs to express interest in conducting a formation by registering on the platform and providing keywords reflecting their profile.
- Considerations:
- Consider aspects such as ergonomics, graphic design, layered modeling and security.
Technologies Used
- Backend: Spring Boot
- Frontend: Angular
- Database: MySQL
Prerequisites
Before you begin, ensure you have the following installed:
- Java Development Kit (JDK)
- Node.js and npm
- Angular CLI
- MySQL Server
- Lombok: Java library to reduce boilerplate code, making development cleaner and more concise.
- Xampp
Development Environment
- Spring Tool Suite (STS): An integrated development environment for building, testing, and deploying Spring applications.
- PHPMyAdmin: Web-based tool for managing MySQL databases.
- Visual Studio Code
Getting Started
-
Fork then clone the repository
git clone https://github.com/<YOUR-GITHUB-USERNAME>/SpringBoot-Angular-TrainingCenter-Management.git
-
Set up the backend: Just open the project on STS, It will automatically built and compile, if anything just then search for Maven Install and click it.
-
Set up the frontend
cd angular-frontend
npm install
If it didnβt work for some reason, download and unzip node_modules.rar in unzip it in angular -frontend, hereβs the Link to download
-
Set up the database:
- Create a MySQL database, name it:
gestion_centre_formation
.
-
Run the application:
- Start the Spring Boot backend in STS.
- Start the Angular frontend
ng serve --open
.
License
This project operates under the MIT License. Refer to the LICENSE file for detailed information.
Feedback and Contributions
Your feedback and contributions are invaluable! Feel free to open issues, submit pull requests, or connect for discussions.
----------------------
> > Β
© *Walid BOUSSOU, Mohamed Aymane ASSLADDAY, Soulaimane OULED TALEB* Β π²π¦ π
Β
----------------------
π Thanks for the support
## Stargazers
[![Stargazers repo roster for @walidbosso/SpringBoot-Angular-TrainingCenter-Management](http://reporoster.com/stars/dark/walidbosso/SpringBoot-Angular-TrainingCenter-Management)](https://github.com/walidbosso/SpringBoot-Angular-TrainingCenter-Management/stargazers)
## Forkers
[![Forkers repo roster for @walidbosso/SpringBoot-Angular-TrainingCenter-Management](http://reporoster.com/forks/dark/walidbosso/SpringBoot-Angular-TrainingCenter-Management)](https://github.com/walidbosso/SpringBoot-Angular-TrainingCenter-Management/network/members)
## Contributors
![GitHub last commit (by committer)](https://img.shields.io/github/last-commit/walidbosso/SpringBoot-Angular-TrainingCenter-Management?style=social)
![GitHub License](https://img.shields.io/github/license/walidbosso/SpringBoot-Angular-TrainingCenter-Management?style=social)
ππππ ππππ π ππ’ ππππππππ β πππ ππππππππππ’!