Vue d'ensemble de l'architecture
Le projet est un monorepo Laravel modulaire hébergeant plusieurs applications métier internes sur des sous-domaines distincts.
Architecture modulaire
Les modules représentent des domaines fonctionnels ou des zones de plateforme partagées. Chaque module est un package Laravel autonome géré par nwidart/laravel-modules.
Services
Les Services contiennent la logique métier qui n'appartient ni aux contrôleurs, ni aux modèles, ni aux vues.
Routage
Les routes sont la propriété du module et doivent être groupées par middleware, prefix et nom.
Middleware
Le middleware gère les préoccupations transversales des requêtes.
Événements et Listeners
Utiliser les événements pour les changements de domaine significatifs et les réactions cross-module.