Ma librairie
Application React (Vite) : livres enregistrés localement (équivalent métier POST /api/books), React Router, useContext, Axios (Open Library).
Il s'agit d'une application de gestion d'une librairie en ligne (pour un max de $$$).
Ce qu’on a rajouté (branche Patrick_commande_promo, tout en français courant)
En gros : on a continué sans brancher aucun backend du cours. Les “POST” sont simulés dans le navigateur avec du React (Context) et du localStorage.
- Commande (
/commande) : tu choisis des livres avec une quantité, tu peux entrer un code promo si tu en as créé une, et tu passes la commande. Ça revient métier à unPOST /api/orders, sauf que tout est enregistré localement sous la clélibrairie-orders. - Promotions (
/promotions) : tu crées des codes promo (pour l’instant c’est une remise en %), tu peux les activer / désactiver / supprimer. C’est le pendant local d’unPOST /api/promotions, stocké souslibrairie-promotions. - Prix des livres : chaque livre a un champ prix (€) (formulaire, fiche détail, liste ; les anciens livres sans prix prennent 10 € par défaut). Les résultats ajoutés depuis Open Library partent aussi sur un prix par défaut.
- Navigation : dans le menu en haut, liens vers Commande et Promotions à côté de Mes livres / Recherche.
Les données déjà là (librairie-books pour le catalogue, etc.) ne changent pas de principe : tout reste dans ton navigateur, pas sur le serveur du projet BUT.
Les membres du projet
Marvin Aubert, Maxime Lebreton et Patrick Felix-Vimalaratnam
Comment installer le projet
À la racine du dépôt :
npm install
Cette commande installe les dépendances listées dans package.json (React, Vite, React Router, Axios, etc.).
Comment lancer le projet
Mode développement (rechargement à chaud, URL affichée dans le terminal) :
npm run dev
Ouvre ensuite l’adresse indiquée (souvent http://localhost:5173).
Prévisualiser le build de production (après npm run build) :
npm run preview
Comment tester le projet
Vérifications automatisées (lint) :
npm run lint
Build de production (vérifie que le projet compile) :
npm run build
Tests manuels dans le navigateur (après npm run dev) :
- Mes livres (
/) : enregistrer un nouveau livre (libellés +POST /api/bookscôté UI), supprimer, filtrer (Tous / Lus / À lire), rechercher dans la liste. - Fiche livre : cliquer sur le titre d’un livre ou aller sur
/<id>; vérifier lu / non lu et suppression avec retour à Mes livres. - Recherche (
/recherche) : recherche Open Library (Internet), enregistrer un résultat (même logique quePOST /api/booksen local), puis vérifier qu’il apparaît sous Mes livres. - Promotions (
/promotions) : créer un code promo (ex.BUT10avec −10 %), puis vérifier que tu peux le désactiver / le réactiver / le supprimer. - 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).