eadl:bloc3:dev_av:td1

Ceci est une ancienne révision du document !


Séance 1

Initialisation et structuration de projet

API E-commerce - Architecture

  • Spring Boot 3+
  • Base de données : H2
  • Build : Maven
  • Tests : JUnit 5
  • GitHub classRoom

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

Domain ModelsUserUUID idString nameString emailProductUUID idString nameBigDecimal priceInteger stockCategoryUUID idString nameString descriptionOrderUUID idBigDecimal totalAmountOrderStatus statusLocalDateTime createdAtOrderItemUUID idInteger quantityBigDecimal unitPriceOrderStatusPENDINGCONFIRMEDSHIPPEDDELIVEREDCANCELLEDcontains11..*belongsTo0..*1references0..*1prefers0..*0..1belongsTo0..*1

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"
}

  • eadl/bloc3/dev_av/td1.1758038070.txt.gz
  • Dernière modification : il y a 18 heures
  • de jcheron