Skip to content

Devlog #3 : Refactoring Global et Architecture de Service

Focus : Migration vers une architecture granulaire pour réduire la dette technique.

La mutation architecturale :

Le modèle initial Controller <-> Service <-> Repository a été refactoré pour éviter l'apparition de "Services fourre-tout". La nouvelle structure sépare strictement les responsabilités :

  • Managers : Centralisation des opérations CRUD et de la logique de persistance (ex: méthode validateAndSave).
  • Mappers : Dédiés exclusivement à la conversion bidirectionnelle Entité <=> DTO.
  • RequestMappers : Déportation de la logique de traitement des requêtes (extraction, validation, transformation) hors des contrôleurs.
  • Traits & Utils :
  • Unification de la gestion des horodatages (createdAt, updatedAt) via des Traits.
  • Création de classes utilitaires pour la génération d'UUID et les métadonnées de pagination.

🛡️ Robustesse de l'API :

  • Standardisation : Centralisation des retours via une classe ApiResponse pour garantir une structure JSON constante.
  • DTOs Typés : Passage des propriétés en private avec getters et organisation par répertoires (Request / Response).
  • Documentation : Intégration de modèles OAModel pour une documentation OpenAPI (Swagger) fidèle au code.
  • Journalisation : Utilisation de Monolog via monolog-bundle pour une gestion fine des logs applicatifs.