Muhammad Arslan
ご相談・ご依頼
プロジェクト一覧に戻る

MLZ-Advanced

土地および不動産販売向けのエンドツーエンドプラットフォーム:公開リード獲得、地図ベースのカスタマージャーニー、在庫・販売・支払い・承認を管理する大規模な内部コンソール。

担当役割: Front-end engineer (multi-developer team)開発期間: 2024-2026種別: Enterprise web app (PWA)

Next.js 16

React 19

TypeScript

Prisma + MongoDB

Mapbox GL

SCSS

Recharts

擬似的な区画在庫および売上データで描画されたMLZプロジェクト分析コンポーネント

概要

MLZ-Advancedは不動産販売ビジネスを支えるオペレーションプラットフォームです。一方は一般・顧客向けで、ランディングページ、プロジェクトや区画を探索できる地図ベースのブラウザ、電話番号認証付きの購入関心登録フローを備えています。もう一方は高機能な内部管理コンソールで、在庫、顧客、購入リクエスト、支払い、承認、レポーティング、コミュニケーションなど、販売オペレーション全体をスタッフが管理できます。プログレッシブウェブアプリ(PWA)として提供され、アラビア語と英語のバイリンガルで動作する、長期運用を見据えた大規模アプリケーションです。

課題

土地や区画の販売には、正確な整合性の維持が困難な多くの状態管理が伴います。各区画には価格設定、寸法、方角、所有権、ライフライン設備情報、そして販売進行に伴い遷移するステータスが付随します。顧客はリードから案件、購入者へと進み、支払いは多様な体系で発生するため承認が必要となり、転売、キャンセル、権限変更など多くの操作においてサインオフが求められます。これらをスプレッドシートや分散したツールで処理することには限界がありました。ビジネスが求めていたのは、不動産運用に不可欠な監査証跡と承認プロセスを備え、対外的なカスタマージャーニーと内部業務機構を一元的に担える単一のシステムでした。

役割とアプローチ

これは長期にわたって拡張されてきた大規模なチームプロジェクトであり、私はフロントエンドエンジニアとして参画しました。一般ユーザー、顧客、社内スタッフという全く異なる利用層が、単一のデプロイ環境を共有しながらも、ルートグループと権限によって明確に分離されるようコードベースが設計されています。私のフロントエンド業務の多くは、地図、一括編集エディタ、チャート、そしてスタッフが実務を行うデータ密度の高い詳細画面など、インタラクション負荷の高い領域に集中しており、サーバーレンダリングされたアクセス制御データの上にクライアントコンポーネントとして構築しました。

技術スタック

フレームワークNext.js 16 (App Router) with React 19 and TypeScript
データPrisma ORM over MongoDB, with server actions and API routes
地図Mapbox GL and react-map-gl, with GeoJSON/KML conversion for plot data
可視化Recharts and Chart.js for dashboards and reporting
スタイリングSCSS, global and per-page
状態/データJotai, SWR, and nuqs for URL state
外部連携Resend (email), Azure MSAL (Microsoft identity), PostHog and Vercel analytics
サポートZod validation, bcrypt, sharp, JSZip, react-window for virtualised lists

主な機能

公開リード獲得訪問者をプロジェクトやマップ体験へと誘導し、フォローアップ用の連絡先情報を収集するランディングページ、問い合わせページ、ポリシーページ。
マップ連動型カスタマージャーニーインタラクティブマップ上でのプロジェクトや区画の閲覧、区画詳細の確認、購入希望の送信。OTP電話番号認証と自動送信される確認メール・SMSを搭載。
在庫管理プロジェクト、所在地、個別区画。それぞれに充実した空間情報・販売メタデータとステータス(販売中、商談中、売却済、非表示)を保持。
顧客CRMプロファイル、リードから顧客へのステータス推移、ドキュメント、メモ、コミュニケーション履歴、リマインダー。
購入申請ワークフロー関心から成約へのゲートウェイ。担当割り当て、ステータス追跡、ライフサイクル管理を備えています。
決済および財務購入に紐づく支払い記録、多様な支払い体系(一括、分割、銀行振込)、証明書類、承認・却下アクションおよびレポーティング。
承認ワークフロー完全な監査証跡を備え、転売、キャンセル、権限変更などの重要な操作に対応する構成可能なテンプレートと多段階承認。
運用管理ツール一括編集、バックアップおよび復元、アナリティクスダッシュボード、RTL対応の二言語(アラビア語/英語)UI。

ギャラリー

区画の空き状況と売上サンプルの数値を表示したMLZプロジェクト概要
擬似デモデータによるMLZ支払い・購入リクエストグラフ

課題と解決策

本プラットフォームは単一のアプリケーションから3つの異なる利用層に対応していますが、これは設計を誤りやすいポイントです。単一のデプロイを維持しながら、公開サイト、カスタマージャーニー、社内ダッシュボードを機能と権限ごとに分離するため、Next.jsのルートグループを基盤とした構造を採用しています。ダッシュボードのレイアウト自体が現在のユーザー情報を読み込み、所属部門に応じたモジュールを導出してナビゲーションを適切にフィルタリングします。

実データ規模でのパフォーマンス確保も、常に求められる要件でした。土地の在庫管理では、大規模なリスト、重い地図表示、データ密度の高い詳細ページが不可欠となります。そのため、本アプリではデータ取得と認可処理をサーバー側にとどめ、クライアントコンポーネントは地図、一括グリッドエディタ、チャート、モーダルなど、真にインタラクティブな要素に限定しました。仮想化リストによって長大なテーブルの応答性を維持し、地図データはGeoJSON変換を経由させることで、区画を静的画像ではなく実空間オブジェクトとして描画しています。

成果

MLZ-Advancedは、一般のウェブ訪問者から承認・決済完了に至る販売プロセス全体をカバーし、現場運用が求める在庫詳細、緻密なCRM機能、承認証跡を備えた包括的なシステムです。複数年にわたる高稼働なコードベースというその持続性と規模は、単なるプロトタイプではなく、実業を力強く支えてきたプラットフォームであることを物語っています。

同様のプロダクト課題をお持ちですか?

現在のプロダクト状況、達成したい成果、直面している制約についてお聞かせください。それらをもとに適切な第1マイルストーンを策定します。

フルスタック開発者の採用
プロジェクト概要を送る
すべてのプロジェクト次のプロジェクトPayment Gateway
MLZ-Advanced: 不動産販売・オペレーションプラットフォーム (PWA) | Muhammad Arslan