README - API RESTful pour la gestion des tâches
Ce projet consiste en une API RESTful qui génère les id de façon automatique permettant de gérer des tâches, utilisant Node.js, Express, et MongoDB pour le stockage des données.
Prérequis Avant de commencer, j’ai d’abord installé les éléments suivants sur ma machine : • Télécharger Node.js (la version LTS recommandée) • Télécharger aussi MongoDB (ou utiliser MongoDB Atlas pour une base de données cloud)
Configuration
- Les configurations de Node.js existe déjà sur mon pc
- J’ai démarré MongoDB localement puisque j’ai téléchargé l’application
- J’ai installé les dépendances de Mongo (npm install mongoose -save / mongo)
Utilisation
- J’ai lancé le serveur en exécutant la commande suivante (nodemon index)
- L'API est disponible à l'adresse http://localhost:3000.
- Le serveur est disponible à l’adresse mongodb://localhost:27017/taskDB
Dans ce projet, j’ai d’abord commencé par mettre en place un modèle. Mongoose est une bibliothèque ODM (Object Data Modeling) pour Node.js qui facilite l’interaction avec MongoDB.
Modèle Mongoose Le modèle Task est défini dans le fichier blog.js et possède les champs suivants : • nom : (String, obligatoire, converti en majuscule). • description : (String, obligatoire).
Routes API
-
Créer une nouvelle tâche POST /task • Permet de créer une nouvelle tâche. • Le corps de la requête doit contenir les informations de la tâche (en format JSON).
-
Récupérer toutes les tâches GET /task • Permet de récupérer toutes les tâches enregistrées dans la base de données.
-
Récupérer une tâche par son ID GET /task/:id • Permet de récupérer une tâche spécifique en utilisant son ID.
-
Mettre à jour une tâche PATCH /task/:id • Permet de mettre à jour une tâche existante en utilisant son ID. • Le corps de la requête doit contenir les nouveaux détails de la tâche.
-
Supprimer une tâche DELETE /task/:id • Permet de supprimer une tâche en utilisant son ID.
-
Accueil de l'API GET / • Permet de vérifier que le serveur fonctionne correctement.
Technologies utilisées • Node.js : Environnement d'exécution JavaScript côté serveur. • Express : Framework minimaliste pour gérer les routes HTTP. • MongoDB : Base de données NoSQL pour stocker les tâches. • Mongoose : ODM (Object Data Modeling) pour MongoDB, utilisé pour interagir avec la base de données.
Structure du projet
- index.js :Fichier principal de l'application Express
- blog.js :Modèle Mongoose pour les tâches
- node_modules/ :Dépendances Node.js
- package.json :Gestionnaire de dépendances et scripts