How lubangjohnpatrick-coder/renthub-app works
GoRentHive is a peer-to-peer rental marketplace: one account can rent and list items. The principal flow runs from nearby listing discovery through booking approval, payment, agreement and condition evidence, handover, return or dispute, deposit resolution, payout eligibility, and review. The graph preserves documented verification, private media, messaging, and monetization capabilities. Some subsystems are represented by their exact directory because their implementation was not sampled; those links are omitted where the excerpts and README do not establish a call path.
Main entry points: booking-v2.js Booking requests · supabase.js Supabase data and auth · ledger.js Wallet ledger · payment-v2.js Payment API
Components 34
Marketplace client
- SPA and workflows
public/js/app.js - API client
public/js/api.js - UI shell
public/js/ui-shell.js - Verified GPS UI
public/js/location-hardening.js - Launch workflows UI
public/js/launch-ready.js - Payment experience
public/js/payment-experience.js - Profile experience
public/js/profile-experience.js - Verification experience
public/js/verification-experience.js - Private evidence UI
public/js/private-media.js - PWA caching
public/service-worker.js
Discovery and trust
- Listing discovery
server/listings-v2.js - Verified-radius search
server/location.js - Profile location
server/profile-location.js - Identity verification
server/verification-v2.js - Verification providers
server/verification-providers.js - Media handling
server/media.js - Secure uploads
server/upload.js
Booking lifecycle
- Booking requests
server/booking-v2.js - Agreement and rental rules
server/rental-policy.js - Booking, evidence and disputes
server/private.js - Compatibility booking routes
server/financial.js
Payments and finance
- Payment API
server/payment-v2.js - Gateway and payment records
server/payment.js - PayMongo provider
server/providers/paymongo.js - GCash provider
server/providers/gcash.js - Payment webhook
server/paymongo-webhook.js - Wallet ledger
server/ledger.js - Revenue accounting
server/revenue.js - Marketplace monetization
server/monetize.js
Server platform
- Platform settings
server/settings.js - Authentication middleware
server/auth-service.js - Supabase data and auth
server/supabase.js - Public data shaping
server/publicShape.js
Other components
- Renter / owner
Connections 48
- Renter / owner → SPA and workflows: uses
- SPA and workflows → API client: requests API
- API client → Booking requests: submits bookings
- API client → Listing discovery: requests listings
- Verified GPS UI → Verified-radius search: sends GPS
- Launch workflows UI → Booking requests: starts booking
- Payment experience → Payment API: starts payment
- Verification experience → Identity verification: requests verification
- Private evidence UI → Media handling: accesses evidence
- Listing discovery → Public data shaping: shapes results
server/listings-v2.js - Identity verification → Verification providers: uses providers
server/verification-v2.js - Renter / owner → Booking requests: requests rental
- Booking requests → Platform settings: reads terms
server/booking-v2.js - Booking requests → Wallet ledger: reserves funds
server/booking-v2.js - Booking requests → Gateway and payment records: creates payment
server/booking-v2.js - Booking requests → Authentication middleware: authenticates
server/booking-v2.js - Booking requests → Supabase data and auth: reads and writes
server/booking-v2.js - Booking requests → Agreement and rental rules: applies rules
server/booking-v2.js - Booking requests → Booking, evidence and disputes: continues lifecycle
- Renter / owner → Booking, evidence and disputes: signs and reports
- Booking, evidence and disputes → Wallet ledger: reads balance
server/private.js - Booking, evidence and disputes → Supabase data and auth: reads and writes
server/private.js - Booking, evidence and disputes → Authentication middleware: authenticates
server/private.js - Renter / owner → Payment API: pays booking
- Payment API → Gateway and payment records: creates payment
server/payment-v2.js - Payment API → Wallet ledger: records funds
server/payment-v2.js - Payment API → PayMongo provider: creates intent
server/payment-v2.js - Payment API → Payment webhook: confirms payment
server/payment-v2.js - Gateway and payment records → PayMongo provider: dispatches gateway
server/payment.js - Gateway and payment records → GCash provider: dispatches gateway
server/payment.js - Payment webhook → PayMongo provider: verifies event
server/paymongo-webhook.js - Payment webhook → Supabase data and auth: settles payment
server/paymongo-webhook.js - Payment webhook → Wallet ledger: credits wallet
- Compatibility booking routes → Payment webhook: confirms payment
server/financial.js - Compatibility booking routes → Wallet ledger: reads balance
server/financial.js - Compatibility booking routes → Supabase data and auth: reads and writes
server/financial.js - Wallet ledger → Supabase data and auth: records entries
server/ledger.js - Wallet ledger → Platform settings: computes split
server/ledger.js - Marketplace monetization → Wallet ledger: uses ledger
server/monetize.js - Marketplace monetization → Revenue accounting: uses accounting
server/monetize.js - Revenue accounting → Supabase data and auth: reads revenue
server/revenue.js - Platform settings → Supabase data and auth: reads and writes
server/settings.js - Authentication middleware → Supabase data and auth: verifies and loads
server/auth-service.js - Renter / owner → Verified-radius search: discovers nearby
- Verified-radius search → Supabase data and auth: reads locations
server/location.js - Renter / owner → Identity verification: verifies identity
- Renter / owner → Media handling: submits evidence
- Renter / owner → Profile location: updates location