Documentation UML du projet TravelsAPI
Diagramme des Services
classDiagram
class TripsService {
-TripsRepository tripsRepository
-CommonServices commonServices
-PartnersApiWebClient partnersApiWebClient
-TripPublicationsService tripPublicationsService
+addTrip(Trip) TripRepresentation
+updateTrip(String, Trip) TripRepresentation
+deleteTrip(String) void
+getTrip(String) TripRepresentation
+listTrip(String, Integer, Integer) ListTripResume
}
class TripPublicationsService {
-TripPublicationsRepository tripPublicationsRepository
-CommonServices commonServices
+addTripPublication(TripPublication) TripPublicationRepresentation
+updateTripPublication(String, TripPublication) TripPublicationRepresentation
+deletePublication(String) void
+getTripPublication(String) TripPublicationRepresentation
+listTripPublication(...) ListTripPublicationResume
}
class TripReservationsService {
-TripReservationsRepository tripReservationsRepository
-CommonServices commonServices
-PricingTools pricingTools
+addTripReservation(TripReservationLead) TripReservationRepresentation
+updateTripReservation(String, TripReservationLead) TripReservationRepresentation
+deleteTripReservation(String) void
+getTripReservation(String) TripReservationRepresentation
+listTripReservation(...) ListTripReservationResume
}
class CommonServices {
-TripsRepository tripsRepository
-TripPublicationsRepository tripPublicationsRepository
-TripReservationsRepository tripReservationsRepository
-TripOpinionsRepository tripOpinionsRepository
+getTripById(String) TripEntity
+checkPublishedTripPublication(String) TripPublicationEntity
+checkTripReservation(String) TripReservationEntity
+checkClient(List~Client~, boolean) void
}
TripsService --> CommonServices
TripPublicationsService --> CommonServices
TripReservationsService --> CommonServices
Diagramme des Entités
classDiagram
class TripEntity {
-String id
-String reference
-String establishmentId
-String title
-String smallDescription
-String detailedDescription
-List~TripProgramDetailsEntity~ tripProgramDetails
-Boolean isDeleted
}
class TripPublicationEntity {
-String id
-TripEntity trip
-Boolean isAutomaticReservation
-TripPublication.StatusEnum status
-Integer childsMaxAge
-Integer babiesMaxAge
-List~TripDateEntity~ tripDates
-Boolean isDeleted
}
class TripReservationEntity {
-String id
-String tripId
-String publicationId
-List~ClientEntity~ clients
-String transactionId
-String tripDateId
-TripReservation.StatusEnum status
-PricingDetailsEntity pricingDetails
-ReservedPlacesEntity reservedPlaces
}
TripPublicationEntity --> TripEntity
TripReservationEntity --> TripPublicationEntity
Diagramme des Controllers
classDiagram
class TripsApiController {
-TripsService tripsService
+addTrip(Trip) ResponseEntity
+putTrip(String, Trip) ResponseEntity
+deleteTrip(String) ResponseEntity
+getTrip(String) ResponseEntity
+listTrip(String, Integer, Integer) ResponseEntity
}
class TripPublicationsApiController {
-TripPublicationsService tripPublicationsService
+putPublication(String, TripPublication) ResponseEntity
+deletePublication(String) ResponseEntity
+getPublication(String) ResponseEntity
+listPublications(...) ResponseEntity
}
class TripReservationsApiController {
-TripReservationsService tripReservationsService
-CommonServices commonServices
+addReservation(TripReservationLead) ResponseEntity
+putReservation(String, TripReservationLead) ResponseEntity
+deleteReservation(String) ResponseEntity
+getReservation(String) ResponseEntity
+listReservations(...) ResponseEntity
}
TripsApiController --> TripsService
TripPublicationsApiController --> TripPublicationsService
TripReservationsApiController --> TripReservationsService
Description des Composants Principaux
Services
- TripsService: Gestion des voyages (CRUD)
- TripPublicationsService: Gestion des publications de voyages
- TripReservationsService: Gestion des réservations
- CommonServices: Services partagés et validations communes
Entités
- TripEntity: Voyage
- TripPublicationEntity: Publication d'un voyage
- TripReservationEntity: Réservation d'un voyage
- TripProgramDetailsEntity: Détails du programme du voyage
Controllers
- TripsApiController: Points d'entrée API pour les voyages
- TripPublicationsApiController: Points d'entrée API pour les publications
- TripReservationsApiController: Points d'entrée API pour les réservations