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.

Next.jsTypeScriptMongoDBGeospatial searchPaymentsPWA

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

  1. A visitor searches listings and opens a property.
  2. An authenticated user submits a booking request; server-side rules evaluate availability.
  3. Booking and payment state are stored in MongoDB; media is stored separately.
  4. Hosts and administrators manage listings, calendars and transaction status.

Architecture

Next.js → MongoDB → S3 → PayHere

Avara Real Estate architectureProperty experience connects to Domain API. Domain API connects to Application data. Domain API connects to Property media. Domain API connects to Payments. Payments connects to Domain API.Property experienceNext.js / TypeScriptDomain APIAuth, listings, bookingsApplication dataMongoDB / geospatialProperty mediaAWS S3PaymentsPayHere
Component overview. Arrows show requests and data flow between the main parts of the product.
Avara Real Estate components and responsibilities
ComponentResponsibility
Next.js web + APICustomer, host and admin interfaces plus authenticated domain routes.
MongoDBUsers, properties, bookings and availability data.
S3Property images and uploaded media.
PayHerePayment 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