Setup environnement de développement
Pré-requis
| Outil | Version minimale |
|---|---|
| Node.js | 22.x |
| npm | 10.x |
| PostgreSQL | 16 (local ou Docker) |
| Git | — |
Installation
1. Cloner et installer les dépendances
git clone <url-du-repo> patrimo
cd patrimo
npm install
2. Configurer les variables d'environnement
cp .env.example .env.local
Renseignez au minimum DATABASE_URL et AUTH_SECRET (voir Variables d'environnement).
# Générer AUTH_SECRET
npm run generate-secret
3. Appliquer le schéma Prisma
npm run db:migrate # crée/met à jour la DB en dev
# ou, plus rapide en dev initial :
npx prisma db push # synchronise sans migration versionnée
4. Lancer le serveur de développement
npm run dev # → http://localhost:4000
Commandes utiles
| Commande | Action |
|---|---|
npm run dev | Serveur Next.js en hot-reload (port 4000) |
npm test | Jest unit tests |
npm run test:watch | Jest en mode watch |
npm run test:coverage | Jest avec rapport de couverture |
npm run test:e2e | Playwright E2E |
npm run test:e2e:ui | Playwright avec UI interactive |
npm run type-check | TypeScript tsc --noEmit |
npm run db:migrate | Prisma migrate dev |
npm run db:studio | Prisma Studio (GUI base de données) |
npm run db:reset | Reset complet de la base (⚠️ destructif) |
npm run docs:dev | Site de doc Docusaurus en hot-reload |
npm run docs:build | Build statique de la doc |
npm run hash-password <pwd> | Générer un hash bcrypt |
npm run generate-secret | Générer une clé AUTH_SECRET |
Avec Docker Compose (alternative)
Si vous préférez ne pas installer PostgreSQL localement :
cp .env.example .env
# éditer POSTGRES_PASSWORD et AUTH_SECRET
docker compose up
L'app tourne sur http://localhost:4000 avec hot-reload sur le code source monté en volume.
Lancer les tests E2E
# Seeder l'utilisateur de test
npm run seed:test
# Lancer Playwright
npm run test:e2e
Les E2E utilisent TEST_USER_EMAIL=admin@patrimo.local / TEST_USER_PASSWORD=admin.