Files
2026-DEV-BUT3/README.md
T
2026-05-03 11:27:56 +02:00

67 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Ma librairie
Application React (Vite) : livres enregistrés localement (équivalent métier `POST /api/books`), React Router, `useContext`, Axios (Open Library).
## Ce quon 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 à un `POST /api/orders`, sauf que tout est enregistré localement sous la clé `librairie-orders`.
- **Promotions** (`/promotions`) : tu crées des codes promo (pour linstant cest une remise en %), tu peux les activer / désactiver / supprimer. Cest le pendant local dun `POST /api/promotions`, stocké sous `librairie-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 :
```bash
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) :
```bash
npm run dev
```
Ouvre ensuite ladresse indiquée (souvent `http://localhost:5173`).
**Prévisualiser le build de production** (après `npm run build`) :
```bash
npm run preview
```
## Comment tester le projet
**Vérifications automatisées (lint)** :
```bash
npm run lint
```
**Build de production** (vérifie que le projet compile) :
```bash
npm run build
```
**Tests manuels dans le navigateur** (après `npm run dev`) :
1. **Mes livres** (`/`) : enregistrer un nouveau livre (libellés + `POST /api/books` côté UI), supprimer, filtrer (Tous / Lus / À lire), rechercher dans la liste.
2. **Fiche livre** : cliquer sur le titre dun livre ou aller sur `/<id>` ; vérifier lu / non lu et suppression avec retour à **Mes livres**.
3. **Recherche** (`/recherche`) : recherche Open Library (Internet), enregistrer un résultat (même logique que `POST /api/books` en local), puis vérifier quil apparaît sous **Mes livres**.
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).