Subject Management Microservice
Objectif / Description du service
Le microservice de gestion du contenu pédagogique prend en charge la gestion des niveaux scolaires, des matières, des chapitres, des exercices et des challenges, ainsi que l’importation de ressources multimédias. Il offre des fonctionnalités de création, de modification, de suppression, de récupération et de recherche.
Fonctionnalités principales
- Gestion des niveaux (création, mise à jour, suppression, récupération, recherche)
- Gestion des matières
- Gestion des chapitres
Architecture technique du service
- Langage de programmation : Java
- Framework : Spring Boot
- Base de données : PostgreSQL
- ORM : Spring Data JPA
- Sécurité : Spring Security
Ports utilisés
- Port du serveur : 7074
Configuration
Le service nécessite une configuration de la base de données PostgreSQL. Les détails de configuration peuvent être spécifiés dans le fichier application.yml
.
Endpoints API
LevelController
-
POST /api/levels
: Ajouter un nouveau niveau. -
PUT /api/levels/{levelId}
: Modifier un niveau existant. -
DELETE /api/levels/{levelId}
: Supprimer un niveau. -
DELETE /api/levels
: Supprimer plusieurs niveaux. -
GET /api/levels
: Lister tous les niveaux avec pagination et recherche. -
GET /api/levels/{levelId}
: Récupérer un niveau par son identifiant. -
PATCH /api/levels/{levelId}/activate
: Activer un niveau. -
PATCH /api/levels/{levelId}/deactivate
: Désactiver un niveau.
SubjectController
-
POST /api/subjects
: Ajouter une nouvelle matière. -
PUT /api/subjects/{subjectId}
: Modifier une matière existante. -
DELETE /api/subjects/{subjectId}
: Supprimer une matière. -
DELETE /api/subjects
: Supprimer plusieurs matières. -
GET /api/subjects
: Lister toutes les matières avec pagination et recherche. -
GET /api/subjects/{subjectId}
: Récupérer une matière par son identifiant. -
PATCH /api/subjects/{subjectId}/activate
: Activer une matière. -
PATCH /api/subjects/{subjectId}/deactivate
: Désactiver une matière.
ChapterController
-
POST /api/chapters
: Ajouter un nouveau chapitre. -
PUT /api/chapters/{levelId}
: Modifier un chapitre existant. -
DELETE /api/chapters/{levelId}
: Supprimer un chapitre. -
DELETE /api/chapters
: Supprimer plusieurs chapitres. -
GET /api/chapters
: Lister tous les chapitres avec pagination et recherche. -
GET /api/chapters/{chapterId}
: Récupérer un chapitre par son identifiant. -
PATCH /api/chapters/{chapterId}/activate
: Activer un chapitre. -
PATCH /api/chapters/{chapterId}/deactivate
: Désactiver un chapitre.
Base de données utilisée
- PostgreSQL : Base de données relationnelle utilisée pour stocker les informations des niveaux, des matières et des chapitres.