Vectra Logo

Vectra RealEstate

System Architecture Design Document — SADD

Modular Monolith Clean Architecture .NET 8

5

Modules

4

Layers

8

Services

~100

Users

Request Flow — Clean Architecture

Client
🌐 HTML5
🎨 Tailwind
🧩 DaisyUI
📱 Responsive
API .NET 8
Controllers Middleware DI Config
Application
CQRS MediatR Validators
CORE
Domain
Entities ValueObjects Enums
Infrastructure
↑ Phụ thuộc Application & Domain qua Interfaces
🗃️ EF Core
🗄️ Repository
📊 Migrations
🔌 External APIs
Client API Application Domain Infrastructure

Services & Database

💾

SQL Server

Primary DB

Redis

Cache & Lock

📁

S3 / MinIO

File Storage

⏱️

Hangfire

Background Jobs

📢

SignalR — Realtime

WebSocket Push Notifications

Design Patterns

CQRS + MediatR Command / Query
Repository Pattern Data Access
Result Pattern Error Handling
Options + DI IoC Container

🛡️ Cross-cutting

🛡️ Auth & RBAC
📝 Serilog
📋 Audit Trail
🔒 Data Isolation
⚡ Redis Cache
🔄 Global Filters
Critical Double-Booking

50 Sales chọn 1 căn hộ đồng thời khi mở bán.

→ Redis Distributed Lock

Khóa vị trí nano-giây trước Update EF Core

Security Data Isolation

Nhóm Sales này không thể đọc data nhóm khác.

→ EF Core Global Query Filters

BranchId = currentBranch tự động gắn

Deploy 2-Server Topology

Tách DB riêng tránh OOM khi chạy báo cáo lớn.

Server 1

4 vCPU · 8GB

Server 2

8 vCPU · 32GB