Ce projet implémente un système de gestion de type CRUD des campus universitaires au travers d'une stack MySQL, ORM JPA/Hibernate, interfaces Thymeleaf avec gestion des rôles et des requêtes métiers, incluant persistance, logique métier et présentation sous un modèle MVC. Il gère des batiments, des campus, des composantes, des salles et des utilisateurs. Il comporte deux conteneurs Docker, un contenant l'application Spring Boot et l'autre contenant la base de données MySQL.
Il présente trois utilisateurs par défaut :
- email: etudiant@etu.umontpellier.fr, password: etudiant
- email: enseignant@etu.umontpellier.fr, password: enseignant
- email: admin@etu.umontpellier.fr, password: admin
- Docker
- Docker Compose V2
- Java 21 / Jakarta EE 10
- Spring Boot: 3.3.4
- Serveur Tomcat: 10.1.30
- Base de données: MySQL 8.0.44
- Système ORM: JPA/Hibernate
- Interface: Templates Thymeleaf
|-- CampusGst.api.controllers : implémente une API Rest pour gérer la base de données, utile notamment pour les administrateurs à des fins d'automatisation, Swagger est supporté. Allez sur http://localhost:8080/swagger-ui pour tester l'API
|-- CampusGst.web.controllers : implémente les controleurs web avec renvoi de la vue à l'aide du moteur de template Thymeleaf
|-- CampusGst.config : contient le fichier SecurityConfig.java de configuration des routes selon les rôles des utilisateurs
|-- Campus.repositories : contient l'ensemble de tous les repository
|-- Campus.services : contient l'ensemble de tous les services
|-- Campus.modele : modèle de la base de données
Lancez l'exécution de l'application Web à l'aide de Docker :
docker compose build
docker compose upet ouvrez votre navigateur à l'adresse: http://localhost:8080.