Muhammad Arslan
M'engager
Retour aux projets

MLZ-Advanced

Une plateforme complète pour la vente de terrains et de biens immobiliers : acquisition de prospects, parcours client cartographique et console interne étendue pour la gestion des inventaires, des ventes, des paiements et des validations.

Rôle : Front-end engineer (multi-developer team)Calendrier : 2024-2026Type : Enterprise web app (PWA)

Next.js 16

React 19

TypeScript

Prisma + MongoDB

Mapbox GL

SCSS

Recharts

Composant d'analyse de projet MLZ affiché avec des données fictives d'inventaire de parcelles et de ventes

Aperçu

MLZ-Advanced est la plateforme d'exploitation au cœur d'une entreprise de vente immobilière. Un premier volet s'adresse au public et aux clients : pages d'atterrissage, explorateur cartographique pour les projets et parcelles, et parcours de manifestation d'intérêt d'achat avec vérification téléphonique. L'autre volet est une console interne complète où l'équipe gère l'ensemble des opérations commerciales, notamment les stocks, les clients, les demandes d'achat, les paiements, les approbations, les rapports et les communications. Il s'agit d'une application d'envergure, conçue comme une application web progressive (PWA) et fonctionnant en mode bilingue arabe et anglais.

Le Problème

La vente de terrains et de parcelles implique une grande quantité d'états complexes à suivre rigoureusement. Chaque parcelle comprend un prix, des dimensions, une orientation, un titre de propriété, les raccordements aux services publics et un statut qui évolue au fil de la transaction. Les clients passent de prospect à opportunité puis à acheteur, les paiements s'effectuent selon différentes modalités et nécessitent une validation, et de nombreuses actions requièrent une approbation formelle, notamment les reventes, les annulations et les modifications d'autorisations. Gérer tout cela au moyen de feuilles de calcul et d'outils déconnectés n'est pas viable à grande échelle. L'entreprise avait besoin d'un système unique prenant en charge à la fois le parcours utilisateur public et les rouages internes, avec la piste d'audit et les flux d'approbation indispensables aux opérations immobilières.

Mon Rôle et Mon Approche

Il s'agit d'un projet d'envergure mené en équipe qui s'est développé sur une longue période, au sein duquel j'ai travaillé en tant qu'ingénieur front-end. La base de code est organisée de façon à ce que des publics très différents (le grand public, les clients et le personnel interne) partagent un déploiement unique tout en restant clairement séparés par groupes de routes et autorisations. Une grande partie de mon travail front-end s'est concentrée sur les surfaces à forte composante interactive : cartes, éditeurs en masse, graphiques et vues détaillées denses où le personnel effectue concrètement ses tâches, développées sous forme de composants clients s'appuyant sur des données sécurisées rendues côté serveur.

Stack Technique

FrameworkNext.js 16 (App Router) with React 19 and TypeScript
DonnéesPrisma ORM over MongoDB, with server actions and API routes
CartesMapbox GL and react-map-gl, with GeoJSON/KML conversion for plot data
VisualisationRecharts and Chart.js for dashboards and reporting
StyleSCSS, global and per-page
État / donnéesJotai, SWR, and nuqs for URL state
IntégrationsResend (email), Azure MSAL (Microsoft identity), PostHog and Vercel analytics
Prise en chargeZod validation, bcrypt, sharp, JSZip, react-window for virtualised lists

Fonctionnalités Clés

Capture publique de prospectspages d'atterrissage, de contact et de politiques guidant les visiteurs vers la découverte du projet et la cartographie, tout en recueillant les coordonnées pour le suivi commercial.
Parcours client basé sur la carteexploration des projets et parcelles sur une carte interactive, consultation des fiches détaillées et transmission des marques d'intérêt pour l'achat, avec vérification téléphonique par code OTP et courriel ainsi que SMS de confirmation automatisés.
Gestion de l'inventaireprojets, emplacements et parcelles individuelles, chacun enrichi de métadonnées spatiales et commerciales détaillées et d'un statut (disponible, réservé, vendu, masqué).
CRM clientprofils, progression du statut de prospect à client, documents, notes, historique des communications et rappels.
Flux de demandes d'achatla passerelle reliant l'intérêt manifesté à la vente effective, avec affectation, suivi de statut et gestion du cycle de vie.
Paiements et financesregistres de paiement associés aux achats, plusieurs structures (paiement unique, échelonné, bancaire), pièces justificatives et actions d'approbation ou de rejet avec rapports.
Flux de validationmodèles configurables et validations multi-étapes pour les actions sensibles telles que la revente, l'annulation et la modification d'autorisations, avec piste d'audit complète.
Outils opérationnelsédition en masse, sauvegarde et restauration, tableaux de bord analytiques et interface bilingue arabe/anglais avec prise en charge du texte de droite à gauche (RTL).

Galerie

Vue d'ensemble de projet MLZ avec des chiffres fictifs de disponibilité des parcelles et de ventes
Graphiques de paiements et de demandes d'achat MLZ avec données de démonstration synthétiques

Défis et Solutions

La plateforme s'adresse à trois publics différents depuis une seule et même application, un équilibre délicat à concevoir. L'architecture s'appuie sur les route groups de Next.js pour isoler le site public, le parcours client et le tableau de bord interne selon leurs fonctions et leurs permissions, tout en partageant un déploiement unique. La mise en page du tableau de bord charge l'utilisateur connecté, identifie les modules propres à son service et filtre la navigation en conséquence.

La performance sous des volumes réels de données était l'autre défi permanent. Un inventaire foncier implique de longues listes, des cartes volumineuses et des pages de détail très denses en données. L'application conserve donc la récupération des données et l'autorisation côté serveur, tout en réservant les composants clients aux éléments véritablement interactifs : cartes, éditeurs de grille en masse, graphiques et modales. Des listes virtualisées maintiennent la réactivité des longs tableaux, et les données cartographiques sont converties en GeoJSON afin que les parcelles s'affichent sous forme d'objets spatiaux réels plutôt que d'images statiques.

Résultat

MLZ-Advanced est un système complet qui accompagne une entreprise immobilière depuis la première visite publique jusqu'à la vente finalisée, validée et payée, avec toute la précision d'inventaire, la profondeur CRM et les pistes de validation qu'exige ce secteur. Sa longévité et son envergure — une base de code développée sur plusieurs années et soumise à une forte activité — témoignent d'une plateforme qui a concrètement piloté une activité commerciale plutôt que d'un simple prototype.

Vous avez un problème de produit similaire ?

Partagez le produit actuel, le résultat dont vous avez besoin et les contraintes qui font déjà obstacle. J'utiliserai cela pour définir un premier jalon raisonnable.

Engager un développeur full stack
Commencer votre brief de projet
Tous les projetsProjet suivantPayment Gateway
MLZ-Advanced : Plateforme de vente et d'opérations immobilières (PWA) | Muhammad Arslan