Skip to content

Développez une API REST avec Node, Express et MongoDB pour gérer un catalogue de produits. Une interface frontend testera automatiquement vos routes et affichera un mot secret si tout est correct.

Notifications You must be signed in to change notification settings

ValentinMadiot/CRUD-test-1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation


🛒 CRUD Test 1   –   Projet Scolaire


📌 Sommaire

    🎨   Introduction
    ⚙️   Technologies
    🎯   Fonctionnalités
    🧱   Schéma & Routes
    🚀   Installation
    🧪   Utilisation & Tests

Ce projet est un exercice Fullstack conçu pour tester la maîtrise des opérations CRUD à travers la création d’une API REST.

Il permet la gestion d’un catalogue de produits à l’aide de Node.js, Express et MongoDB, via un backend structuré.

Une interface frontend intégrée permet de tester automatiquement les routes et d’obtenir un mot secret une fois tous les tests réussis.

  • Backend : Node.js, Express
  • Base de données : MongoDB (Mongoose)
  • Langage : JavaScript
  • Création de produit
  • Lecture d’un ou plusieurs produits
  • Mise à jour d’un produit
  • Suppression d’un produit
  • API REST conforme aux spécifications des tests automatiques

🔧 Schéma Mongoose attendu

mongoose.Schema({
  name: { type: String, required: true },
  description: { type: String, required: true },
  price: { type: Number, required: true },
  inStock: { type: Boolean, required: true },
});

🔌 Endpoints requis

  • GET /api/products
    Retourne tous les produits sous la forme :

    { "products": [ ... ] }
  • GET /api/products/:id
    Retourne le produit correspondant à l’ID :

    { "product": { ... } }
  • POST /api/products
    Corps de requête attendu :

    {
      "name": "Nom",
      "description": "Description",
      "price": 99.99,
      "inStock": true
    }

    Retourne le produit nouvellement créé (avec _id) :

    { "product": { ... } }
  • PUT /api/products/:id
    Met à jour un produit existant.
    Corps attendu :

    {
      "name": "Nom",
      "description": "Description modifiée",
      "price": 120.0,
      "inStock": false
    }

    Réponse :

    { "message": "Modified!" }
  • DELETE /api/products/:id
    Supprime le produit correspondant à l’ID.
    Réponse :

    { "message": "Deleted!" }

✅ Prérequis

  • Git  —  Système de gestion de versions
  • Node.js  —  Exécuteur local de scripts JavaScript
  • npm  —  Gestionnaire de paquets JavaScript
  • MongoDB — Base de données NoSQL
  • Google Chrome  —  Navigateur moderne
  • Visual Studio Code  —  Éditeur de code

📥 Cloner le projet

git clone https://github.com/ValentinMadiot/CRUD-Test-1
cd CRUD-Test-1

🔧 Configuration de l'environnement

Renommer .env.exemple en .env

Ajoutez les variables d’environnement dans le fichier .env :

# IDENTIFIANT BASE DE DONNEES (MongoDB)
MONGODB_URI=mongodb+srv://<username>:<password>@cluster0.mongodb.net/myDatabase?retryWrites=true&w=majority

▶️ Lancer le projet

Backend

cd backend
npm install
npm start

Backend disponible sur : http://localhost:8080

Frontend

cd frontend
npm install
npm start

Frontend disponible sur : http://localhost:8081

  1. Lancez votre serveur API avec npm start dans le dossier backend
  2. Lancez l'application frontend avec npm start dans le dossier frontend
  3. Indiquez le port utilisé par votre API (par défaut : 8080)
  4. Cliquez sur TEST ROUTES pour démarrer la vérification
  5. Tous les tests doivent réussir pour révéler le mot secret

About

Développez une API REST avec Node, Express et MongoDB pour gérer un catalogue de produits. Une interface frontend testera automatiquement vos routes et affichera un mot secret si tout est correct.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published