561b3df2185902c5ec8b462123bd5645a207248b
✅ NOUVELLES FONCTIONNALITÉS API : - ClientDTO, CreateClientDTO, UpdateClientDTO - CoachDTO, CreateCoachDTO, UpdateCoachDTO - PagedResponseDTO générique pour pagination - ClientService interface complète - CoachService interface complète 🔧 CORRECTIONS TECHNIQUES : - Correction import GBCMException (exceptions vs exception) - Validation Jakarta sur tous les DTOs - Javadoc français complet 📊 INTERFACES DE SERVICE : - ClientService : CRUD complet + gestion métier - CoachService : CRUD complet + gestion disponibilités - Méthodes spécialisées (activation, conversion, notation) - Gestion d'erreurs avec GBCMException 🎯 ARCHITECTURE SOLIDE : - Séparation claire API/Implementation - DTOs avec validation complète - Interfaces de service bien définies - Support pagination et recherche
GBCM Server API
Contrats d'API et DTOs pour la plateforme GBCM (Global Business Consulting and Management).
Description
Ce module contient les définitions d'interfaces, DTOs (Data Transfer Objects), énumérations et exceptions partagées entre le client et le serveur GBCM.
Technologies
- Java 17 - Langage de programmation
- Jakarta Validation 3.0 - Validation des données
- Jakarta REST 3.1 - Annotations REST
- Jackson - Sérialisation JSON
- Swagger/OpenAPI 3 - Documentation API
- Maven - Gestion des dépendances
Structure du projet
src/main/java/com/gbcm/server/api/
├── dto/ # Data Transfer Objects
│ ├── auth/ # DTOs authentification
│ ├── user/ # DTOs utilisateurs
│ ├── coaching/ # DTOs coaching
│ ├── workshop/ # DTOs ateliers
│ ├── billing/ # DTOs facturation
│ └── common/ # DTOs communs
├── interfaces/ # Interfaces de service
│ ├── AuthService.java
│ ├── UserService.java
│ ├── CoachingService.java
│ └── WorkshopService.java
├── enums/ # Énumérations
│ ├── UserRole.java
│ ├── ServiceType.java
│ └── PaymentStatus.java
└── exceptions/ # Exceptions métier
├── GBCMException.java
├── AuthenticationException.java
└── ValidationException.java
Installation
git clone https://git.lions.dev/gbcm/gbcm-server-api.git
cd gbcm-server-api
mvn clean install
Utilisation
Ce module est une dépendance partagée utilisée par :
gbcm-client-impl-quarkus- Interface webgbcm-server-impl-quarkus- Implémentation serveurgbcm-mobile-app- Application mobile (via REST)
Ajout de la dépendance
<dependency>
<groupId>com.gbcm</groupId>
<artifactId>gbcm-server-api</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
DTOs Principaux
Authentification
LoginRequestDTO- Requête de connexionLoginResponseDTO- Réponse de connexionUserDTO- Informations utilisateur
Services
WorkshopDTO- Informations atelierCoachingSessionDTO- Session de coachingInvoiceDTO- Facturation
Interfaces de Service
AuthService
login()- Authentificationlogout()- DéconnexionrefreshToken()- Rafraîchissement tokenvalidateToken()- Validation token
UserService
createUser()- Création utilisateurupdateUser()- Mise à jourgetUserById()- Récupération par ID
Énumérations
UserRole
ADMIN- AdministrateurCOACH- Coach/ConsultantCLIENT- ClientPROSPECT- ProspectMANAGER- Manager
Validation
Toutes les DTOs incluent des annotations de validation Jakarta :
@NotNull,@NotBlank- Champs obligatoires@Email- Format email@Size- Taille des chaînes@Valid- Validation en cascade
Documentation OpenAPI
La documentation API est générée automatiquement via les annotations Swagger :
- Descriptions des endpoints
- Schémas des DTOs
- Exemples de requêtes/réponses
Tests
mvn test
Build
# Build standard
mvn clean package
# Installation locale
mvn clean install
# Déploiement (si configuré)
mvn deploy
Versioning
Ce module suit le versioning sémantique :
MAJOR.MINOR.PATCH- Changements breaking = MAJOR
- Nouvelles fonctionnalités = MINOR
- Corrections de bugs = PATCH
Support
- Email: support@gbcm.com
- Documentation: https://docs.gbcm.com/api
Licence
Propriétaire - GBCM LLC © 2024
Description
Languages
Java
100%