docs: rewrite README with architecture, Docker and GDPR info

This commit is contained in:
devcodetools committed 2026-09-13 18:35:22 +02:00
1 parent 7655cb5b69
commit f82a299877
1 file changed
+53 -5
+53 -5
View File
@@ -1,10 +1,32 @@
# new
# Notes — Application web SPA PWA
Application web SPA PWA (React + TypeScript + Tailwind CSS + Vite).
Application de prise de notes personnelle, installable et utilisable hors connexion.
Les données restent dans le **localStorage** du navigateur : aucune donnée n'est partagée ni transmise à un serveur externe.
## Fonctionnalités
- Créer, lire, modifier et supprimer des notes
- Stockage local (localStorage) — données 100 % privées
- Modale RGPD accessible depuis le bouton **?** dans le header
- Modale de confirmation avant suppression
- PWA installable avec service worker (hors connexion)
- Design responsive mobile-first (Tailwind CSS)
- Protection des routes inconnues (page d'erreur 404)
## Stack technique
| Technologie | Rôle |
| --- | --- |
| React 19 + TypeScript | UI |
| Vite 8 | Build tool |
| Tailwind CSS 4 | Style |
| Vitest | Tests unitaires |
| vite-plugin-pwa | Service worker + manifest |
| nginx | Serveur de production (Docker) |
## Prérequis
- Node.js >= 20.19.0 (ou >= 22.12.0)
- Node.js >= 20.19.0
- pnpm >= 9
## Installation
@@ -28,9 +50,35 @@ pnpm install
| `pnpm typecheck` | Vérification TypeScript |
| `pnpm check` | Chaîne qualité : lint → format → typecheck → tests → coverage |
## Environnement
## Docker
Copiez `.env.example` vers `.env` pour définir les variables (préfixe `VITE_`).
```bash
docker build -t notes .
docker run -p 8080:80 notes
```
L'app sera accessible sur http://localhost:8080.
## Architecture
```
src/
├── components/ # Composants React (UI)
│ ├── ErrorPage # Page d'erreur 404
│ ├── FloatingButton # Bouton d'ajout de note
│ ├── DeleteModal # Modale de confirmation suppression
│ ├── NoteEditor # Formulaire de création/édition
│ ├── NoteList # Liste des notes
│ ├── NoteReadView # Vue lecture d'une note
│ └── RgpdInfo # Modal RGPD (informations données)
├── hooks/ # Hook personnalisé useNotes
├── interfaces/ # Types des props (typeScript)
├── lib/ # Logique métier (validation, stockage)
├── types/ # Types shared (Note, NotePatch)
├── App.tsx # Composant racine
├── main.tsx # Point d'entrée
└── style.css # Tailwind + styles globaux
```
## Licence