Muhammad Arslan
Assumimi
Torna ai progetti

MLZ-Advanced

Una piattaforma end-to-end per la vendita di terreni e proprietà: acquisizione pubblica di contatti, percorso cliente basato su mappa e un'ampia console interna per inventario, vendite, pagamenti e approvazioni.

Ruolo: Front-end engineer (multi-developer team)Tempistiche: 2024-2026Tipo: Enterprise web app (PWA)

Next.js 16

React 19

TypeScript

Prisma + MongoDB

Mapbox GL

SCSS

Recharts

Componente di analisi del progetto MLZ visualizzato con inventario sintetico dei lotti e dati di vendita

Panoramica

MLZ-Advanced è la piattaforma operativa alla base di un'attività di compravendita immobiliare. Una parte è rivolta al pubblico e ai clienti: landing page, navigazione di progetti e lotti su mappa e un flusso per manifestare interesse all'acquisto con verifica telefonica. L'altra parte è una profonda console interna in cui il personale gestisce l'intera operazione di vendita, inclusi inventario, clienti, richieste di acquisto, pagamenti, approvazioni, reportistica e comunicazioni. Si tratta di un'applicazione su larga scala e a lungo termine, rilasciata come Progressive Web App ed eseguita in modalità bilingue in arabo e inglese.

Il problema

La vendita di terreni e lotti implica una grande quantità di stati difficili da gestire in modo lineare. Ciascun lotto include prezzi, dimensioni, orientamento, proprietà, allacciamenti e uno stato che varia durante l'avanzamento verso la vendita. I clienti progrediscono da lead a opportunità fino ad acquirenti, i pagamenti pervengono con diverse strutture e necessitano di approvazione, e molte operazioni richiedono conferme formali, incluse rivendite, cancellazioni e modifiche dei permessi. Gestire tutto questo tramite fogli di calcolo e strumenti scollegati non è scalabile. L'azienda necessitava di un unico sistema che integrasse il percorso visibile al pubblico e i meccanismi interni, garantendo la tracciabilità delle modifiche e le approvazioni necessarie a un'operazione immobiliare.

Il mio ruolo e approccio

Si tratta di un progetto di grandi dimensioni gestito in team, cresciuto nell'arco di un lungo periodo, in cui ho lavorato come front-end engineer. La codebase è strutturata in modo che target di utenti molto diversi – pubblico generico, clienti e personale interno – condividano un unico deployment rimanendo nettamente separati per gruppi di route e autorizzazioni. Gran parte del mio lavoro front-end si è concentrata sulle interfacce a elevata interazione: mappe, editor per modifiche massive, grafici e viste di dettaglio complesse dove il personale svolge effettivamente le proprie attività quotidiane, realizzate come client component su dati renderizzati dal server e protetti da controllo degli accessi.

Stack tecnologico

FrameworkNext.js 16 (App Router) with React 19 and TypeScript
DatiPrisma ORM over MongoDB, with server actions and API routes
MappeMapbox GL and react-map-gl, with GeoJSON/KML conversion for plot data
VisualizzazioneRecharts and Chart.js for dashboards and reporting
StileSCSS, global and per-page
Stato / datiJotai, SWR, and nuqs for URL state
IntegrazioniResend (email), Azure MSAL (Microsoft identity), PostHog and Vercel analytics
SupportoZod validation, bcrypt, sharp, JSZip, react-window for virtualised lists

Funzionalità chiave

Acquisizione pubblica di leadlanding page, pagine di contatto e informative legali che indirizzano i visitatori verso l'esperienza del progetto e della mappa, raccogliendo i dati di contatto per le attività di follow-up.
Percorso cliente basato su mappaesplora progetti e lotti su una mappa interattiva, visualizza i dettagli dei lotti e invia manifestazioni di interesse all'acquisto, con verifica telefonica tramite OTP ed e-mail e SMS automatici di conferma.
Gestione dell'inventarioprogetti, posizioni e singoli lotti, ciascuno dotato di ricchi metadati spaziali e commerciali e di uno stato (disponibile, riservato, venduto, nascosto).
CRM clientiprofili, avanzamento di stato da lead a cliente, documenti, note, cronologia delle comunicazioni e promemoria.
Flusso di lavoro per le richieste di acquistoil punto di passaggio dall'interesse alla vendita, con assegnazione, tracciamento dello stato e gestione dell'intero ciclo di vita.
Pagamenti e finanzaregistrazioni dei pagamenti collegate agli acquisti, molteplici formule (saldo unico, a rate, bancario), documenti giustificativi e operazioni di approvazione o rifiuto con reportistica.
Flussi di approvazionemodelli configurabili e approvazioni a più passaggi per azioni delicate come rivendita, annullamento e modifiche delle autorizzazioni, con un audit trail completo.
Strumenti operativimodifiche massive, backup e ripristino, dashboard analitiche e un'interfaccia utente bilingue arabo/inglese con supporto RTL.

Galleria

Panoramica del progetto MLZ con disponibilità dei lotti e dati di vendita di esempio
Grafici dei pagamenti e delle richieste di acquisto MLZ con dati dimostrativi sintetici

Sfide e soluzioni

La piattaforma serve tre tipologie di utenti a partire da un'unica applicazione, un aspetto in cui è facile incorrere in errori di progettazione. La struttura sfrutta i gruppi di route di Next.js per mantenere isolati per funzione e autorizzazioni il sito pubblico, il percorso cliente e la dashboard interna, condividendo un unico deployment. Il layout stesso della dashboard carica l'utente corrente, ricava i moduli del relativo reparto e filtra la navigazione di conseguenza.

Le prestazioni con volumi di dati reali sono state l'altra sfida costante. La gestione dell'inventario dei terreni comporta elenchi estesi, mappe complesse e pagine di dettaglio ad alta densità informativa; pertanto l'applicazione mantiene il recupero dati e l'autorizzazione sul server, riservando i componenti client alle parti realmente interattive: mappe, editor a griglia per modifiche in blocco, grafici e finestre modali. Gli elenchi virtualizzati mantengono reattive le tabelle estese, mentre i dati cartografici passano attraverso la conversione GeoJSON, consentendo ai lotti di essere renderizzati come autentici oggetti spaziali anziché immagini statiche.

Risultato

MLZ-Advanced è un sistema completo che accompagna un'azienda immobiliare dal primo visitatore pubblico fino a una vendita finalizzata, approvata e saldata, con il dettaglio d'inventario, la profondità del CRM e i percorsi di approvazione richiesti da questo tipo di operatività. La sua affidabilità nel tempo e la sua scala – una codebase attiva e sviluppata nell'arco di più anni – attestano una piattaforma che ha gestito un'attività reale e non un semplice prototipo.

Hai un problema di prodotto simile?

Condividi il prodotto attuale, il risultato di cui hai bisogno e i vincoli già presenti. Li utilizzerò per definire un primo milestone sensato.

Assumere uno sviluppatore full stack
Inizia il tuo project brief
Tutti i progettiProgetto successivoPayment Gateway
MLZ-Advanced: piattaforma operativa e di vendita immobiliare (PWA) | Muhammad Arslan