Table des matières
```dokuwiki id=“project-bootstrap-roadmap”
Passage du dossier d'architecture au socle de code
État actuel du projet
Le projet dispose désormais de tous les livrables d'architecture nécessaires :
- Cahier des charges fonctionnel
- Modèle de données PostgreSQL
- UML complet
- Architecture Hexagonale NestJS
- Architecture Frontend NextJS
- OpenAPI 3.1
- Backlog Agile
- UX/UI
- DevOps & Industrialisation
Le risque principal n'est plus un manque de documentation mais une divergence entre la documentation et le code.
Nouvelle stratégie
À partir de maintenant, la documentation doit devenir :
Documentation = générée depuis le code et non Code = généré depuis la documentation
L'objectif est donc de produire un socle de code unique qui devient la source de vérité.
Ordre réel de génération recommandé
Phase A : Fondation
Objectif :
Obtenir un projet exécutable en moins d'une journée.
Livrables :
- Monorepo
- Docker Compose
- PostgreSQL
- Redis
- NestJS
- NextJS
- Prisma
- CI/CD minimal
Résultat :
docker compose up ↓ Application accessible ↓ Connexion base PostgreSQL ↓ Swagger accessible ↓ NextJS accessible
Phase B : Modèle de données
Livrables :
- Prisma Schema
- Migrations
- Seed Data
- Factories
Résultat :
npx prisma migrate dev ↓ Base complète créée ↓ Données de démonstration injectées
Phase C : Backend
Livrables :
- Entités domaine
- DTO
- Use Cases
- Controllers
- Repositories
Modules prioritaires :
- Auth
- Users
- Properties
- Reservations
Résultat :
Premier backend fonctionnel.
Phase D : Frontend
Livrables :
- Design System
- Auth
- Recherche
- Fiche Bien
- Réservation
Résultat :
Premier parcours utilisateur complet.
Phase E : Production
Livrables :
- Kubernetes
- Monitoring
- Sauvegardes
- Sécurité
Résultat :
Version SaaS exploitable.
Monorepo cible
rental-platform/ ├── apps/ │ │ ├── frontend/ │ └── backend/ │ ├── packages/ │ │ ├── sdk/ │ ├── shared/ │ ├── ui/ │ └── config/ │ ├── deployment/ │ ├── docs/ │ └── scripts/
Livrable n°1
Monorepo
Le premier livrable réellement utile n'est pas Prisma ni OpenAPI.
C'est :
Monorepo complet + Docker Compose + NestJS + NextJS + Prisma
Pourquoi ?
Parce qu'il permet immédiatement :
- Démarrer le projet
- Créer les branches Git
- Développer en parallèle
- Valider les pipelines
- Déployer un environnement Dev
Livrable n°2
Prisma Schema
À partir du modèle PostgreSQL :
80 à 90 tables ↓ Prisma Schema ↓ Migrations ↓ Seed Data
Le schéma Prisma devient ensuite la référence des données.
Livrable n°3
OpenAPI réel
Le document OpenAPI produit précédemment sert désormais à générer :
DTO SDK Swagger Validation Tests
Mais il doit être généré depuis les contrôleurs NestJS.
Livrable n°4
Génération SDK
Source :
NestJS ↓ Swagger ↓ OpenAPI ↓ SDK Frontend
et non l'inverse.
Livrable n°5
Helm + Kubernetes
Uniquement lorsque :
- MVP terminé
- Tests validés
- Recette réalisée
Décision d'architecture
Pour ce projet, la pile recommandée est :
Frontend NextJS 15 TypeScript TanStack Query Tailwind shadcn/ui Backend NestJS Prisma PostgreSQL Redis Infra Docker GitHub Actions Kubernetes Monitoring Prometheus Grafana Loki
Ce qu'il reste réellement à produire
Les documents sont désormais suffisants.
Les artefacts techniques prioritaires sont :
| Priorité | Livrable |
|---|---|
| P1 | Monorepo |
| P1 | Docker Compose |
| P1 | Prisma Schema |
| P1 | NestJS Bootstrap |
| P1 | NextJS Bootstrap |
| P2 | CI/CD |
| P2 | SDK |
| P2 | Helm Charts |
| P3 | Terraform |
Recommandation finale
Le prochain livrable ne devrait plus être un document.
Le prochain livrable devrait être :
Repository initial complet avec - Monorepo - NextJS - NestJS - Prisma - PostgreSQL - Redis - Docker Compose - GitHub Actions
Ce livrable constitue le véritable point de départ du développement.
À partir de là, chaque sprint produira du code métier plutôt que de la documentation supplémentaire. ```