🪚 L'Atelier du Bois : Documentation Technique
Bienvenue sur la documentation centrale de L'Atelier du Bois, un écosystème e-commerce conçu comme un laboratoire d'excellence technique autour de Symfony 7.3.
🎯 Vision du Projet
L'Atelier du Bois n'est pas seulement une boutique en ligne fictive. C'est un terrain d'application pour des standards de conception robustes, visant à démontrer qu'une architecture propre permet de limiter la dette technique tout en facilitant l'évolution métier (logistique, stocks, multi-transporteurs).
Les piliers du projet :
- Isolation stricte : Séparation des couches (DTO, Mappers, Managers, Services).
- Sécurité granulaire : Utilisation des Voters pour dépasser la simple hiérarchie de rôles.
- Observabilité & Qualité : API documentée (OpenAPI/Swagger) et couverture de tests automatisés.
🗺️ Guide de Lecture
Pour naviguer dans cet écosystème, voici les sections clés :
🏛️ Architecture Backend
Découvrez comment la donnée transite des RequestMappers jusqu'aux Managers et comment les DTOs assurent un contrat d'interface stable.
🔐 Sécurité & Access Control
Le détail de l'implémentation du JWT et la logique métier derrière les Voters (segmentation Customer / Interne / Admin).
🐳 Guides d'installation
Les guides pour lancer le projet en local.
📝 Journal de Bord (Devlogs)
L'historique de la conception, des premiers choix d'architecture jusqu'aux problématiques complexes de normalisation de données (unaccent) et de logistique.
🛠️ Stack Technique
| Composant | Technologie |
|---|---|
| Langage | PHP 8.4 (Typage strict) |
| Framework | Symfony 7.3 |
| Base de données | PostgreSQL 16 (Extension unaccent) |
| Documentation API | NelmioApiDoc (Swagger/OpenAPI) |
| Sécurité | LexikJWTAuthenticationBundle + Symfony Voters |
| Conteneurisation | Docker & Docker-Compose |
[!TIP] Le saviez-vous ? La logique de répartition des colis (Shipments) prend en compte le poids et le volume des articles pour proposer une preview de colisage avant même la validation de la commande.
👉 Accéder au Repo GitHub Backend | 👉 Accéder au Repo GitHub Frontend