3.2 KiB
3.2 KiB
Boutique Click N Collect Sablé
Table of contents
Frameworks, Platforms and Libraries
Installation
cp .env.example .env
vi .env
composer install
php artisan storage:link
npm i
npm run prod
Tests
cp .env.example .env.testing
vi .env.testing
composer install
php artisan storage:link
composer run test
Deployment
php artisan schedule:run
Available Commands
php artisan ldcweb:admin-secure-sync
Créer un utilisateur :
php artisan create:admin
Changelog
See the CHANGELOG.md file for details.
Architecture
Ce projet suit les principes de l'Architecture Hexagonale (Ports et Adapteurs) et du Domain-Driven Design (DDD). L'objectif est d'isoler au maximum la logique métier de l'infrastructure (framework Laravel, base de données, requêtes réseau) pour avoir un code robuste, pérenne et facile à tester.
Règles d'Or (Verrouillées par les tests)
Afin de faciliter l'onboarding et d'assurer que l'architecture ne dérive pas, Pest Arch et PHPStan (Level 9) garantissent les principes suivants à chaque commit :
- Isolation totale du Domaine (Le Cœur) : Le code dans
domain/ne doit jamais dépendre du Framework (Illuminate\), deApp\, ou deInfrastructure\. Il ne dépend que de PHP natif. - Inversion des Dépendances : L'Application et l'Infrastructure dépendent du Domaine, et jamais l'inverse. Le domaine expose des
Ports(Interfaces) que l'infrastructure implémente via sesAdapters. - Entités et Objets-Valeurs Purs : Le domaine manipule ses propres Entités et
ValueObjectsvalidés et typés fortement. L'utilisation directe des modèles Eloquent est strictement interdite dans le domaine. - Conventions de Nommage : Chaque composant a une place et un suffixe stricts :
*Service,*Repository,*Exception,*Dto. Les tests échoueront si la convention n'est pas respectée.