How ganaganidhanush-png/rent works
RentVault is a landlord-facing app for managing five rooms, tenant onboarding, rent and other payments, and private tenant documents. The main workflow runs from the landlord’s dashboard into room and tenant operations, records payments in the ledger, and uploads or views documents through the vault. The local app store provides browser-side state and merge helpers; Supabase supplies database and storage persistence. The graph reflects documented features where code excerpts were not supplied, but leaves their implementation wiring unspecified.
Main entry points: app-store.ts App store · documents/page.tsx Document vault · client.ts Browser Supabase client · payments/page.tsx Payment ledger
Components 23
Landlord workspace
- Property dashboard
src/app/page.tsx - Dashboard view
src/components/dashboard/dashboard-view.tsx - Room grid
src/app/rooms/page.tsx - Tenant directory
src/app/tenants/page.tsx - Tenant onboarding
src/components/tenants/add-tenant-form.tsx - Payment ledger
src/app/payments/page.tsx - Payment entry
src/components/payments/record-payment-modal.tsx - Document vault
src/app/documents/page.tsx - Document viewer
src/components/documents/document-viewer-modal.tsx
Property operations
- Tenant records
src/types/database.ts - Room records
src/types/database.ts - Payment records
src/types/database.ts - Document records
src/types/database.ts - Room operations
src/app/rooms
Local state
- App store
src/lib/store/app-store.ts - Browser localStorage
Supabase services
- Browser Supabase client
src/lib/supabase/client.ts - Server Supabase client
src/lib/supabase/server.ts - Admin Supabase client
src/lib/supabase/admin.ts - Supabase database
- Private tenant-vault
- Signed URL endpoint
src/app/api/document-url/route.ts
Other components
- Landlord
Connections 28
- Landlord → Property dashboard: opens
- Property dashboard → Dashboard view: renders
- Dashboard view → App store: reads payments
- Landlord → Room grid: manages rooms
- Room grid → Room operations: operates
- Landlord → Tenant directory: manages tenants
- Tenant directory → Tenant onboarding: starts onboarding
- Tenant onboarding → App store: saves tenant, payments, documents
- Landlord → Payment ledger: reviews ledger
- Payment ledger → Payment entry: records payment
- Payment entry → App store: saves payment
- Payment entry → Browser Supabase client: syncs payment
- Payment ledger → Browser Supabase client: reads, updates, deletes
- Landlord → Document vault: manages documents
- Document vault → App store: saves document record
- Document vault → Browser Supabase client: uploads, deletes
- Document vault → Signed URL endpoint: requests signed link
- Document vault → Document viewer: opens document
- Signed URL endpoint → Admin Supabase client: creates signed URL
- Admin Supabase client → Private tenant-vault: signs access
- App store → Browser localStorage: reads, writes
- App store → Room records: manages room state
- App store → Tenant records: manages tenant state
- App store → Payment records: manages payment state
- App store → Document records: manages document state
- Browser Supabase client → Supabase database: database operations
- Browser Supabase client → Private tenant-vault: file operations
- Server Supabase client → Supabase database: server access