┌─────────────────────────────────────────────────────┐
│ CLIENT LAYER │
│ Web App (Angular) │ Mobile App │ 3rd-party API │
└──────────────┬──────────────────────────────────────┘
│ HTTPS / REST / WebSocket
┌──────────────▼──────────────────────────────────────┐
│ API GATEWAY (NestJS) │
│ Auth │ Rate Limiting │ Load Balancing │
└──────┬──────────────────────────────────────┬────────┘
│ │
┌──────▼──────────┐ ┌─────────▼────────┐
│ Contract │ │ Signing │
│ Service │ │ Service │
│ (NestJS) │ │ (NestJS) │
└──────┬──────────┘ └─────────┬────────┘
│ │
┌──────▼──────────┐ ┌─────────▼────────┐
│ PostgreSQL DB │ │ HSM / CA │
│ (Hợp đồng, │ │ (Chứng thư số, │
│ Người dùng) │ │ Private Key) │
└─────────────────┘ └──────────────────┘
│
┌──────▼──────────┐
│ File Storage │
│ (MinIO / S3) │
└─────────────────┘