How zeezafra/broker-kring2-website works
This is a Cebu real-estate brokerage site with public property discovery and lead capture, plus an admin workspace for managing listings and inquiries. The visitor path is to search or browse listings, open a listing, then submit an inquiry; administrators maintain inventory and review leads. Backend modules show listing validation, location resolution, persistence, and inquiry notification. The README is empty and several routes and modules were not sampled, so uncertain UI-to-API links are omitted rather than inferred.
Main entry points: admin.ts Admin API · db.ts Prisma database client · inquiries.ts Inquiry API · public-api.ts Public API client
Components 20
Public Property Experience
- Home page
frontend/app/page.tsx - Search filters
frontend/components/PropertyFilters.tsx - Search state
frontend/lib/search.ts - Public API client
frontend/lib/public-api.ts - Property pages
frontend/app/properties - Inquiry and sell forms
frontend/components
Broker Admin
- Admin property form
frontend/components/admin/PropertyForm.tsx - Admin API client
frontend/lib/admin-api.ts - Admin screens
frontend/app/admin
Backend API
- Public property API
backend/src/properties.ts - Admin API
backend/src/admin.ts - Inquiry API
backend/src/inquiries.ts
Domain and Persistence
- Admin auth
backend/src/auth.ts - Listing validation
backend/src/propertyInput.ts - Location resolution
backend/src/locations.ts - Lead notification
backend/src/notify.ts - Prisma database client
backend/src/db.ts
Other components
- Property seeker
- Broker administrator
- PostgreSQL
Connections 21
- Property seeker → Home page: visits
- Home page → Property pages: browses listings
frontend/app/page.tsx - Search filters → Search state: builds search
frontend/components/PropertyFilters.tsx - Public API client → Search state: encodes filters
frontend/lib/public-api.ts - Property pages → Public API client: fetches listings
- Public API client → Public property API: requests listings
frontend/lib/public-api.ts - Property seeker → Inquiry and sell forms: submits lead
- Broker administrator → Admin screens: manages inventory
- Admin screens → Admin property form: renders form
- Admin property form → Admin API client: saves listing
frontend/components/admin/PropertyForm.tsx - Admin API client → Admin API: sends admin requests
- Public property API → Prisma database client: queries listings
backend/src/properties.ts - Admin API → Prisma database client: reads and writes
backend/src/admin.ts - Admin API → Admin auth: checks access
backend/src/admin.ts - Admin API → Listing validation: validates listings
backend/src/admin.ts - Listing validation → Location resolution: resolves location
backend/src/propertyInput.ts - Public property API → Location resolution: uses region keys
backend/src/properties.ts - Inquiry API → Prisma database client: stores inquiries
backend/src/inquiries.ts - Inquiry API → Admin auth: checks origin
backend/src/inquiries.ts - Inquiry API → Lead notification: notifies broker
backend/src/inquiries.ts - Prisma database client → PostgreSQL: connects
backend/src/db.ts