feat: ajout du duel MMA, départage par l’âge, refactor, tests et documentation - Léo Kiefner
Refactorisation majeure selon les principes SOLID et DDD
- SRP : séparation claire entre logique métier (WizardClubService), présentation (Controller) et infrastructure (JDBI)
- OCP : ajout de nouveaux types de duel sans modifier le cœur métier
- DIP : injection explicite des dépendances (Jdbi)
- DDD : entités métier (
Sorcerer
,WizardClub
) porteuses de règles et invariants
Architecture nettoyée et stabilisée
- Suppression complète de l’héritage Gradle → transition propre vers Maven
-
.gitignore
adapté aux standards Maven et IntelliJ -
pom.xml
configuré avec Javalin, JUnit, AssertJ, JDBI, H2 et OpenAPI
Amélioration de la couverture de tests unitaires
- Structure des tests par responsabilité (niveau, connaissance, baguette)
- Tests isolés, rapides et auto-validants selon F.I.R.S.T
- Utilisation systématique de mocks et assertions explicites
Nettoyage et lisibilité
- Suppression des responsabilités multiples
- Nommage clair, expressif et métier
- Aucune duplication ni code mort
- Commentaires utiles et ciblés sur le "Pourquoi"
Application maintenable et extensible
- API REST claire :
/clubs/{id}
,/members
,/duel
- Initialisation automatique de la base (DatabaseInitializer)
- Contrôleur respectant le principe de minceur (logique métier déléguée au service)