All projects

Real Estate Platform · Mobile + Web

2026

A Saudi real-estate marketplace for First Tower Company — a Flutter client app, a React admin dashboard and a NestJS backend, with pre-publication review, advertiser verification and wallet-based promotion.

Role

Full-Stack Engineer — backend, admin dashboard and mobile app, deployed to a live staging server

Year

2026

Status
Staging
Stack
  • Flutter
  • NestJS
  • TypeScript
  • PostgreSQL
  • Prisma
  • Redis
  • React
  • Ant Design
  • Docker
  • Caddy
Manazel — Real Estate Platform — interface preview
01 / 12

Overview

Manazel is a Saudi real-estate platform built for First Tower Company: a client app for browsing and posting listings, an admin dashboard for running the marketplace, and a backend that connects them. The screenshots come from a build running on demo data, hosted on a live staging server.

Problem

A fragmented property market needs a platform that reviews a listing before it goes public, verifies who is advertising, and gives the operator full control. Advertisers also need a way to lift their listing in the ranking in exchange for credit from their wallet.

Solution

Nothing is published until a reviewer approves it, and location metadata is stripped from every uploaded photo. Advertisers move through verification levels, and listings, comments and users can all be reported. Promotion is paid from a wallet: top up a balance, spend it to raise a listing's rank, with invoices and full management from the dashboard.

Architecture

The backend is a NestJS (TypeScript) service split into independent modules with a hexagonal architecture, on PostgreSQL through Prisma with Redis for caching. The admin dashboard is a responsive React + Ant Design app in Arabic and English. The client app is a single Flutter codebase for Android, iOS and the browser, fully in Arabic. Everything is deployed with Docker behind Caddy, which provisions HTTPS automatically.

Features

Backend

  • Independent modules on a hexagonal architecture.
  • Image processing that removes location metadata.
  • Listing review, reports and advertiser verification.
  • Wallet, payments, invoices and listing promotion.
  • Terms publishing and notifications.

Admin dashboard

  • Listing review and promotion control.
  • Catalog seeded with 13 regions, 94 cities and 179 districts.
  • Fine-grained permissions and an audit log.
  • Invoice and quotation templates.
  • Brand identity and seasonal themes: six ready identities or a custom color, with a live preview and a one-click reset. The app has its own identity in a separate tab, so changing it never alters the dashboard.

Client app

  • Browse, search, filter and save listings.
  • Post a listing with photos and ordering.
  • Messages, wallet and promotion.
  • Notifications, account and verification.
  • Colors, name and logo driven from the dashboard.

Results

  • 390+ unit tests on the backend and 65 on the app.
  • Running over HTTPS on a live server behind a firewall.
  • Two separate identities: the dashboard and the app.

Project status

Staging on a live server; not yet launched to the public. Payments and verification messages use a sandbox provider until real keys are connected. App-store release and the public web version are still pending.

12Gallery

Select any screen to open it full size.

01Client App06

02Admin Dashboard06