Ajout fidelite_abo_pret_commande_groupe

This commit is contained in:
Aubert Marvin
2026-05-10 12:44:52 +02:00
parent d1f880cfbb
commit f80dfdcdb5
16 changed files with 1172 additions and 7 deletions
+14
View File
@@ -22,6 +22,16 @@ Même logique que la branche dau-dessus : **pas de backend** du projet, on si
Les données qui tournaient déjà (`librairie-books` pour le catalogue, puis `librairie-orders` et `librairie-promotions` si tu viens de lautre branche) : **toujours zéro serveur**, tout est chez toi dans le navigateur, pas sur linfra du cours.
## Ce quon a rajouté (branche Marvin_fidelite_abo_pret_commande_groupe, tout en français courant)
Encore une fois : **aucun backend du sujet**, pas dURL dAPI cours, rien. On refait les 4 bouts manquants du PDF en **Context + `localStorage`**, comme un faux `GET` / `POST` qui ne sort jamais du navigateur.
- **Points de fidélité** (`GET /api/users/:id/loyalty-points`, en local) : page **Fidélité** (`/fidelite`). Un pseudo-utilisateur fixe `local-user`, solde + petit historique dans **`librairie-loyalty`**. À chaque commande validée, on crédite des points (démo automatique depuis la page Commande).
- **Abonnement** (`POST /api/subscriptions`) : page **Abo** (`/abonnement`), formules mensuelle / annuelle factices, tout est dans **`librairie-subscriptions`** (pas de vrai paiement).
- **Prêt entre lecteurs** (`POST /api/books/:id/loans`) : sur une fiche livre, bloc **Prêter** + page **Prêts** (`/prets`) pour clôturer avec **Livre rendu**. **`librairie-loans`**. Si le livre est déjà **réservé** côté biblio fictive, on bloque pour pas mélanger les délires.
- **Commande groupée** (`POST /api/groups/:id/orders`) : **Groupes** (`/groupes`) pour créer une coloc de commande, puis détail **`/groupes/:id-du-groupe`** où chacune et chacun poste pseudo + montant € + petite note → tout est dans **`librairie-groups-v1`** sur une seule clé locale (liste groupes + lignes participants).
- **Navigation** : raccourcis **Fidélité**, **Abo**, **Prêts**, **Groupes** dans la barre du haut avec le reste.
## Les membres du projet
Marvin Aubert, Maxime Lebreton et Patrick Felix-Vimalaratnam
@@ -74,3 +84,7 @@ npm run build
4. **Promotions** (`/promotions`) : créer un code promo (ex. `BUT10` avec 10 %), puis vérifier que tu peux le désactiver / le réactiver / le supprimer.
5. **Commande** (`/commande`) : mettre au moins un livre avec une quantité strictement positive, tester sans promo puis avec le code créé avant ; passer la commande et vérifier le message + que le sous-total, la remise et le total sont cohérents (toujours en local).
6. **Retours** (`/retours`) : après une réservation, vérifier que le livre apparaît puis **Enregistrer le retour** ; vérifier lhistorique et que tu peux de nouveau réserver le même titre.
7. **Fidélité** (`/fidelite`) : noter le solde avant / après avoir passé une **commande** ; vérifier que des points ont été ajoutés (local).
8. **Abo** (`/abonnement`) : souscrire à une formule puis résilier (local).
9. **Prêt** (`/<id>` + `/prets`) : prêter un livre puis le marquer **rendu** sur la liste des prêts.
10. **Groupes** (`/groupes` puis lien vers un groupe) : créer un groupe et ajouter plusieurs participations fictives avec montants différents, vérifier le total agrégé.