📄️ Pattern Service
Pour garder les contrôleurs légers et la logique testable, nous adhérons strictement au Pattern Service-Repository.
📄️ Schéma de Base de Données
Les données principales sont stockées dans MySQL 8. Le schéma est conçu pour le multi-tenant (Écoles/Écuries).
📄️ Websockets & Événements
Nous utilisons les Websockets pour permettre une Latence Inférieure à la Seconde pour les alertes critiques.
📄️ Sécurité & Authentification
La plateforme utilise un modèle de sécurité robuste combinant Authentification Stateful de Session (via JWT ou Token Opaques) et Contrôle d'Accès Basé sur les Rôles (RBAC).
📄️ Middleware
Les Middleware sont des hooks qui s'exécutent avant ou après qu'une requête ne soit traitée par un contrôleur. Ils sont enregistrés dans start/kernel.ts.
📄️ Gestion des Erreurs
Nous n'utilisons généralement pas de try/catch dans les contrôleurs. À la place, nous laissons les exceptions remonter jusqu'au Global Exception Handler.
📄️ Notifications
La plateforme est conçue pour alerter les utilisateurs en quelques secondes lors d'un événement critique (exemple: Cheval bloqué).
📄️ Logging & Audit
Nous utilisons une stratégie de logging à deux niveaux : Logs Applicatifs (pour les Développeurs) et Logs d'Audit (pour les Admins).
📄️ Validation
Nous utilisons VineJS pour la validation de schéma haute performance.
📄️ Stratégie de Cache
Pour réduire la charge sur la base de données et améliorer les temps de réponse, nous implémentons le cache à plusieurs niveaux.
📄️ Décorateurs
Pour garder notre code propre et déclaratif, nous utilisons des Décorateurs Personnalisés pour les préoccupations transverses comme le Cache et la Gestion d'Erreurs.