How amine-genin/locavite works
LocaVite is a Moroccan vehicle rental and sales platform, with an Angular client and a modular Spring Boot API. The principal rental journey is browsing vehicles, checking availability, submitting a reservation, then managing its payment and reservation status; agency and admin users also manage fleet and reservations. The map includes authentication, catalog, documents, notifications, and payment capabilities indicated by the tree and README. Edges are limited to relationships shown in excerpts, the source index, or README; unsampled subsystem links are omitted rather than inferred.
Main entry points: ReservationService.java Reservation service · app.routes.ts App routes · PaymentService.java Payment service · VehicleSearchService.java Vehicle search
Components 24
Web client
- App routes
frontend/src/app/app.routes.ts - Vehicle browsing
frontend/src/app/features/vehicles/vehicle-list/vehicle-list.component.ts - Reservation flow
frontend/src/app/features/reservations/reservation-form.component.ts - Reservation admin
frontend/src/app/features/reservations/admin-reservations/admin-reservations.component.ts - Login and signup
frontend/src/app/features/auth/login/login.component.ts
Identity and catalog
- Auth service
backend/src/main/java/ma/locavite/auth/service/AuthService.java - User repository
backend/src/main/java/ma/locavite/auth/repository/UserRepository.java - Vehicle catalog
backend/src/main/java/ma/locavite/catalog/controller/CatalogController.java
Fleet and rentals
- Vehicle search
backend/src/main/java/ma/locavite/vehicle/service/VehicleSearchService.java - Vehicle repository
backend/src/main/java/ma/locavite/vehicle/repository/VehicleRepository.java - Reservation service
backend/src/main/java/ma/locavite/reservation/service/ReservationService.java - Reservation repository
backend/src/main/java/ma/locavite/reservation/repository/ReservationRepository.java - Reservation pricing
backend/src/main/java/ma/locavite/reservation/service/PricingService.java
Payments and documents
- Payment service
backend/src/main/java/ma/locavite/payment/service/PaymentService.java - Payment repository
backend/src/main/java/ma/locavite/payment/repository/PaymentRepository.java - CMI payments
backend/src/main/java/ma/locavite/payment/cmi/service/CmiPaymentService.java - Document review
backend/src/main/java/ma/locavite/document/controller/UserDocumentController.java
Notifications
- Notification dispatch
backend/src/main/java/ma/locavite/notification/service/NotificationService.java - SMS delivery
backend/src/main/java/ma/locavite/notification/service/SmsService.java - WhatsApp delivery
backend/src/main/java/ma/locavite/notification/service/WhatsAppService.java
Other components
- Customer
- Agency / admin
- Twilio
- CMI gateway
Connections 25
- Customer → App routes: uses
- Agency / admin → App routes: uses
- App routes → Vehicle browsing: routes to
frontend/src/app/app.routes.ts - App routes → Reservation flow: routes to
frontend/src/app/app.routes.ts - App routes → Reservation admin: routes to
frontend/src/app/app.routes.ts - App routes → Login and signup: routes to
frontend/src/app/app.routes.ts - Vehicle browsing → Vehicle search: requests listings
- Reservation flow → Reservation service: submits reservation
- Reservation admin → Reservation service: manages reservations
- Login and signup → Auth service: authenticates
- Auth service → User repository: reads and writes
backend/src/main/java/ma/locavite/auth/service/AuthService.java - Vehicle search → Vehicle repository: queries vehicles
backend/src/main/java/ma/locavite/vehicle/service/VehicleSearchService.java - Reservation service → Reservation repository: reads and writes
backend/src/main/java/ma/locavite/reservation/service/ReservationService.java - Reservation service → Vehicle repository: loads vehicle
backend/src/main/java/ma/locavite/reservation/service/ReservationService.java - Reservation service → Reservation pricing: calculates quote
backend/src/main/java/ma/locavite/reservation/service/ReservationService.java - Reservation service → User repository: resolves user
backend/src/main/java/ma/locavite/reservation/service/ReservationService.java - Reservation service → Document review: checks documents
backend/src/main/java/ma/locavite/reservation/service/ReservationService.java - Payment service → Reservation repository: loads reservation
backend/src/main/java/ma/locavite/payment/service/PaymentService.java - Payment service → Payment repository: reads and writes
backend/src/main/java/ma/locavite/payment/service/PaymentService.java - Payment service → CMI payments: initiates online payment
- CMI payments → CMI gateway: communicates
- Notification dispatch → SMS delivery: dispatches SMS
backend/src/main/java/ma/locavite/notification/service/NotificationService.java - Notification dispatch → WhatsApp delivery: dispatches WhatsApp
backend/src/main/java/ma/locavite/notification/service/NotificationService.java - SMS delivery → Twilio: sends message
- Vehicle catalog → Vehicle search: serves catalog