Outils pour utilisateurs

Outils du site


ujusum:1-projet:13-socle-code

```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. ```

ujusum/1-projet/13-socle-code.txt · Dernière modification : 2026/06/06 03:07 de 91.170.108.99

DokuWiki Appliance - Powered by TurnKey Linux