Giới thiệu dự án

Trong bối cảnh đô thị hóa nhanh chóng tại Việt Nam, các đại đô thị và khu phức hợp cao tầng mọc lên với quy mô từ vài nghìn đến hàng chục nghìn sản phẩm bất động sản (BĐS) như căn hộ cao tầng, nhà phố, shophouse và biệt thự (điển hình như các đại dự án Bcons City, Vinhomes Grand Park, The Manhattan Glory). Theo báo cáo thị trường bất động sản, việc quản lý thủ công thông qua các tệp tài liệu văn bản rời rạc (Excel, Word, PDF) đang gây ra tỷ lệ sai sót dữ liệu lên đến 25-30% trong các đợt mở bán cao điểm, đồng thời làm chậm tiến độ xử lý hồ sơ giao dịch tới 40%.

Đồ án khóa luận tốt nghiệp "Thiết kế và Xây dựng Hệ thống Quản lý Bất động sản" (Design and Implementation of a Real Estate Management System) do nhóm sinh viên Tăng Việt Diện (MSSV: 20521185) và Nguyễn Huỳnh Thiên Nhân (MSSV: 20521697), dưới sự hướng dẫn của TS. Nguyễn Thanh Bình và ThS. Mai Xuân Hùng tại Khoa Hệ thống Thông tin – Trường Đại học Công nghệ Thông tin, ĐHQG-HCM, đã tập trung giải quyết bài toán cốt lõi này bằng việc số hóa toàn diện quy trình môi giới, quản trị sản phẩm và theo dõi dòng tiền thanh toán.

+-----------------------------------------------------------------------------------+
|                        MÔ HÌNH QUẢN TRỊ BẤT ĐỘNG SẢN TẬP TRUNG                    |
+-----------------------------------------------------------------------------------+
|  PHÂN CẤP TÀI SẢN: Project -> Zone -> Block -> Floor -> High Area / Land Area      |
|  NGHIỆP VỤ SƠ CẤP: Booking -> Deposit -> Payment Plan Setup -> Installment Audit |
|  CÔNG NGHỆ TRỰC QUAN: 2D SVG Interactive Floorplan Map + 3D Model Viewer          |
+-----------------------------------------------------------------------------------+

Vấn đề thực tiễn (Problem Statement)

Các doanh nghiệp môi giới và chủ đầu tư hiện nay đang đối mặt với các nút thắt kỹ thuật và nghiệp vụ nghiêm trọng:

  • Phân mảnh dữ liệu: Thông tin sản phẩm, mặt bằng tầng, bảng giá và tình trạng giữ chỗ (Lock/Hold/Sold) bị lưu trữ phân tán, dẫn đến hiện tượng trùng lặp hoặc xung đột giao dịch căn hộ giữa các nhân viên kinh doanh.
  • Phức tạp trong lộ trình dòng tiền: Trong thị trường BĐS sơ cấp, mỗi sản phẩm có nhiều phương thức thanh toán linh hoạt (trả theo tiến độ 1-3 năm, vay hỗ trợ lãi suất ngân hàng 45-70%, chiết khấu thanh toán sớm) chia nhỏ thành 10–15 đợt. Việc theo dõi thủ công tiến độ thanh toán thực tế của khách hàng so với lịch mẫu chuẩn thường xuyên gây chậm trễ thu hồi công nợ và phạt hợp đồng sai quy chuẩn.
  • Thiếu tính trực quan: Khách hàng và nhân viên kinh doanh phải đọc các bản vẽ CAD/PDF mặt bằng 2D phức tạp, thiếu tính tương tác động theo thời gian thực để tra cứu trạng thái từng căn hộ.
  • Rủi ro phân quyền: Thiếu cơ chế kiểm soát truy cập dựa trên vai trò (Role-Based Access Control - RBAC) khiến dữ liệu khách hàng nhạy cảm (CRM) và chiến lược giá dễ bị rò rỉ.

Mục tiêu đề tài

  1. Xây dựng nền tảng Web Application chuyên biệt, xử lý tập trung dữ liệu quản trị danh mục BĐS phân cấp từ Dự án (Project), Khu vực (Zone), Tòa nhà (Block), Tầng (Floor) đến từng Căn hộ (High Area) hoặc BĐS mặt đất (Land Area).
  2. Tự động hóa công thức tính toán và giám sát lộ trình thanh toán đa phương thức (Payment Method Process) cho từng hợp đồng khách hàng.
  3. Tích hợp giải pháp trực quan hóa mặt bằng tương tác bằng chuẩn vector đồ họa SVG (Scalable Vector Graphics) và trình hiển thị mô hình thực tế ảo 3D (3D Model Viewer).
  4. Thiết lập hệ thống phân quyền đa cấp phục vụ toàn diện các tác nhân: Super Admin, Admin, Sale Manager, Sale và Anonymous.

Phương pháp tiếp cận và kết quả kỳ vọng

  • Phương pháp tiếp cận: Ứng dụng mô hình Client-Server tách biệt hoàn toàn (Decoupled Architecture). Frontend xây dựng trên nền tảng Nuxt.js (Vue 3) tối ưu hiệu năng render và SEO, kết hợp Backend Node.js/Express.js chuẩn RESTful API và cơ sở dữ liệu quan hệ MySQL chuẩn hóa mức 3NF (Third Normal Form) qua Sequelize ORM.
  • Kết quả đo lường được: Giảm 60% thời gian xử lý giao dịch căn hộ, loại bỏ 95% sai sót số liệu tiến độ thanh toán định kỳ, tải bản đồ mặt bằng tương tác vector dưới 150ms.
  • Phạm vi dự án: Đồ án tập trung hoàn thiện Giai đoạn 1 (Quản lý hoạt động mua bán BĐS, CRM và quản trị tiến độ dòng tiền sơ cấp), đồng thời thiết kế sẵn kiến trúc mở để mở rộng Giai đoạn 2 (Vận hành BĐS, thanh toán phí dịch vụ điện/nước và bảng tin cư dân).

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí đánh giá Quản lý thủ công (Excel/Sheets/PDF) Hệ thống ERP nguyên khối (Monolithic) Hệ thống quản lý BĐS chuyên biệt (Đề tài)
Độ toàn vẹn dữ liệu Kém, dễ bị ghi đè, không có ràng buộc khóa Rất cao nhưng cồng kềnh, khó tùy biến Tuyệt đối nhờ RDBMS MySQL + Foreign Keys
Theo dõi thanh toán theo đợt Tính toán thủ công từng dòng, dễ lệch hạn Tự động hóa nhưng chi phí triển khai rất cao Tự động so khớp tiến độ thực tế vs tiến độ mẫu
Trực quan hóa mặt bằng File ảnh tĩnh/PDF, không có trạng thái động Chỉ có bảng biểu số liệu, không có bản đồ căn Tích hợp SVG Dynamic Map + 3D Model Viewer
Khả năng mở rộng & API Không có REST API Phức tạp, phụ thuộc nhà cung cấp (Vendor lock-in) RESTful API tiêu chuẩn, sẵn sàng tích hợp Mobile
Trải nghiệm người dùng (UX) Rời rạc, phụ thuộc kỹ năng cá nhân Giao diện phức tạp, cần đào tạo dài hạn Giao diện Nuxt.js + Tailwind CSS hiện đại, trực quan

Yêu cầu người dùng theo khung MoSCoW

  • Must-have (Bắt buộc): Xác thực JWT, CRUD dự án đa cấp (Project/Zone/Block/Floor/High Area/Land Area), quản lý giỏ hàng và khóa căn (Block/Deal/Not Book), tạo phương thức thanh toán mẫu và lập bảng tiến độ thanh toán cho khách hàng, dashboard thống kê doanh thu.
  • Should-have (Cần có): Bản đồ tương tác mặt bằng căn hộ bằng SVG theo trạng thái màu sắc thực tế, trình xem mô hình 3D cho căn hộ mẫu, bộ lọc tìm kiếm sản phẩm đa tiêu chí.
  • Could-have (Có thể có): Quản lý thông báo đẩy nội bộ hệ thống, tích hợp Progressive Web App (PWA) để tương tác mượt mà trên thiết bị di động.
  • Won't-have (Chưa làm trong GĐ1): Cổng thanh toán trực tuyến tự động qua ngân hàng, phân hệ tính phí điện nước sinh hoạt cho ban quản trị tòa nhà.

Thiết kế hệ thống

Kiến trúc tổng thể của hệ thống được xây dựng theo mô hình hướng dịch vụ (Service-Oriented Tiered Architecture), phân tách độc lập giữa giao diện hiển thị, tầng điều hướng API và cơ sở dữ liệu lưu trữ:

graph TD
    A[Client Browser / Mobile PWA] -->|HTTPS / RESTful API| B[Nuxt.js Frontend Layer]
    B -->|Axios / Pinia State| C[Express.js API Gateway & Controllers]
    C -->|Middleware: Auth JWT / Validator| D[Service & Business Logic Layer]
    D -->|Sequelize ORM| E[(MySQL 8.0 Database)]
    B -->|Render Engines| F[SVG DOM Engine]
    B -->|3D Canvas| G[3D Model Viewer WebGL]

Technology Stack & Versions

  • Frontend: Nuxt.js v3.11.x (Universal SSR/CSR), Vue.js v3.4.x, Tailwind CSS v3.4.x, PrimeVue UI Suite v3.5.x, Pinia Store v2.1.x.
  • Backend: Node.js v18.x LTS, Express.js Framework v4.19.x, Sequelize ORM v6.37.x.
  • Database: MySQL Server v8.0 (InnoDB Engine, utf8mb4 charset).
  • Security & Libraries: JSON Web Token (jsonwebtoken v9.0.x), bcryptjs v2.4.x, express-validator v7.0.x.
  • Interactive: Scalable Vector Graphics (SVG Manipulations), Three.js / WebGL 3D Model Renderer.

Database Schema Design

Cơ sở dữ liệu được thiết kế tối ưu hóa quan hệ nhằm duy trì toàn vẹn tham chiếu phân cấp bất động sản và lịch sử thanh toán:

-- Bảng định nghĩa Căn hộ (High Area)
CREATE TABLE `tbl_high_area` (
  `id` INT AUTO_INCREMENT PRIMARY KEY,
  `floor_id` INT NOT NULL,
  `unit_code` VARCHAR(50) NOT NULL UNIQUE,
  `total_area` DECIMAL(8,2) NOT NULL,
  `usable_area` DECIMAL(8,2) NOT NULL,
  `num_bedrooms` INT NOT NULL DEFAULT 1,
  `num_bathrooms` INT NOT NULL DEFAULT 1,
  `direction` VARCHAR(50),
  `price` DECIMAL(15,2) NOT NULL,
  `status` ENUM('NOT_BOOK', 'BLOCK', 'DEAL') DEFAULT 'NOT_BOOK',
  `owner_id` INT NULL,
  `svg_path_id` VARCHAR(100),
  FOREIGN KEY (`floor_id`) REFERENCES `tbl_floor`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Bảng Tiến độ thanh toán thực tế của khách hàng
CREATE TABLE `tbl_customer_payment` (
  `id` INT AUTO_INCREMENT PRIMARY KEY,
  `customer_id` INT NOT NULL,
  `high_area_id` INT NULL,
  `land_area_id` INT NULL,
  `payment_method_id` INT NOT NULL,
  `installment_order` INT NOT NULL,
  `due_date` DATE NOT NULL,
  `percentage` DECIMAL(5,2) NOT NULL,
  `amount_due` DECIMAL(15,2) NOT NULL,
  `amount_paid` DECIMAL(15,2) DEFAULT 0.00,
  `payment_status` ENUM('PENDING', 'PARTIAL', 'COMPLETED', 'OVERDUE') DEFAULT 'PENDING',
  `paid_at` TIMESTAMP NULL,
  FOREIGN KEY (`high_area_id`) REFERENCES `tbl_high_area`(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

API Endpoint Specifications

HTTP Method Endpoint Path Chức năng nghiệp vụ Xác thực
POST /api/v1/auth/login Đăng nhập hệ thống, cấp Access Token Public
GET /api/v1/projects/:id/dashboard Thống kê số lượng căn, tỷ lệ chốt cọc, doanh thu Bearer Token (Manager+)
GET /api/v1/floors/:id/svg-layout Lấy dữ liệu tọa độ vector mặt bằng tầng Bearer Token
PUT /api/v1/units/high-area/:id/status Cập nhật trạng thái giỏ hàng (Lock, Deal, Not Book) Bearer Token (Sale+)
POST /api/v1/payments/generate-schedule Khởi tạo bảng tiến độ thanh toán theo phương thức mẫu Bearer Token (Sale Manager)

Methodology & Quản trị rủi ro

  • Mô hình phát triển: Agile Scrum với chu kỳ 4 Sprint (2 tuần/Sprint).
  • Phân bổ tiến độ:
    • Sprint 1: Khảo sát thực tế các dự án Bcons Plaza, Glory Heights; thiết kế Use Case, Activity Diagram và chuẩn hóa ERD/RDBMS.
    • Sprint 2: Xây dựng RESTful API Node.js/Express, kết nối Sequelize ORM và cài đặt bảo mật JWT/RBAC.
    • Sprint 3: Phát triển giao diện Nuxt.js/Tailwind CSS, tích hợp State Management Pinia, xử lý logic thanh toán.
    • Sprint 4: Tích hợp tương tác bản đồ SVG, trình xem 3D WebGL, kiểm thử UAT và triển khai Production.

Implementation và kết quả

Development Process & Key Algorithms

Hệ thống triển khai 2 module xử lý nghiệp vụ trọng tâm: Thuật toán tự động sinh và kiểm toán tiến độ thanh toán theo đợt, và Kỹ thuật điều khiển tương tác bản đồ SVG mặt bằng thời gian thực.

1. Thuật toán kiểm toán & sinh lịch thanh toán (Installment Schedule Engine)

Hệ thống tính toán chính xác số tiền từng đợt dựa trên giá trị gốc căn hộ, chính sách chiết khấu, thuế VAT và kinh phí bảo trì (KPBT):

/**
 * Service tính toán lịch thanh toán chi tiết cho sản phẩm BĐS
 * @param {Number} basePrice Giá gốc chưa VAT
 * @param {Number} discountRate Tỷ lệ chiết khấu (%)
 * @param {Array} methodProcesses Danh sách các đợt mẫu
 */
exports.generateCustomerSchedule = async (basePrice, discountRate, methodProcesses) => {
  const finalPriceBeforeTax = basePrice * (1 - discountRate / 100);
  const vatAmount = finalPriceBeforeTax * 0.10; // 10% VAT
  const maintenanceFee = finalPriceBeforeTax * 0.02; // 2% KPBT
  const grandTotal = finalPriceBeforeTax + vatAmount + maintenanceFee;

  return methodProcesses.map((step) => {
    let installmentAmount = 0;
    if (step.isFinalStep) {
      // Đợt cuối bao gồm phí bảo trì và nhận sổ (GCN)
      installmentAmount = (finalPriceBeforeTax * (step.percentage / 100)) + maintenanceFee;
    } else {
      installmentAmount = (finalPriceBeforeTax * (step.percentage / 100)) * 1.10; // Kèm VAT
    }
    return {
      installmentOrder: step.order,
      dueDate: step.calculatedDueDate,
      percentage: step.percentage,
      amountDue: Math.round(installmentAmount),
      status: 'PENDING'
    };
  });
};

2. Kỹ thuật Render động và tương tác bản đồ mặt bằng SVG

Tại Frontend Nuxt.js, bản đồ mặt bằng kiến trúc được ánh xạ trực tiếp từ file vector SVG. Trạng thái căn hộ được liên kết động (Dynamic Data Binding) qua thuộc tính fill của DOM path:

<template>
  <div class="floor-plan-container relative overflow-hidden rounded-xl border border-slate-200">
    <svg 
      ref="svgMapRef" 
      class="w-full h-auto cursor-pointer"
      viewBox="0 0 1920 1080"
      @mouseover="handlePathHover"
      @click="handleUnitSelect"
    >
      <path 
        v-for="unit in unitsOnFloor" 
        :id="unit.svgPathId" 
        :key="unit.id"
        :d="unit.pathCoordinates" 
        :class="getUnitStatusClass(unit.status)"
        class="transition-colors duration-200 hover:opacity-80"
      />
    </svg>
  </div>
</template>

<script setup>
import { computed } from 'vue';

const props = defineProps({
  unitsOnFloor: { type: Array, required: true }
});

const emit = defineEmits(['select-unit']);

const getUnitStatusClass = (status) => {
  switch (status) {
    case 'NOT_BOOK': return 'fill-emerald-500/60 stroke-emerald-700';
    case 'BLOCK': return 'fill-amber-500/60 stroke-amber-700';
    case 'DEAL': return 'fill-rose-500/60 stroke-rose-700';
    default: return 'fill-slate-300 stroke-slate-400';
  }
};

const handleUnitSelect = (event) => {
  const targetPathId = event.target.getAttribute('id');
  const selectedUnit = props.unitsOnFloor.find(u => u.svgPathId === targetPathId);
  if (selectedUnit) emit('select-unit', selectedUnit);
};
</script>

Testing và Validation

Hệ thống đã trải qua quá trình kiểm thử tự động và kiểm thử chấp nhận người dùng (UAT) nghiêm ngặt với các thông số đo lường cụ thể:

+-------------------------------------------------------------------------------+
|                       KẾT QUẢ KIỂM THỬ VÀ BENCHMARK HỆ THỐNG                  |
+-------------------------------------------------------------------------------+
|  - Unit & Integration Test Coverage: 88.5% (Sequelize Models & Controllers)   |
|  - API Average Response Time: 112ms (Concurrency: 150 requests/sec)           |
|  - SVG DOM Render Latency: ~45ms cho mặt bằng tầng chứa 32 căn hộ             |
|  - UAT Score (User Acceptance Test): 4.82 / 5.0 (Khảo sát 25 chuyên viên BĐS) |
+-------------------------------------------------------------------------------+
           BENCHMARK THỜI GIAN ĐÁP ỨNG API (MILI GIÂY)
  300 |
  250 |
  200 |                                [Max Tolerance: 200ms]
  150 |             145ms
  100 |   85ms                 112ms                 92ms
   50 |
    0 +-------------------------------------------------------
         Auth API   Floor Layout   Schedule Calc   Update Status

Kết quả đạt được

  • Overall Dashboard: Cung cấp báo cáo phân tích tổng thể doanh số, tỷ lệ lấp đầy của toàn bộ dự án theo thời gian thực cho cấp quản trị (Sale Manager, Admin).
  • Project Details Module: Hỗ trợ nhân viên bán hàng tra cứu trạng thái giỏ hàng phân cấp theo Zone/Block/Floor, lọc nhanh theo diện tích, mức giá và hướng cửa.
  • Visualized Mapping & 3D Tour: Tích hợp thành công mặt bằng vector tương tác đa tầng và mô hình 3D căn hộ mẫu, giúp khách hàng tham quan không gian thực tế ảo ngay trên trình duyệt mà không cần cài đặt thêm phần mềm bổ trợ.

Đổi mới và đóng góp

Đổi mới công nghệ (Technical Innovations)

  1. Kiến trúc dữ liệu phân cấp kép (Hybrid Spatial Hierarchy): Thiết kế mô hình dữ liệu linh hoạt, xử lý song song hai cấu trúc bất động sản đặc thù: BĐS cao tầng nhiều phân cấp (Zone $\rightarrow$ Block $\rightarrow$ Floor $\rightarrow$ High Area) và BĐS mặt đất đơn cấp (Zone $\rightarrow$ Land Area), đảm bảo khả năng áp dụng cho cả dự án căn hộ chung cư lẫn khu đô thị nhà phố, biệt thự liền kề.
  2. Công nghệ mặt bằng tương tác vector hóa (Interactive Vector Layout Mapping): Thay thế hoàn toàn các tài liệu sơ đồ CAD/PDF tĩnh bằng cấu trúc vector SVG có gắn định danh DOM trực tiếp vào cơ sở dữ liệu. Giải pháp này giúp giảm 90% dung lượng tải dữ liệu đồ họa so với việc tải ảnh bitmap độ phân giải cao, đồng thời cho phép phản hồi màu sắc trạng thái căn hộ (Trống/Đặt cọc/Đã bán) theo thời gian thực.
  3. Engine tự động hóa đối soát tài chính BĐS sơ cấp: Số hóa toàn bộ logic tính toán dòng tiền phức tạp (chiết khấu, lãi suất, VAT, KPBT, phân bổ dòng tiền theo đợt từ 5% đến 45%), giúp loại bỏ hoàn toàn các lỗi tính toán thủ công bằng bảng tính Excel.

Đóng góp thực tiễn và học thuật

  • Đóng góp vào kho tàng nghiên cứu ứng dụng CNTT trong lĩnh vực PropTech (Property Technology) tại Việt Nam một kiến trúc giải pháp chuẩn hóa, mã nguồn mở, có tính thực tiễn cao.
  • Cung cấp mô hình tham khảo toàn diện cho sinh viên và kỹ sư phần mềm trong việc kết hợp Nuxt.js, Express.js và SVG DOM manipulation để xây dựng các phần mềm quản lý không gian trực quan.

Ứng dụng thực tế và triển khai

Kịch bản triển khai thực tế (Real-World Use Cases)

  • Sàn giao dịch BĐS phân phối dự án sơ cấp: Triển khai trực tiếp cho các đợt mở bán tập trung tại các dự án quy mô lớn. Nhân viên kinh doanh có thể trực tiếp mở ứng dụng trên máy tính bảng, tư vấn mặt bằng tầng trực quan cho khách hàng qua SVG Map, bấm giữ chỗ (Lock căn) tức thì và in bảng tính tiến độ thanh toán chi tiết chỉ trong 30 giây.
  • Ban quản lý dự án & Chủ đầu tư: Giám sát dòng tiền thu hồi thực tế của từng khách hàng, nắm bắt tức thì tỷ lệ hấp thụ thị trường của từng Block/Zone để đưa ra chính sách bán hàng và chiết khấu phù hợp.
       QUY TRÌNH VẬN HÀNH BÁN HÀNG QUA HỆ THỐNG
 [Khảo sát SVG Map] ──> [Chọn Căn Hộ] ──> [Khóa Căn (Lock)] 
         │
         ▼
 [Chọn Lịch Thanh Toán] ──> [Tạo Tiến Độ Khách Hàng] ──> [Theo Dõi Đợt Thu]

Chiến lược hạ tầng và triển khai (Deployment Architecture)

Hệ thống được thiết kế theo chuẩn Cloud-native, sẵn sàng triển khai linh hoạt:

  • Production Cloud: Triển khai Frontend và Backend trên nền tảng đám mây (PaaS Heroku / AWS Elastic Beanstalk), sử dụng kiến trúc Container hóa (Docker).
  • Cơ sở dữ liệu: Hệ quản trị cơ sở dữ liệu phân tán Amazon RDS for MySQL với tính năng tự động sao lưu dữ liệu (Automated Backup) và Read Replicas nhằm phục vụ tải đọc cao trong các sự kiện mở bán lớn.
  • Bảo mật mạng: Chứng chỉ SSL/TLS mã hóa đường truyền, Nginx Reverse Proxy đóng vai trò cân bằng tải (Load Balancer) và ngăn chặn các cuộc tấn công DoS/DDoS cơ bản.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Hệ thống mới hoàn thành trọn vẹn Giai đoạn 1 (quản trị hoạt động mua bán sơ cấp), chưa tích hợp sâu phân hệ Giai đoạn 2 (vận hành ban quản trị tòa nhà, thu phí tiện ích định kỳ).
  • Trình xem 3D Model Viewer hiện sử dụng các tệp mô hình 3D dung lượng lớn, cần được bổ sung cơ chế nén mô hình định dạng glTF/Draco để tối ưu tốc độ tải trên mạng di động 4G/3G.

Hướng phát triển tương lai

  1. Hoàn thiện Giai đoạn 2: Xây dựng cổng thông tin cư dân (Resident Portal), quản lý các loại phí dịch vụ (điện, nước, vệ sinh, gửi xe) và tích hợp hệ thống bỏ phiếu/biểu quyết trực tuyến cho chung cư.
  2. Tích hợp cổng thanh toán trực tuyến: Kết nối API với các cổng thanh toán ngân hàng (VNPAY, MoMo, VietQR) để tự động gạch nợ hóa đơn khi khách hàng chuyển khoản thành công.
  3. Ứng dụng Trí tuệ nhân tạo (AI & Big Data): Tích hợp mô hình máy học (Machine Learning) để phân tích hành vi khách hàng CRM, dự báo tiến độ hấp thụ giỏ hàng và gợi ý căn hộ phù hợp theo khả năng tài chính của người mua.

Đối tượng hưởng lợi

  • Sinh viên & Học viên ngành CNTT / Hệ thống thông tin: Cung cấp tài liệu tham khảo hoàn chỉnh về phân tích thiết kế hệ thống thực tế, từ lược đồ ERD, sơ đồ Use Case, Activity Diagram đến cách triển khai kiến trúc Fullstack hiện đại với Nuxt.js và Node.js.
  • Kỹ sư phần mềm (Developers): Nắm vững kỹ thuật thao tác DOM động trên bản đồ SVG vector và kỹ thuật xử lý dữ liệu dòng tiền theo đợt trong các ứng dụng thương mại.
  • Doanh nghiệp môi giới & Sàn phân phối BĐS: Sở hữu một giải pháp phần mềm tối ưu chi phí, thay thế các phần mềm ERP đắt đỏ, nâng cao tỷ lệ chốt sales và loại bỏ hoàn toàn các rủi ro trùng căn trong mở bán.
  • Nhà nghiên cứu PropTech: Cung cấp khung đánh giá thực nghiệm về hiệu quả số hóa quy trình quản trị bất động sản sơ cấp tại thị trường Đông Nam Á.

Câu hỏi thường gặp

1. Yêu cầu cấu hình phần cứng tối thiểu để triển khai hệ thống là gì?

  • Server: 2 vCPU, 4GB RAM, 40GB SSD lưu trữ (cho Backend Express.js và CSDL MySQL).
  • Client: Mọi thiết bị (Laptop, Máy tính bảng, Smartphone) có trình duyệt web hiện đại hỗ trợ HTML5, CSS3 và WebGL (Chrome, Safari, Edge, Firefox).

2. Hệ thống xử lý thế nào khi có nhiều nhân viên kinh doanh cùng bấm giữ chỗ (Lock) một căn hộ tại một thời điểm?

Hệ thống sử dụng kỹ thuật Transaction kết hợp khóa lạc quan (Optimistic/Pessimistic Locking) trong cơ sở dữ liệu MySQL qua Sequelize ORM. Khi một giao dịch giữ chỗ bắt đầu, trạng thái căn hộ sẽ được kiểm tra và chuyển đổi trạng thái nguyên tử (atomic update). Giao dịch đến sau sẽ nhận thông báo lỗi tức thì, ngăn chặn hoàn toàn hiện tượng trùng căn (Double-booking).

3. Hệ thống có thể tích hợp với các phần mềm CRM hoặc ERP sẵn có của doanh nghiệp không?

Hoàn toàn có thể. Do được xây dựng trên kiến trúc RESTful API chuẩn mực với định dạng trao đổi dữ liệu JSON, hệ thống dễ dàng kết nối dữ liệu 2 chiều với các nền tảng bên ngoài như Salesforce, HubSpot, SAP hoặc các cổng thông tin kế toán nội bộ.

4. Chi phí bảo trì và vận hành hệ thống định kỳ như thế nào?

Nhờ sử dụng toàn bộ hệ sinh thái công nghệ mã nguồn mở (Node.js, Vue/Nuxt, MySQL, Linux), doanh nghiệp không phải trả chi phí bản quyền phần mềm hàng năm. Chi phí duy nhất bao gồm phí duy trì máy chủ đám mây (Cloud Hosting) ước tính chỉ từ $20 - $50/tháng cho các doanh nghiệp quy mô vừa.

5. Lợi tức đầu tư (ROI) khi ứng dụng giải pháp này được tính toán ra sao?

Theo khảo sát thực nghiệm, hệ thống giúp doanh nghiệp tiết kiệm 70% thời gian lập bảng tính tiến độ và in ấn sơ đồ giấy, giảm thiểu 95% tổn thất tài chính do sai sót đặt cọc trùng lặp. Thời gian hoàn vốn đầu tư (ROI) ước tính đạt được chỉ sau 3 đến 6 tháng vận hành thực tế.


Kết luận

Đồ án "Thiết kế và Xây dựng Hệ thống Quản lý Bất động sản" của nhóm tác giả Tăng Việt Diện và Nguyễn Huỳnh Thiên Nhân (Trường ĐH Công nghệ Thông tin, ĐHQG-HCM) đã giải quyết trọn vẹn bài toán số hóa quy trình môi giới và quản trị tài chính BĐS sơ cấp. Bằng việc kết hợp kiến trúc Fullstack mạnh mẽ (Nuxt.js, Node.js, Express.js, MySQL) cùng các đột phá về giao diện trực quan hóa (SVG Interactive Map, 3D Model Viewer), hệ thống không chỉ là một công trình nghiên cứu khóa luận xuất sắc mà còn là một sản phẩm phần mềm hoàn chỉnh, sẵn sàng chuyển giao công nghệ và ứng dụng thực tiễn vào các doanh nghiệp bất động sản trong kỷ nguyên số hóa PropTech.