You are on page 1of 3

Introduction Node.

JS : NPM - Module
HTTP - Création du serveur

Exercice :
Vous allez développer une micro application d'e-commerce backend en Node.js. Cette
application prendra les modules suivants : Utilisateurs, Produits, Commande et Panier. Chaque
module aura ses propres attributs et fonctionnalités.

Structure de l'Application :

1. Modules :
- Utilisateur (`user.js`) :
- Attributs : id, nom, email, mot de passe, adresse.
- Fonctionnalités : Créer un utilisateur, récupérer les informations d'un utilisateur.
- Produit (`product.js`) :
- Attributs : id, titre, description, prix, quantité en stock, sku.
- Fonctionnalités : Ajouter un produit, mettre à jour les informations du produit, supprimer un
produit.
- Commande (`order.js`) :
- Attributs : id, idUtilisateur, listeProduits (array de produits avec quantité), dateCommande,
statut, prix total.
- Fonctionnalités : Créer une commande, mettre à jour le statut de la commande, supprimer
la commande, calculer le prix total.
- Panier (`cart.js`) :
- Attributs : id, idUtilisateur, produits (array de produits avec quantité), prix total.
- Fonctionnalités : Ajouter au panier, retirer du panier, calculer le total.

2. Serveur HTTP (`server.js`) :


- Création d'un serveur HTTP.
- Routage pour gérer les requêtes liées aux utilisateurs, produits, commandes, et paniers.
- Utilisation de JSON pour l'échange de données.

Les tâches :

1. Création des Modules :


- Pour chaque module (`user.js`, `product.js`, `order.js`, `cart.js`), créez un fichier
correspondant.
- Définissez les attributs et les fonctions de base.
- Utilisez `module.exports` pour exporter les fonctions.

2. Initialisation du Serveur (`server.js`) :


- Importez les modules créés.
- Initialisez un serveur HTTP.
- Définissez des routes pour gérer les différentes actions (par exemple, `/api/users` pour les
utilisateurs).

3. Création des Routes :


- Pour chaque entité (utilisateur, produit, commande, panier), créez des routes pour les
actions CRUD (Create, Read, Update, Delete).
- Assurez-vous que les routes acceptent et renvoient des données au format JSON.

4. Traitement des Données :


- Dans chaque route, intégrez la logique pour traiter les requêtes (par exemple, créer un
nouvel utilisateur, ajouter un produit au panier).

Consignes Complémentaires

- Assurez-vous que chaque fonction de module gère les données de manière appropriée,
simulant une base de données (vous pouvez utiliser des arrays pour stocker les données
temporairement).
- Gérez les erreurs potentielles et renvoyez des réponses appropriées au client.
- Testez votre application en utilisant un outil comme Postman ou curl pour faire des requêtes
HTTP.

Cet exercice vous aidera à comprendre le fonctionnement interne d'une application back-end
Node.js, la gestion de modules distincts, et la création d'un serveur HTTP pour traiter des
requêtes diverses.

You might also like