SchoolAdmin API est une API REST développée avec Spring Boot pour la gestion administrative d'une université. Elle permet de gérer les étudiants, les professeurs, les cours, les évaluations, les emplois du temps, les annonces, et bien plus encore. L'API utilise JWT pour l'authentification et PostgreSQL comme base de données.
- Gestion des utilisateurs : Authentification et autorisation avec JWT.
- Gestion des étudiants : Inscription, admission, documents, notes.
- Gestion des professeurs : Profils et affectations.
- Gestion des cours et modules : Création et organisation des cours.
- Évaluations et notes : Système d'évaluation des étudiants.
- Emplois du temps : Gestion des horaires et séances.
- Annonces : Publication d'annonces pour la communauté universitaire.
- Statistiques : Rapports et analyses.
- Sécurité : Authentification sécurisée et gestion des rôles.
- Upload de fichiers : Gestion des documents et fichiers.
- Java 17
- Maven 3.6+
- PostgreSQL
- Docker (optionnel pour la conteneurisation)
-
Clonez le dépôt :
git clone https://github.com/Madior74/Spring-Boot-Memory-Project-.git cd SchoolAdmin_API -
Configurez la base de données PostgreSQL et définissez les variables d'environnement :
SPRING_DATASOURCE_URL: URL de la base de données (ex: jdbc:postgresql://localhost:5432/schooladmin)SPRING_DATASOURCE_USERNAME: Nom d'utilisateur de la base de donnéesSPRING_DATASOURCE_PASSWORD: Mot de passe de la base de données
-
Installez les dépendances :
mvn clean install
Modifiez le fichier src/main/resources/application.properties pour ajuster les paramètres :
- Port du serveur :
server.port=9000 - Répertoire d'upload :
file.upload-dir=uploads/ - Expiration du refresh token JWT :
jwt.refresh.expiration=604800(en secondes)
Pour lancer l'application en mode développement :
mvn spring-boot:runL'API sera accessible sur http://localhost:9000.
Pour construire et exécuter l'application avec Docker :
-
Construisez l'image :
docker build -t schooladmin-api . -
Exécutez le conteneur :
docker run -p 9000:9000 -e SPRING_DATASOURCE_URL=<url> -e SPRING_DATASOURCE_USERNAME=<user> -e SPRING_DATASOURCE_PASSWORD=<pass> schooladmin-api
L'API expose plusieurs endpoints REST. Voici quelques exemples :
POST /api/auth/login: ConnexionGET /api/etudiants: Liste des étudiantsPOST /api/professeurs: Ajouter un professeurGET /api/cours: Liste des coursGET /api/admin/activities/recent: Activités récentes
Pour une documentation complète, consultez les contrôleurs dans le code source ou utilisez un outil comme Swagger si configuré.
Pour exécuter les tests :
mvn test- Forkez le projet.
- Créez une branche pour votre fonctionnalité (
git checkout -b feature/nouvelle-fonction). - Commitez vos changements (
git commit -am 'Ajout de nouvelle fonctionnalité'). - Poussez vers la branche (
git push origin feature/nouvelle-fonction). - Ouvrez une Pull Request.