How carilloandrei9264/trusthome-ph works
TrustHome PH is a Philippine rental marketplace with a separate Metrobank-acquired property catalog and Python scraper. Renters browse listings and request bookings; homeowners submit listings for admin review, with trust, dispute, rating, and notification workflows supporting accountability. React routes connect the user-facing stages to Firebase services; the scraper separately writes catalog data to Firestore. The graph preserves documented capabilities, but unsampled modules are linked only where the README or source index supports the relationship.
Main entry points: App.jsx App routing · AdminDisputes.jsx Dispute review · CreateListing.jsx Submit listing · AdminListings.jsx Listing review
Components 26
Marketplace app
- App routing
src/App.jsx - Browse listings
src/pages/Browse.jsx - Listing details
src/pages/ListingDetail.jsx - Submit listing
src/pages/CreateListing.jsx - Booking requests
src/pages/BookingRequest.jsx - Booking management
src/pages/BookingRequests.jsx
Trust workflows
- Listing review
src/admin/AdminListings.jsx - Dispute review
src/admin/AdminDisputes.jsx - Account activity
src/lib/accountActivity.js - Notifications
src/lib/notifications.js - Ratings and profiles
src/pages/RatingForm.jsx - Trust scoring
src/lib/trustScore.js
Bank catalog
- Bank property catalog
src/pages/BankCatalog.jsx - Loan estimate
src/lib/loanCalculator.js
Firebase services
- Authentication
src/context/AuthContext.jsx - Firebase clients
src/firebase.js - Cloud Firestore
- Cloudinary media
- Image upload
src/uploadImage.js - Firebase Functions
functions/index.js
Catalog scraper
- Metrobank scraper
bank_scraper/scraper.py - Scraper worker
bank_scraper/worker.py - Catalog persistence
bank_scraper/database.py
Other components
- Renter
- Homeowner
- Admin
Connections 34
- Renter → App routing: uses
- Homeowner → App routing: uses
- Admin → App routing: uses
- App routing → Browse listings: routes to
src/App.jsx - App routing → Submit listing: routes to
src/App.jsx - App routing → Booking requests: routes to
src/App.jsx - App routing → Bank property catalog: routes to
src/App.jsx - Renter → Browse listings: discovers
- Browse listings → Listing details: opens listing
- Renter → Booking requests: requests booking
- Booking requests → Cloud Firestore: records request
- Booking management → Cloud Firestore: tracks status
- Homeowner → Submit listing: submits property
- Submit listing → Image upload: uploads images
src/pages/CreateListing.jsx - Image upload → Cloudinary media: stores media
src/uploadImage.js - Submit listing → Cloud Firestore: writes listing
src/pages/CreateListing.jsx - Admin → Listing review: reviews listings
- Listing review → Cloud Firestore: updates listing
src/admin/AdminListings.jsx - Listing review → Account activity: records action
src/admin/AdminListings.jsx - Admin → Dispute review: reviews disputes
- Dispute review → Cloud Firestore: updates dispute
src/admin/AdminDisputes.jsx - Dispute review → Notifications: creates alerts
src/admin/AdminDisputes.jsx - Dispute review → Account activity: records action
src/admin/AdminDisputes.jsx - Renter → Ratings and profiles: submits rating
- Ratings and profiles → Trust scoring: supports scoring
- Bank property catalog → Cloud Firestore: queries properties
src/pages/BankCatalog.jsx - Bank property catalog → Loan estimate: estimates financing
- Scraper worker → Metrobank scraper: runs scraper
bank_scraper/worker.py - Scraper worker → Catalog persistence: uses persistence
bank_scraper/worker.py - Metrobank scraper → Catalog persistence: persists results
bank_scraper/scraper.py - Catalog persistence → Cloud Firestore: writes catalog
bank_scraper/database.py - Authentication → Firebase clients: uses clients
src/context/AuthContext.jsx - Firebase clients → Cloud Firestore: connects
src/firebase.js - Firebase Functions → Cloud Firestore: backend integration