Real-estate product
Avara Real Estate
A Sri Lankan property platform spanning rentals, property sales and short-term bookings with role-based users, geospatial search, availability, booking workflows, payments and property operations.
Product work and architecture overview by Savi Saluwadana.
What it does
- Who it serves
- Property seekers, tenants, hosts and administrators.
- Product purpose
- Property discovery, transactions and host operations in Sri Lanka.
- Rental, sale and short-stay listings with location and geospatial search.
- Role-aware property administration and media uploads.
- Availability calendars, booking workflows and local payment integration.
How it works
- A visitor searches listings and opens a property.
- An authenticated user submits a booking request; server-side rules evaluate availability.
- Booking and payment state are stored in MongoDB; media is stored separately.
- Hosts and administrators manage listings, calendars and transaction status.
Architecture
Next.js → MongoDB → S3 → PayHere
| Component | Responsibility |
|---|---|
| Next.js web + API | Customer, host and admin interfaces plus authenticated domain routes. |
| MongoDB | Users, properties, bookings and availability data. |
| S3 | Property images and uploaded media. |
| PayHere | Payment initiation and server-side notification handling. |
Current scope
This diagram summarizes the repository’s property, booking and payment boundaries. PayHere and S3 require deployment-specific configuration.
Architecture summary reviewed . Repository documentation.
Contributor notes
Run locally
Configure MongoDB and environment variables; npm install; npm run dev
Design decision
A single Next.js app handles property workflows and MongoDB storage.
Trade-off
A unified app is easier to run, but payment and media require configured external services.
Unfinished
Production checklist and external payment/storage configuration remain.
Licence: Proprietary, all rights reserved