How bringo2002/roost works
Roost is a rental-property marketplace for browsing and listing homes, applying to rent, and coordinating tenancy-related interactions. The visible entry points indicate a workflow from account access and property search through listing details, applications, and follow-up communication; landlords also manage listings and availability. The codebase includes verification, reviews, inspections, and property intelligence alongside that core. Sampled source confirms review and authentication calls and some property operations; several other subsystem connections are inferred from names and are left unwired where their callers were not shown.
Main entry points: AuthService.java Authentication · ReviewService.java Review management · AuthController.java Authentication API · PropertyController.java Property API
Components 29
Accounts
- Authentication API
src/main/java/com/roost/controller/AuthController.java - Authentication
src/main/java/com/roost/service/AuthService.java - JWT security
src/main/java/com/roost/security/JwtService.java - Google sign-in
src/main/java/com/roost/service/GoogleAuthService.java
Property marketplace
- Property API
src/main/java/com/roost/controller/PropertyController.java - Property management
src/main/java/com/roost/service/PropertyService.java - Property records
src/main/java/com/roost/repository/PropertyRepository.java - Property search
src/main/java/com/roost/controller/SearchController.java - Search intent
src/main/java/com/roost/service/GeminiSearchIntentService.java - Rent estimates
src/main/java/com/roost/service/RentEstimateService.java - Nearby facilities
src/main/java/com/roost/service/NearbyFacilitiesService.java
Tenancy interactions
- Rental applications
src/main/java/com/roost/controller/ApplicationController.java - Application handling
src/main/java/com/roost/service/ApplicationService.java - Application records
src/main/java/com/roost/repository/ApplicationRepository.java - Messaging
src/main/java/com/roost/controller/ChatController.java - Chat and attachments
src/main/java/com/roost/service/ChatService.java - Object storage
src/main/java/com/roost/service/R2StorageService.java - Property reviews
src/main/java/com/roost/controller/ReviewController.java - Review management
src/main/java/com/roost/service/ReviewService.java - Review records
src/main/java/com/roost/repository/ReviewRepository.java - Document verification
src/main/java/com/roost/controller/DocumentVerificationController.java - Move-in inspection
src/main/java/com/roost/controller/MoveInInspectionController.java - Inspection handling
src/main/java/com/roost/service/MoveInInspectionService.java
Platform services
- Administration
src/main/java/com/roost/controller/AdminController.java - Push notifications
src/main/java/com/roost/service/FirebasePushService.java
Other components
- Renter
- Landlord
- Gemini AI
- Firebase
Connections 23
- Renter → Authentication API: signs in
- Landlord → Authentication API: signs in
- Authentication API → Authentication: delegates
- Authentication → JWT security: issues tokens
- Authentication → Google sign-in: verifies Google
- Renter → Property search: searches homes
- Landlord → Property API: manages listings
- Renter → Property API: views listings
- Property API → Property management: delegates
- Property search → Search intent: extracts filters
- Search intent → Gemini AI: requests parsing
- Renter → Rental applications: applies
- Landlord → Rental applications: reviews applications
- Renter → Messaging: messages
- Landlord → Messaging: messages
- Renter → Property reviews: submits review
- Property reviews → Review management: calls
- Review management → Property management: loads property
- Review management → Review records: reads and saves
- Landlord → Document verification: submits documents
- Renter → Move-in inspection: records inspection
- Move-in inspection → Inspection handling: delegates
- Push notifications → Firebase: sends notifications