Back to projects

MARKETPLACE / FULL STACK

MasterAcres Property Platform

India’s real-estate marketplace

Full TypeScript monorepo: Expo mobile app, NestJS API, and React admin — connecting buyers, tenants, owners, agents, and builders on one verified property platform.

Expo ~57React NativeReact 19TypeScriptTanStack React QueryZustandReact Hook Form + Zodreact-native-maps
iOS Android Web
MasterAcres Property Platform — preview
MasterAcres Property Platform product preview

About the project

Full TypeScript monorepo: Expo mobile app, NestJS API, and React admin — connecting buyers, tenants, owners, agents, and builders on one verified property platform.

Mobile + API + Admin

Verified marketplace

Paid visits & wallets

KYC & CMS ops

Key features

  • Dual-sided marketplace — Seeking ↔ Listing on one account
  • Map, feed, and Shorts discovery with verified listings
  • Paid site visits with Razorpay, vendor OTP completion, cashback
  • Vendor Aadhaar KYC + admin document review
  • Properties and multi-unit projects with media pipeline
  • Master Coins wallet, ledger, and subscription plans

Project details

Role
Full Stack Engineer
Duration
2026
Type
Product
Status
In production

Tech stack

E7
RE
R9
TT
TY
ZD

Project gallery

More screenshots
coming soon

Technical deep dive
MasterAcres is India’s real-estate marketplace connecting buyers, tenants, owners, agents, and builders on one verified platform — with a native mobile app, a NestJS API, and a full back-office admin panel.

It is a production TypeScript monorepo covering listing discovery (feed, map, TikTok-style shorts), paid site visits, KYC-gated vendors, subscription plans, an in-app coin wallet, community requirements, blogs, and news — all gated through admin verification.

Product surfaces


| Surface | Audience | What it does |
| --- | --- | --- |
| Mobile (`apps/mobile`) | Buyers, tenants, vendors | Discover, save, enquire, list, book visits, pay plans |
| API (`apps/api`) | All clients | Auth, domain logic, payments, media, admin |
| Admin (`apps/admin`) | Platform operators | Verification queues, CMS, users, coins, audit |

Dual-sided marketplace: Seeking (buyer / tenant) and Listing (owner / agent / builder) on the same account, with a one-tap profile switch. Jaipur-first for the Indian property market.

Mobile app (Expo / React Native)


Seeking users browse verified inventory (feed, map, shorts), save listings, post requirements, and book paid site visits. Listing users complete KYC, publish properties and projects, set visit hours, and handle visit requests.

- Phone OTP + password auth, optional Google sign-in
- Home tabs: Explore, Map, Saved, Community
- Filters: verified, zero brokerage, luxury, owner-listed; buy vs rent
- Shorts — full-screen property video feed with like, save, follow builder
- Paid site visits (Razorpay) with vendor hours, OTP completion, cashback
- Master Coins wallet + subscription plans
- Vendor side: Aadhaar KYC, bank details, listings, projects/units, visit inbox

Stack: Expo ~57, React Native, React 19, TypeScript, TanStack Query, Zustand + SecureStore, React Hook Form + Zod, Axios services layer, react-native-maps, Razorpay.

NestJS API


Serves both mobile and admin: authentication, listings, projects, visits, payments, media, wallets, and CMS.

- NestJS 11, PostgreSQL + Sequelize, Passport JWT (access + refresh)
- Modules: auth, users, vendors, properties, projects, media, reels, visits, purchases, plans, master-coins, requirements, blogs/news, support, admin
- Razorpay orders + HMAC webhooks (KYC fee, visits, plans)
- Presigned S3 media + Lambda WebP variants
- MSG91 SMS OTP, Nodemailer email OTP; `RolesGuard` — `ADMIN` cannot be self-assigned
- Shared contracts in `@masteracres/types` and `@masteracres/constants`

Admin panel (React + Vite)


Compliance and CMS layer. Operators verify vendors and listings, manage users and wallets, publish blogs/news, and inspect audit and engagement.

- Dashboard counts, property/project review drawers, vendor KYC queue
- Users (role, ACTIVE/BLOCKED, Master Coins), plans, engagement, audit logs
- Requirements + explore banners with pixel-exact iPhone preview
- Blogs / News CMS; CSV export on tabular pages
- `RequireAdmin` gate; brand tokens shared with mobile

Stack: React 19, Vite, Tailwind 4, React Router 7, TanStack Query + Table, Zustand, Axios.

Architecture



┌─────────────────┐ ┌─────────────────┐
│ Expo mobile │ │ React admin │
│ (iOS / Android)│ │ (Vite SPA) │
└────────┬────────┘ └────────┬────────┘
│ JWT + refresh │
└──────────┬────────────┘

┌───────────────┐
│ NestJS API │
│ PostgreSQL │
│ S3 / Razorpay│
└───────────────┘


Production


- API — GitHub Actions → ECR / EC2
- Admin — `vite build` → S3 + CloudFront
- Mobile — EAS + TestFlight / Firebase App Distribution
Tarun Jawla — Full Stack Engineer · Freelance & Contract