- Florian AIME
- Thibault CANAVAGGIO
Bienvenue dans la partie backend du projet de gestion des devoirs. Ce backend a été développé dans le cadre du Master 1 MIAGE par Florian AIME et Thibault CANAVAGGIO.
Le projet vise à fournir une solution robuste pour la gestion des devoirs. Il inclut un backend API qui permet d'effectuer des opérations CRUD (Create, Read, Update, Delete) sur les données des devoirs, stockées dans une base de données MongoDB.
- Les opérations CRUD (Create, Read, Update, Delete) sont disponibles pour la gestion des devoirs.
- Les opérations de lecture (Read), uniquement sont disponibles.
L'architecture de la base de données MongoDB comporte deux collections : assignments et teachers (en test actuellement).
Voici une description de chacune d'elles :
La collection assignments stocke les informations relatives aux devoirs. Chaque document dans cette collection représente un devoir spécifique et suit un schéma similaire à l'exemple ci-dessous :
{
"id": 1,
"nom": "Devoir angular",
"dateDeRendu": {"$date": "2024-01-28T23:59:59.000Z"},
"matiere_id": 2,
"enseignant_id": 1,
"note": 19,
"auteur_id": 1,
"comment": "Très bien !",
"rendu": true
}id: Identifiant unique du devoir.nom: Nom du devoir.dateDeRendu: Date de rendu du devoir au format ISO 8601.matiere_id: Identifiant de la matière associée au devoir.enseignant_id: Identifiant de l'enseignant responsable du devoir.note: Note attribuée au devoir.auteur_id: Identifiant de l'auteur (étudiant) du devoir.comment: Commentaire associé au devoir.rendu: Indique si le devoir a été rendu ou non.
La collection teachers stocke les informations relatives aux enseignants. Chaque document dans cette collection représente un enseignant spécifique et suit un schéma similaire à l'exemple ci-dessous :
{
"id": 1,
"nom": "BUFFA",
"prenom": "Michel",
"image_id": 1
}id: Identifiant unique de l'enseignant.nom: Nom de l'enseignant.prenom: Prénom de l'enseignant.image_id: Identifiant de l'image associée à l'enseignant (l'image est stocké sur le disque).
Le backend est accessible à l'adresse suivante : https://assignment-back-c0dfe7c8382c.herokuapp.com/api/assignments
- Node.js: Plateforme d'exécution pour le backend.
- Express.js: Framework web pour Node.js, utilisé pour la gestion des routes et des requêtes HTTP.
- MongoDB: Base de données NoSQL utilisée pour stocker les données des devoirs.
- URL:
GET /api/assignments - Description: Récupère la liste complète des devoirs.
- Paramètres de requête: Aucun.
- URL:
GET /api/assignments/:id - Description: Récupère un devoir spécifique en fonction de son ID.
- Paramètres de requête:
id- ID du devoir.
- URL:
POST /api/assignments - Description: Ajoute un nouveau devoir à la base de données.
- Paramètres de requête: Les détails du devoir à ajouter dans le corps de la requête au format JSON.
- URL:
PUT /api/assignments - Description: Met à jour les détails d'un devoir existant.
- Paramètres de requête: Les détails mis à jour du devoir dans le corps de la requête au format JSON.
- URL:
DELETE /api/assignments/:id - Description: Supprime un devoir spécifique en fonction de son ID.
- Paramètres de requête:
id- ID du devoir à supprimer.
- URL:
POST /api/peuplerbdd - Description: Peuple la base de données avec des données de devoirs par défaut.
- Paramètres de requête: Aucun.
- URL:
GET /api/teacher - Description: Récupère la liste complète des enseignants.
- Paramètres de requête: Aucun.
- URL:
GET /api/peuplerbdd-teacher - Description: Peuple la base de données des enseignants avec des données par défaut.
- Paramètres de requête: Aucun.
Mettre en place la gestion des enseignants, étudiants et matières sur la base de données
- Clonez le projet depuis le repository.
- Assurez-vous d'avoir Node.js installé.
- Installez les dépendances avec la commande
npm install. - Lancez le backend avec la commande
npm start. - Le backend sera accessible à l'adresse
http://localhost:8010/.
Pour tout problème, n'hésitez pas à nous contacter :
- Florian : LinkedIn / [email protected]
- Thibault : [email protected]