Book a strategy call
Real estate

WealthChoice admin and API

One Nuxt 4 app to replace WealthChoice’s Express API and React admin, with a redesigned admin and one API for its India and Dubai sites.

Web developmentAdmin panelAPI
(01) Brief

The brief.

WealthChoice lists property projects in Noida and Dubai on two websites, one for India and one for the UAE. Behind them sat an Express API on MySQL and a separate React admin, each built and shipped on its own.

The two had drifted apart. Admin screens called endpoints the API didn’t serve, nothing validated input, there were no tests, and schema changes went in by hand from SQL dumps. A change to a listing meant touching both codebases.

The new admin is built and rolling out now.

WealthChoice admin sign-in beside a blueprint floor plan of a two-bed unit
(02) Approach

What we did.

  1. 01One Nuxt 4 appThe admin screens and the API now live in one Nuxt 4 app. Nitro serves 129 admin endpoints and 16 public ones from the same repository and the same build.
  2. 02Postgres, migrations & validationPostgres replaces MySQL. Eight versioned migrations define the schema, Zod checks request bodies at the API boundary, deleted records can be restored, and key changes go to an audit log.
  3. 03A redesigned adminA drawing-set look with a blueprint grid, sheet labels and monospaced figures. Listings get bulk status changes and bulk delete; banners, testimonials and media reorder by drag or keyboard; one upload produces three WebP sizes.
  4. 04One API for both sitesEach website has a site record with its own currency, locale, timezone and hashed API key. The public API is documented in OpenAPI and served with Swagger in the same drawing-set style.
2 → 1Codebases, now that the Express API and React admin are one Nuxt app
0 → 98Test files, unit and end-to-end
4.0 → 0.7MB loaded by the sign-in page, old admin against the new one
(03) The work

The work.

(08) Start a project

Tell us where you want to grow.

Share a few details and we’ll come back with an honest view of what to do first, whether or not we’re the right fit.

info@legit.globalMon–Fri, replies within one business day
What do you need?

info@legit.global Replies within one business day

Tell us where you want to grow.

Share a few details and we’ll come back with an honest view of what to do first, whether or not we’re the right fit.

What do you need?