Skip to content

feat: ajout du duel MMA, départage par l’âge, refactor, tests et documentation - Léo Kiefner

Léo Kiefner requested to merge kiefner/2025:main into main

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)

Merge request reports