You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

9.5 KiB

🎯 Guide de Démarrage Rapide

Bienvenue dans le projet BricoLoc Architecture Evolution !


🚀 Démarrage Rapide (5 minutes)

Étape 1 : Vérifier les prérequis

# Node.js
node --version    # Doit être >= v20.x

# pnpm
pnpm --version    # Doit être >= 9.x

# Git
git --version     # Doit être >= 2.x

Pas installé ? → Suivre Setup WSL Guide

Étape 2 : Explorer la Documentation

Document Description Temps de Lecture
README.md Vue d'ensemble du projet 10 min
ARCHITECTURE.md Architecture détaillée 20 min
Cahier des Charges Spécifications complètes 15 min
Roadmap Planning 10 semaines 10 min
ADR Décisions architecturales 5 min / ADR

Étape 3 : Comprendre l'Architecture

┌─────────────────────────────────────────────────┐
│         Applications BricoLoc                   │
├─────────────────┬───────────────────────────────┤
│     LEGACY      │         MODERNE               │
│  Node.js/Express│   Next.js 14 + Supabase      │
│  Monolithe      │   Microservices Hybride      │
│  2013-2025      │   2025+                       │
└─────────────────┴───────────────────────────────┘

Objectif : Démontrer l'évolution d'une architecture monolithique vers une architecture microservices moderne.


📂 Structure du Projet

bricoloc-architecture-evolution/
│
├── apps/                           # Applications principales
│   ├── legacy/                     # Application Legacy (à créer)
│   └── moderne/                    # Application Moderne (à créer)
│
├── packages/                       # Packages partagés
│   ├── microservices/              # 6 microservices
│   │   ├── auth/
│   │   ├── catalogue/
│   │   ├── reservation/
│   │   ├── inventory/
│   │   ├── payment/
│   │   └── notification/
│   │
│   └── shared/                     # Code partagé
│       ├── types/
│       ├── ui/
│       ├── utils/
│       ├── di/                     # Dependency Injection
│       └── events/                 # Event Bus
│
├── docs/                           # Documentation complète ✅
│   ├── architecture/
│   │   ├── ADR/                    # Architecture Decision Records
│   │   └── c4-diagrams.md          # Diagrammes C4
│   ├── specifications/
│   │   └── cahier-des-charges.md
│   ├── guides/
│   │   ├── setup-wsl.md
│   │   └── git-workflow.md
│   └── roadmap.md
│
├── tools/                          # Outils et scripts
│
├── README.md                       # Vue d'ensemble ✅
├── ARCHITECTURE.md                 # Architecture détaillée ✅
├── CONTRIBUTING.md                 # Guide de contribution ✅
├── LICENSE                         # MIT License ✅
├── package.json                    # Scripts pnpm ✅
├── pnpm-workspace.yaml             # Configuration workspaces ✅
├── tsconfig.base.json              # TypeScript config ✅
└── eslint.config.mjs               # ESLint config ✅

Légende :

  • Déjà créé (Sprint 0 - Documentation)
  • 🔲 À créer (Sprints 1-5)

📖 Documentation Disponible

Architecture & Design

Fichier Contenu Statut
ARCHITECTURE.md Architecture microservices hybride, patterns SOLID
ADR-001 Mono-repo avec pnpm workspaces
ADR-002 Next.js 14 framework frontend
ADR-003 Supabase backend (PostgreSQL, Auth, Realtime)
ADR-004 Architecture microservices (6 services)
ADR-005 Patterns (Repository, Service Layer, DI, Factory, Observer)
C4 Diagrams Diagrammes Context, Container, Component (Mermaid)

Guides Pratiques

Fichier Contenu Statut
setup-wsl.md Installation Node.js, pnpm, Git, VS Code, Supabase
git-workflow.md Git Flow, branches, commits, PR process
CONTRIBUTING.md Standards de code, tests, documentation

Planning & Spécifications

Fichier Contenu Statut
roadmap.md 10 semaines, 5 sprints, 215h estimé, User Stories
cahier-des-charges.md Contexte, objectifs, contraintes, livrables

🎯 Prochaines Étapes

Sprint 0 : Fondations (Semaines 1-2) - EN COURS

Semaine 1 : Documentation (TERMINÉE)

  • Structurer le mono-repo
  • Rédiger README.md et ARCHITECTURE.md
  • Créer Cahier des Charges
  • Rédiger 5 ADR
  • Créer diagrammes C4
  • Créer Roadmap détaillée
  • Initialiser Git (commit initial)

🔲 Semaine 2 : Setup Technique (À FAIRE)

  • 🔲 Installer dépendances (pnpm install)
  • 🔲 Créer structure apps/legacy/
  • 🔲 Créer structure apps/moderne/
  • 🔲 Setup Supabase (projet + tables)
  • 🔲 Configuration CI/CD (GitHub Actions)
  • 🔲 Premier déploiement test

Commandes :

# 1. Installer les dépendances
pnpm install

# 2. Créer la structure apps/
mkdir -p apps/legacy apps/moderne

# 3. Setup Supabase
# → Aller sur supabase.com et créer un projet

# 4. Commit
git add .
git commit -m "chore: setup project structure and dependencies"

💡 Conseils Importants

Pour Démarrer

  1. Lire d'abord : README.md → ARCHITECTURE.md → Roadmap
  2. Comprendre l'objectif : C'est un projet d'architecture, pas juste de développement
  3. Documentation first : La doc est aussi importante que le code
  4. Architecture patterns : Focus sur Repository, Service Layer, DI, Event Bus

Pendant le Développement

  • Commits fréquents : Toutes les 30min - 2h
  • Tests avant push : pnpm lint, pnpm type-check, pnpm test
  • Branches feature : feature/nom-descriptif
  • Pull Requests : Même si seul, pour traçabilité
  • ADR : Documenter chaque décision architecturale importante

Ressources Utiles


🤝 Contribution

Si vous travaillez en équipe ou souhaitez contribuer :

  1. Lire CONTRIBUTING.md
  2. Suivre Git Workflow
  3. Respecter les standards de code (ESLint, Prettier, TypeScript strict)

📊 État d'Avancement

Sprint 0 (Fondations) : 50% Terminé

Tâche Statut Responsable
Documentation Architecture Terminée -
ADR (5 documents) Terminée -
Diagrammes C4 Terminée -
Roadmap Terminée -
Guides (Setup, Git) Terminée -
Configuration tooling Terminée -
Setup technique 🔲 À faire -
Structure apps/ 🔲 À faire -
Supabase setup 🔲 À faire -

Prochains Sprints

  • Sprint 1 (Semaines 3-4) : Application Legacy
  • Sprint 2 (Semaines 5-6) : Foundation Moderne
  • Sprint 3 (Semaines 7-8) : Catalogue & Inventory
  • Sprint 4 (Semaine 9) : Reservation & Payment
  • Sprint 5 (Semaine 10) : Finitions & Présentation

🎓 Compétences Démontrées

Architecture Logicielle

  • Décomposition en microservices
  • Clean Architecture (DDD)
  • Event-Driven Architecture
  • API Gateway / BFF Pattern

Design Patterns

  • Repository Pattern
  • Service Layer Pattern
  • Dependency Injection
  • Factory Pattern
  • Observer Pattern

Principes SOLID

  • Single Responsibility
  • Open/Closed
  • Liskov Substitution
  • Interface Segregation
  • Dependency Inversion

📞 Support

  • Documentation : Dossier docs/
  • Issues : GitHub Issues (si repo public)
  • Questions : Voir CONTRIBUTING.md

Dernière mise à jour : Octobre 2025
Auteur : MAALSI Architecture Project
License : MIT


🚀 Commandes Rapides

# Installer les dépendances
pnpm install

# Développement Legacy
pnpm dev:legacy

# Développement Moderne
pnpm dev:moderne

# Les deux en parallèle
pnpm dev:all

# Build
pnpm build:all

# Tests
pnpm test

# Linting
pnpm lint

# Format code
pnpm format

Prêt à commencer ? → Lire README.md puis ARCHITECTURE.md

Bon développement ! 🎉