e5aad7740943bfd564b7c2d71f8adee018e6b520
✅ DTOS WORKSHOP : - WorkshopDTO : DTO complet avec CoachDTO, méthodes helper (isFull, getOccupancyPercentage) - CreateWorkshopDTO : DTO de création avec validation (isDateRangeValid, getDurationHours) - UpdateWorkshopDTO : DTO de mise à jour avec champs optionnels ✅ DTOS COACHING SESSION : - CoachingSessionDTO : DTO complet avec CoachDTO, ClientDTO, méthodes helper (canBeRated, canBeModified, getPlannedDurationHours, getActualDurationHours, isOverdue) - CreateCoachingSessionDTO : DTO de création avec validation (isScheduledDateValid, isDurationValid) - UpdateCoachingSessionDTO : DTO de mise à jour avec validation (isClientRatingValid) ✅ INTERFACES DE SERVICE : - WorkshopService : Interface complète avec 15 méthodes (CRUD, gestion participants, statistiques, recherche) - CoachingSessionService : Interface complète avec 18 méthodes (CRUD, évaluations, statistiques coach/client, recherche) 🎯 FONCTIONNALITÉS API : - Pagination avec PagedResponseDTO<T> - Validation Jakarta complète - Méthodes helper pour logique métier - Support filtrage et recherche avancés - Gestion des statistiques et rapports - Documentation Javadoc complète en français 📊 TOTAL : 8 nouveaux fichiers API pour Workshop et CoachingSession 🚀 API GBCM maintenant complète avec toutes les interfaces de service
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%