All projects

Case study · Web systems

Mua Đất Quảng Ngãi

Live real-estate marketplace for land in Quang Ngai: map-based search, agencies managing their own listings, price history and buyer–seller messaging.

Role
Development and operation
Period
Apr 2026 — Present
Company
Personal
Status
Live
Mua Dat Quang Ngai home page on desktop
Mua Dat Quang Ngai home page on mobile

Context

The marketplace puts property listings in Quang Ngai on a map by their real location, so buyers can compare by area, land type and price, then message the seller directly.

Problems & solutions

  1. 01

    Removing Laravel, moving the API into Next.js

    The project started with a separate Laravel backend. In production that backend has been removed entirely: the Next.js App Router now hosts its own API under /api/v2, going through Prisma to Postgres on Supabase. One application to deploy, with no Postgres or Redis to install on the VPS.

  2. 02

    Location-based search

    Property is searched by location, so the database uses PostGIS. The map shows listings by area, along with Quang Ngai administrative-unit data and nearby amenities for each property.

  3. 03

    A large schema that keeps evolving

    Around 49 tables: listings, media, agents and agencies, listing packages, transactions, reviews, reports, conversations, notifications, price history. Schema changes are recorded as dated SQL files — user soft-delete, agent certification, price reports, roles.

  4. 04

    Testing and operations

    There is a Playwright test suite. It deploys to a VPS running CyberPanel with Node 22 and PM2, with a managed Supabase database.

Outcomes

  • Live at muadatquangngai.com.
  • Source code is public on GitHub.

Next project

Blockchain Credential

Continue
Get in touch!