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
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
- Lire d'abord : README.md → ARCHITECTURE.md → Roadmap
- Comprendre l'objectif : C'est un projet d'architecture, pas juste de développement
- Documentation first : La doc est aussi importante que le code
- 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
- Clean Architecture : https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
- Microservices Patterns : https://microservices.io/
- DDD : https://martinfowler.com/bliki/DomainDrivenDesign.html
- SOLID : https://www.digitalocean.com/community/conceptual_articles/s-o-l-i-d-the-first-five-principles-of-object-oriented-design
🤝 Contribution
Si vous travaillez en équipe ou souhaitez contribuer :
- Lire CONTRIBUTING.md
- Suivre Git Workflow
- 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 ! 🎉