How ilmiraryakhimova/rentalmanager-main works
Rental Manager is a Spring backend for finding and managing rental apartments and bookings, with account registration and token-based sign-in. The main user flow searches or manages listings, then creates and tracks bookings; controllers delegate those requests to domain services, which use repositories for persistence. Registration also initiates email verification. The sampled code confirms apartment and booking controller delegation and several authentication actions; implementation details for unsampled services and security wiring are not inferred.
Main entry points: entities Rental data · ApartmentServiceImpl.java Apartment service · AuthServiceImpl.java Authentication service · UserRepository.java User repository
Components 19
HTTP API
- Apartment API
main-service/src/main/java/com/rental/manager/web/controller/ApartmentController.java - Booking API
main-service/src/main/java/com/rental/manager/web/controller/BookingController.java - Authentication API
main-service/src/main/java/com/rental/manager/web/controller/AuthController.java - User API
main-service/src/main/java/com/rental/manager/web/controller/UserController.java
Rental Operations
- Apartment service
main-service/src/main/java/com/rental/manager/service/impl/ApartmentServiceImpl.java - Booking service
main-service/src/main/java/com/rental/manager/service/impl/BookingServiceImpl.java - Address service
main-service/src/main/java/com/rental/manager/service/impl/AddressServiceImpl.java - User service
main-service/src/main/java/com/rental/manager/service/impl/UserServiceImpl.java
Identity and Security
- Authentication service
main-service/src/main/java/com/rental/manager/security/auth/AuthServiceImpl.java - JWT service
main-service/src/main/java/com/rental/manager/security/jwt/JwtServiceImpl.java - Email service
main-service/src/main/java/com/rental/manager/service/impl/EmailServiceImpl.java
Persistence
- Apartment repository
main-service/src/main/java/com/rental/manager/repository/ApartmentRepository.java - Booking repository
main-service/src/main/java/com/rental/manager/repository/BookingRepository.java - Address repository
main-service/src/main/java/com/rental/manager/repository/AddressRepository.java - User repository
main-service/src/main/java/com/rental/manager/repository/UserRepository.java - Verification token repository
main-service/src/main/java/com/rental/manager/repository/EmailVerificationTokenRepository.java - Rental data
main-service/src/main/java/com/rental/manager/entities
Other components
- Guest or owner
- Email delivery
Connections 18
- Guest or owner → Apartment API: search listings
- Guest or owner → Booking API: manage bookings
- Guest or owner → Authentication API: authenticate
- Guest or owner → User API: manage profile
- Apartment API → Apartment service: delegates
- Booking API → Booking service: delegates
- Authentication service → User repository: reads and saves
- Authentication service → JWT service: creates and validates tokens
- Authentication service → Email service: requests verification email
- Apartment service → Apartment repository: queries and saves
- Apartment service → Address repository: resolves and saves address
- Apartment service → User repository: resolves and saves owner
- Email service → Email delivery: sends email
- Apartment repository → Rental data: persists listings
- Booking repository → Rental data: persists bookings
- Address repository → Rental data: persists addresses
- User repository → Rental data: persists users
- Verification token repository → Rental data: persists tokens