63 lines
2 KiB
Markdown
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.
|