expria-frontend/README.md

63 lines
2 KiB
Markdown

# Expria Frontend
Frontend SaaS pour la préparation au TCF Canada. SPA React + Vite, déploiement Cloudflare Pages.
## Stack
React 19 · Vite 8 · TypeScript 6 · Tailwind 4 · React Router 7 · TanStack Query 5 · Supabase Auth · Vitest.
Détails et versions : [`docs/adr/006-stack-versions-2026.md`](docs/adr/006-stack-versions-2026.md).
## Prérequis
- Node.js 22 LTS
- npm 10+
## Installation
```bash
npm install
cp .env.example .env
# Remplir .env avec tes valeurs Supabase + URL backend
```
## Commandes
| Commande | Rôle |
|---|---|
| `npm run dev` | Lance le serveur de dev Vite (HMR) |
| `npm run build` | Build de production |
| `npm run typecheck` | `tsc --noEmit` |
| `npm run lint` | ESLint |
| `npm run test` | Vitest (run unique) |
| `npm run test:watch` | Vitest (watch mode) |
| `npm run format` | Formate tout via Prettier |
| `npm run format:check` | Vérifie le formatage sans écrire |
## Variables d'environnement
Voir [`.env.example`](.env.example). Le démarrage échoue avec un message clair si une variable requise manque (validation Zod dans `src/shared/config/env.ts`).
## Structure du code
Voir [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) §3.
Architecture FSD : `app/` (entry) · `entities/` (métier) · `features/` (UI) · `shared/` (code réutilisable).
## Documentation
| Document | Contenu |
|---|---|
| [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) | Architecture complète, flux, codes d'erreur |
| [`docs/DEVELOPMENT_PRINCIPLES.md`](docs/DEVELOPMENT_PRINCIPLES.md) | Règles de dev, conventions, workflow |
| [`docs/ONBOARDING.md`](docs/ONBOARDING.md) | Guide dev (démarrage, outils) |
| [`docs/SECURITY.md`](docs/SECURITY.md) | Patterns sécurité + trous identifiés |
| [`docs/adr/`](docs/adr/) | Architecture Decision Records |
## CI
GitHub Actions : `lint`, `format:check`, `typecheck`, `test`, `npm audit --audit-level=high`. Voir [`.github/workflows/ci.yml`](.github/workflows/ci.yml).
## Licence
Propriétaire — Expria.