Ceci est une ancienne révision du document !
Séance 1
Initialisation et structuration de projet
Sujet
API E-commerce - Architecture
Stack technique
- Spring Boot 3+
- Base de données : H2
- Build : Maven
- Tests : JUnit 5
- GitHub classRoom
Spécifications
Mise en place d'une API REST pour la gestion des utilisateurs, des produits et des commandes, utilisable dans le cadre d'une application web e-commerce générique.
End points
Users
POST /users - Créer un utilisateur
GET /users/{id} - Récupérer un utilisateur
GET /users/{id}/recommendations - Produits recommandés pour l'utilisateur
Products
POST /products - Créer un produit
GET /products/{id} - Récupérer un produit
PUT /products/{id}/stock - Mettre à jour le stock
GET /products - Lister les produits (avec filtres optionnels)
Orders
POST /orders - Créer une commande
GET /orders/{id} - Récupérer une commande
GET /users/{userId}/orders - Historique des commandes d'un user
Modèle de données
Données exemple
User
{
"id": 1,
"name": "John Doe",
"email": "john@example.com",
"preferredCategory": "ELECTRONICS"
}
Product
{
"id": 1,
"name": "iPhone 15",
"price": 999.99,
"stock": 50,
"category": "ELECTRONICS"
}
Order
{
"id": 1,
"userId": 1,
"items": [
{"productId": 1, "quantity": 2}
],
"totalAmount": 1999.98,
"status": "PENDING"
}