DMCI Homes Sales Admin Portal

React 19TypeScriptNode.jsExpressPrisma ORMMySQLRedisBullMQRedux ToolkitRTK QueryTailwind CSSAzure OpenAIAzure Blob StorageDynamics 365

About This Project

The DMCI Homes Sales Admin Portal is an enterprise-grade, browser-based administration system built for DMCI Homes - one of the Philippines' largest real estate developers. The portal serves as the central command hub for the company's entire sales pipeline, bridging property inventory, agent activity, client transactions, and backend compliance reporting under a single, permission-gated interface. The system supports multiple DMCI subsidiaries (DACN, DPDI, RDPV, EDVI, DMPV) from a single deployment, dynamically scoping data to the active company entity. It provides distinct dashboard experiences for administrators and field agents, rich analytics with time-period filtering, and full lifecycle management of property sales from unit listing through reservation, lottery allocation, payment setup, commission computation, and regulatory compliance. The backend is the central API powering the DMCI SID Portal - a comprehensive real estate sales platform. It manages the end-to-end lifecycle of a property sale: from AI-powered buyer identity verification using Azure OpenAI GPT-4o for OCR, through unit reservation with Redis distributed locks, online lottery, payment processing via Maya and Paynamics gateways, and commission tracking - all integrated with Microsoft Dynamics 365 ERP.

Screenshots

DMCI Homes Sales Admin Portal screenshot 1
DMCI Homes Sales Admin Portal screenshot 2
DMCI Homes Sales Admin Portal screenshot 3
DMCI Homes Sales Admin Portal screenshot 4
DMCI Homes Sales Admin Portal screenshot 5
DMCI Homes Sales Admin Portal screenshot 6
DMCI Homes Sales Admin Portal screenshot 7
DMCI Homes Sales Admin Portal screenshot 8
DMCI Homes Sales Admin Portal screenshot 9
DMCI Homes Sales Admin Portal screenshot 10
DMCI Homes Sales Admin Portal screenshot 11

What Makes It Unique

This project demonstrates full-stack ownership of an enterprise real estate platform - from AI-native ID verification with GPT-4o, concurrency-safe unit reservations with Redis distributed locks, multi-gateway payment processing, to a granular RBAC admin portal serving multiple corporate subsidiaries from a single deployment.

Key Features

  • AI-powered government ID scanning with GPT-4o - extracts and validates data from 18+ Philippine ID types
  • Face verification (selfie + ID matching) with liveness and spoof detection
  • Concurrency-safe unit holding system with Redis distributed locks preventing double-sales
  • Online lottery module for fair property unit allocation with randomized time-slot scheduling
  • Multi-gateway payment engine (Maya, Paynamics) with dynamic fee computation per unit type
  • Enterprise RBAC with module-level and action-level permission matrix
  • Multi-entity architecture serving 5 DMCI subsidiaries from a single deployment
  • Analytics dashboard with RA trend analysis and CRF frequency charts
  • JWT + Azure AD dual authentication with Redis-backed token invalidation
  • BullMQ background job processing for holding retries, agent sync, and notifications
  • AES-256-CBC encryption at rest for sensitive PII/identity data
  • Handlebars-templated HTML email notifications with Monaco Editor for template management

Challenges Faced

1.Preventing double-sales under concurrency - multiple agents targeting the same unit simultaneously. Implemented per-unit Redis distributed locks with on-queue retry via BullMQ cron jobs.
2.AI OCR accuracy across 18+ Philippine government ID formats with wildly inconsistent layouts - comma-separated names, labeled-field formats, and unlabeled lines all handled via extensive GPT-4o system prompts.
3.Deep Dynamics 365 integration - every core transaction orchestrates real-time calls to D365 ERP with typed service layers, retry semantics, and graceful error handling.
4.Real-time computation sheet integrating 8+ interdependent API queries that must resolve in the right order with cascading loading states while keeping the UI responsive.
5.Granular permission enforcement without performance degradation - building a PermissionManager utility that resolves per-module, per-action access synchronously across all route guards.
6.Dynamic reservation fee computation with priority waterfall resolution across property code, unit type, and related unit configurations.

Future Improvements

→Real-time WebSocket notifications for holding status updates, lottery slot announcements, and payment confirmations.
→Enhanced observability with OpenTelemetry distributed tracing and Prometheus/Grafana metrics dashboard.
→Multiple unit holdings per CRF with schema changes linking RA forms directly to unit holdings.
→End-to-end Playwright tests covering the lottery flow, computation sheet, and commission export paths.
→Dashboard personalisation allowing users to pin, reorder, or hide dashboard widgets.