How braxon2/bookmeci-cd works
Bookme is a lodging marketplace and booking application: users search available units, inspect unit details and pricing, and can create and manage bookings; property owners administer listings, units, amenities, prices, add-ons, and images. The frontend routes these experiences, while the Spring backend exposes domain APIs and services. The excerpts show several service relationships and the unit-search/storage behavior, but do not show frontend API calls or all controller/service wiring, so those connections are omitted rather than assumed.
Main entry points: App.jsx Route application · BookableUnitService.java Unit search and details · BookableUnitController.java Unit API · ReviewService.java Review rules
Components 22
Web client
- Route application
frontend/src/App.jsx - Search and listings
frontend/src/pages - Owner tools
frontend/src/pages - Image manager
frontend/src/components/ImageManager.jsx - Authentication context
frontend/src/context/AuthContext.jsx - Authenticated fetch
frontend/src/hooks/useFetch.js
Identity and security
- Authentication API
backend/bookme/src/main/java/com/dusanbranovic/bookme/auth/AuthenticationController.java - Authentication service
backend/bookme/src/main/java/com/dusanbranovic/bookme/auth/AuthenticationService.java - JWT service
backend/bookme/src/main/java/com/dusanbranovic/bookme/config/JwtService.java
Lodging catalog
- Unit API
backend/bookme/src/main/java/com/dusanbranovic/bookme/controllers/BookableUnitController.java - Unit search and details
backend/bookme/src/main/java/com/dusanbranovic/bookme/service/BookableUnitService.java - Catalog APIs
backend/bookme/src/main/java/com/dusanbranovic/bookme/controllers - Pricing and add-ons
backend/bookme/src/main/java/com/dusanbranovic/bookme/service/PricingService.java
Booking and feedback
- Booking workflow
backend/bookme/src/main/java/com/dusanbranovic/bookme/service/BookingService.java - Review API
backend/bookme/src/main/java/com/dusanbranovic/bookme/controllers/ReviewController.java - Review rules
backend/bookme/src/main/java/com/dusanbranovic/bookme/service/ReviewService.java
Persistence and media
- Unit repository
backend/bookme/src/main/java/com/dusanbranovic/bookme/repository/BookableUnitRepository.java - Lodging domain models
backend/bookme/src/main/java/com/dusanbranovic/bookme/models - Image storage service
backend/bookme/src/main/java/com/dusanbranovic/bookme/service/S3Service.java - AWS S3
- Review repository
backend/bookme/src/main/java/com/dusanbranovic/bookme/repository/ReviewRepository.java
Other components
- Guest or owner
Connections 20
- Guest or owner → Route application: uses
frontend/src/App.jsx - Route application → Search and listings: routes to
frontend/src/App.jsx - Route application → Owner tools: routes to
frontend/src/App.jsx - Route application → Authentication context: routes to
frontend/src/App.jsx - Image manager → Authenticated fetch: uses
frontend/src/components/ImageManager.jsx - Authenticated fetch → Authentication context: reads auth
frontend/src/hooks/useFetch.js - Authentication API → Authentication service: delegates to
backend/bookme/src/main/java/com/dusanbranovic/bookme/auth/AuthenticationController.java - Authentication service → JWT service: generates token
backend/bookme/src/main/java/com/dusanbranovic/bookme/auth/AuthenticationService.java - Unit API → Unit search and details: delegates to
backend/bookme/src/main/java/com/dusanbranovic/bookme/controllers/BookableUnitController.java - Unit API → Pricing and add-ons: delegates to
backend/bookme/src/main/java/com/dusanbranovic/bookme/controllers/BookableUnitController.java - Unit API → Image storage service: delegates to
backend/bookme/src/main/java/com/dusanbranovic/bookme/controllers/BookableUnitController.java - Unit search and details → Unit repository: searches units
backend/bookme/src/main/java/com/dusanbranovic/bookme/service/BookableUnitService.java - Unit search and details → Pricing and add-ons: calculates prices
backend/bookme/src/main/java/com/dusanbranovic/bookme/service/BookableUnitService.java - Unit search and details → Image storage service: gets image URLs
backend/bookme/src/main/java/com/dusanbranovic/bookme/service/BookableUnitService.java - Unit repository → Lodging domain models: queries
backend/bookme/src/main/java/com/dusanbranovic/bookme/repository/BookableUnitRepository.java - Booking workflow → Lodging domain models: creates booking entities
backend/bookme/src/main/java/com/dusanbranovic/bookme/service/BookingService.java - Review API → Review rules: delegates to
backend/bookme/src/main/java/com/dusanbranovic/bookme/controllers/ReviewController.java - Review rules → Review repository: uses
backend/bookme/src/main/java/com/dusanbranovic/bookme/service/ReviewService.java - Review rules → Lodging domain models: checks booking state
backend/bookme/src/main/java/com/dusanbranovic/bookme/service/ReviewService.java - Image storage service → AWS S3: stores images