docs: dịch 22 file Markdown còn lại sang tiếng Việt có dấu (TEC-2881)
Some checks failed
CI / Lint → Typecheck → Test → Build (22) (push) Failing after 18s
CI / E2E Tests (push) Has been skipped
CodeQL Analysis / CodeQL (javascript-typescript) (push) Failing after 2m15s
Deploy / Build API Image (push) Failing after 28s
Deploy / Build Web Image (push) Failing after 16s
Deploy / Build AI Services Image (push) Failing after 17s
E2E Tests / Playwright E2E (push) Failing after 31s
Security Scanning / Dependency Audit (pnpm) (push) Failing after 3s
Security Scanning / Trivy Scan — API Image (push) Failing after 1m46s
Security Scanning / Trivy Scan — Web Image (push) Failing after 1m7s
Security Scanning / Trivy Scan — AI Services Image (push) Failing after 53s
Security Scanning / Trivy Filesystem Scan (push) Failing after 35s
Deploy / Deploy to Staging (push) Has been skipped
Deploy / Smoke Test Staging (push) Has been skipped
Deploy / Deploy to Production (push) Has been skipped
Deploy / Smoke Test Production (push) Has been skipped
Security Scanning / Security Gate (push) Failing after 0s
Deploy / Rollback Staging (push) Has been skipped
Deploy / Rollback Production (push) Has been skipped
Some checks failed
CI / Lint → Typecheck → Test → Build (22) (push) Failing after 18s
CI / E2E Tests (push) Has been skipped
CodeQL Analysis / CodeQL (javascript-typescript) (push) Failing after 2m15s
Deploy / Build API Image (push) Failing after 28s
Deploy / Build Web Image (push) Failing after 16s
Deploy / Build AI Services Image (push) Failing after 17s
E2E Tests / Playwright E2E (push) Failing after 31s
Security Scanning / Dependency Audit (pnpm) (push) Failing after 3s
Security Scanning / Trivy Scan — API Image (push) Failing after 1m46s
Security Scanning / Trivy Scan — Web Image (push) Failing after 1m7s
Security Scanning / Trivy Scan — AI Services Image (push) Failing after 53s
Security Scanning / Trivy Filesystem Scan (push) Failing after 35s
Deploy / Deploy to Staging (push) Has been skipped
Deploy / Smoke Test Staging (push) Has been skipped
Deploy / Deploy to Production (push) Has been skipped
Deploy / Smoke Test Production (push) Has been skipped
Security Scanning / Security Gate (push) Failing after 0s
Deploy / Rollback Staging (push) Has been skipped
Deploy / Rollback Production (push) Has been skipped
Hoàn tất đợt cuối của nhiệm vụ chuyển toàn bộ tài liệu sang tiếng Việt. Đã dịch 22 file `.md` còn sót (~9.7k dòng) — gồm RUNBOOK, audits, docs/architecture, docs/load-testing, libs READMEs và các quick references. Giữ nguyên code blocks, đường dẫn, identifier kỹ thuật, URL và biến môi trường. Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
# GoodGo Platform — Comprehensive Codebase Overview
|
||||
# Nền tảng GoodGo — Tổng quan toàn diện về Codebase
|
||||
|
||||
**Generated:** April 12, 2026
|
||||
**Project Status:** MVP Complete — Phase 7 Wave 14 ✅ Build Green
|
||||
**Được tạo:** Ngày 12 tháng 4 năm 2026
|
||||
**Trạng thái dự án:** MVP hoàn thành — Phase 7 Wave 14 ✅ Build Green
|
||||
|
||||
---
|
||||
|
||||
## 1. TOP-LEVEL DIRECTORY STRUCTURE
|
||||
## 1. CẤU TRÚC THƯ MỤC CẤP CAO NHẤT
|
||||
|
||||
```
|
||||
goodgo-platform-ai/
|
||||
@@ -39,69 +39,69 @@ goodgo-platform-ai/
|
||||
|
||||
---
|
||||
|
||||
## 2. API MODULES (`apps/api/src/modules/`) — 18 MODULES
|
||||
## 2. CÁC MODULE API (`apps/api/src/modules/`) — 18 MODULE
|
||||
|
||||
### Core Authentication & Authorization
|
||||
- **auth/** — JWT, OAuth (Google/Zalo), MFA, TOTP backup codes
|
||||
- Subdirs: application, domain, infrastructure, presentation, __tests__
|
||||
- Key: JWT guards, passport strategies, role-based access
|
||||
### Xác thực & Phân quyền cốt lõi
|
||||
- **auth/** — JWT, OAuth (Google/Zalo), MFA, mã dự phòng TOTP
|
||||
- Thư mục con: application, domain, infrastructure, presentation, __tests__
|
||||
- Chính: JWT guards, passport strategies, phân quyền dựa trên vai trò
|
||||
|
||||
### Listings & Properties
|
||||
- **listings/** — CRUD, status management, media, AI price estimates
|
||||
- Moderation scoring, featured listings, expiration logic
|
||||
- Media upload with pre-signed URLs (AWS S3)
|
||||
### Listings & Bất động sản
|
||||
- **listings/** — CRUD, quản lý trạng thái, media, AI ước tính giá
|
||||
- Chấm điểm kiểm duyệt, listing nổi bật, logic hết hạn
|
||||
- Upload media với pre-signed URL (AWS S3)
|
||||
|
||||
### Search & Discovery
|
||||
- **search/** — Typesense integration (full-text), geospatial (PostGIS)
|
||||
- Resilient repository with fallback to PostgreSQL
|
||||
- Filters: location, price, property type, bedrooms
|
||||
### Search & Khám phá
|
||||
- **search/** — Tích hợp Typesense (full-text), geospatial (PostGIS)
|
||||
- Repository có khả năng phục hồi với fallback về PostgreSQL
|
||||
- Bộ lọc: vị trí, giá, loại bất động sản, số phòng ngủ
|
||||
|
||||
### Transactions & Inquiries
|
||||
- **inquiries/** — Buyer-to-seller messages for specific listings
|
||||
- **leads/** — Agent CRM (lead scoring, status tracking, notes)
|
||||
### Giao dịch & Inquiry
|
||||
- **inquiries/** — Tin nhắn người mua-người bán cho listing cụ thể
|
||||
- **leads/** — CRM dành cho agent (chấm điểm lead, theo dõi trạng thái, ghi chú)
|
||||
|
||||
### Monetization
|
||||
- **payments/** — VNPay, MoMo, ZaloPay, Bank Transfer
|
||||
- Idempotency keys, webhook callbacks, refund handling
|
||||
- 4 payment types: subscription, listing fee, deposit, featured
|
||||
### Kiếm tiền
|
||||
- **payments/** — VNPay, MoMo, ZaloPay, Chuyển khoản ngân hàng
|
||||
- Khóa idempotency, webhook callback, xử lý hoàn tiền
|
||||
- 4 loại thanh toán: subscription, phí listing, đặt cọc, nổi bật
|
||||
|
||||
- **subscriptions/** — Plans (FREE, AGENT_PRO, INVESTOR, ENTERPRISE)
|
||||
- Usage tracking, quota management, billing cycles
|
||||
- **subscriptions/** — Các gói (FREE, AGENT_PRO, INVESTOR, ENTERPRISE)
|
||||
- Theo dõi sử dụng, quản lý hạn ngạch, chu kỳ thanh toán
|
||||
|
||||
### Operations
|
||||
- **agents/** — Agent profiles, quality scores, service areas, verification
|
||||
- **admin/** — User bans, KYC approval, listing moderation, audit logs
|
||||
### Vận hành
|
||||
- **agents/** — Hồ sơ agent, điểm chất lượng, khu vực phục vụ, xác minh
|
||||
- **admin/** — Cấm người dùng, duyệt KYC, kiểm duyệt listing, audit log
|
||||
- **notifications/** — Email, SMS, Push (FCM), Zalo OA
|
||||
- Preferences per user/channel, template system
|
||||
- Tùy chọn theo người dùng/kênh, hệ thống template
|
||||
|
||||
### Analytics & Intelligence
|
||||
- **analytics/** — Market reports, price index by district/city/type
|
||||
- Valuation engine integration (AI/ML service)
|
||||
### Analytics & Trí tuệ
|
||||
- **analytics/** — Báo cáo thị trường, chỉ số giá theo quận/thành phố/loại
|
||||
- Tích hợp engine định giá (dịch vụ AI/ML)
|
||||
|
||||
### Infrastructure & System
|
||||
- **health/** — Liveness/readiness probes, Kubernetes hooks
|
||||
- **metrics/** — Prometheus metrics, HTTP latency, error rates
|
||||
- **mcp/** — Model Context Protocol server for AI tools
|
||||
- **shared/** — Domain primitives, encryption, logging, error handling
|
||||
### Hạ tầng & Hệ thống
|
||||
- **health/** — Probe liveness/readiness, hook Kubernetes
|
||||
- **metrics/** — Metrics Prometheus, độ trễ HTTP, tỷ lệ lỗi
|
||||
- **mcp/** — Model Context Protocol server cho công cụ AI
|
||||
- **shared/** — Domain primitives, mã hóa, logging, xử lý lỗi
|
||||
|
||||
**Code Metrics:**
|
||||
- ~845 TypeScript files
|
||||
- Layered DDD architecture: presentation → application → domain → infrastructure
|
||||
- Uses NestJS modules, CQRS pattern for complex operations
|
||||
**Số liệu code:**
|
||||
- ~845 file TypeScript
|
||||
- Kiến trúc DDD phân lớp: presentation → application → domain → infrastructure
|
||||
- Sử dụng module NestJS, pattern CQRS cho các thao tác phức tạp
|
||||
|
||||
---
|
||||
|
||||
## 3. FRONTEND STRUCTURE (`apps/web/`)
|
||||
## 3. CẤU TRÚC FRONTEND (`apps/web/`)
|
||||
|
||||
### Root Layout
|
||||
- **app/layout.tsx** — Root wrapper
|
||||
- **app/[locale]/** — i18n routing (Vietnamese + English)
|
||||
- **app/[locale]/** — Định tuyến i18n (Tiếng Việt + Tiếng Anh)
|
||||
|
||||
### Page Groups (Route Groups with Shared Layouts)
|
||||
- **(public)/** — Landing, listings, search (no auth required)
|
||||
- **(auth)/** — Login, register, OAuth callbacks
|
||||
- **(dashboard)/** — Seller/agent dashboard
|
||||
- **(admin)/** — Admin moderation, KYC review, user management
|
||||
### Nhóm trang (Route Groups với Layout dùng chung)
|
||||
- **(public)/** — Landing, listings, search (không yêu cầu xác thực)
|
||||
- **(auth)/** — Login, register, OAuth callback
|
||||
- **(dashboard)/** — Dashboard người bán/agent
|
||||
- **(admin)/** — Kiểm duyệt admin, duyệt KYC, quản lý người dùng
|
||||
|
||||
### Components (`components/`)
|
||||
```
|
||||
@@ -132,81 +132,81 @@ goodgo-platform-ai/
|
||||
```
|
||||
|
||||
### i18n (`i18n/`)
|
||||
- Vietnamese & English message files
|
||||
- next-intl integration
|
||||
- File messages tiếng Việt & tiếng Anh
|
||||
- Tích hợp next-intl
|
||||
|
||||
**Frontend Metrics:**
|
||||
- ~245 TypeScript/TSX files
|
||||
- Built on: Next.js 15, React 18, Tailwind CSS, Shadcn/ui
|
||||
**Số liệu Frontend:**
|
||||
- ~245 file TypeScript/TSX
|
||||
- Xây dựng trên: Next.js 15, React 18, Tailwind CSS, Shadcn/ui
|
||||
- State: Zustand + React Query
|
||||
- Forms: React Hook Form + Zod validation
|
||||
- Forms: React Hook Form + validation Zod
|
||||
|
||||
---
|
||||
|
||||
## 4. PRISMA SCHEMA — DATA MODEL
|
||||
## 4. PRISMA SCHEMA — MÔ HÌNH DỮ LIỆU
|
||||
|
||||
**Database:** PostgreSQL 16 + PostGIS extension
|
||||
**Database:** PostgreSQL 16 + extension PostGIS
|
||||
|
||||
### Total Models: 31
|
||||
### Tổng số Model: 31
|
||||
|
||||
#### Authentication (5)
|
||||
| Model | Purpose |
|
||||
#### Xác thực (5)
|
||||
| Model | Mục đích |
|
||||
|-------|---------|
|
||||
| User | Main user profile + KYC status, MFA fields |
|
||||
| RefreshToken | JWT refresh token chain management |
|
||||
| OAuthAccount | Google/Zalo OAuth linkage |
|
||||
| Agent | Seller/Agent extended profile |
|
||||
| MfaChallenge | TOTP/backup code verification tracking |
|
||||
| User | Hồ sơ người dùng chính + trạng thái KYC, các trường MFA |
|
||||
| RefreshToken | Quản lý chuỗi JWT refresh token |
|
||||
| OAuthAccount | Liên kết OAuth Google/Zalo |
|
||||
| Agent | Hồ sơ mở rộng cho người bán/Agent |
|
||||
| MfaChallenge | Theo dõi xác minh TOTP/mã dự phòng |
|
||||
|
||||
#### Listings & Properties (4)
|
||||
| Model | Purpose |
|
||||
#### Listings & Bất động sản (4)
|
||||
| Model | Mục đích |
|
||||
|-------|---------|
|
||||
| Property | Physical property details + geolocation |
|
||||
| PropertyMedia | Images/videos per property |
|
||||
| Listing | Listing instance (sale/rent) + status |
|
||||
| SavedSearch | User's saved search preferences |
|
||||
| Property | Chi tiết bất động sản vật lý + định vị địa lý |
|
||||
| PropertyMedia | Hình ảnh/video cho mỗi bất động sản |
|
||||
| Listing | Phiên bản listing (bán/cho thuê) + trạng thái |
|
||||
| SavedSearch | Tùy chọn tìm kiếm đã lưu của người dùng |
|
||||
|
||||
#### Transactions (4)
|
||||
| Model | Purpose |
|
||||
#### Giao dịch (4)
|
||||
| Model | Mục đích |
|
||||
|-------|---------|
|
||||
| Transaction | Buyer-seller transaction flow (inquiry → completed) |
|
||||
| Inquiry | Buyer questions on specific listings |
|
||||
| Lead | Agent CRM lead records |
|
||||
| Review | User reviews of agents/transactions |
|
||||
| Transaction | Luồng giao dịch người mua-người bán (inquiry → hoàn thành) |
|
||||
| Inquiry | Câu hỏi người mua về listing cụ thể |
|
||||
| Lead | Bản ghi lead CRM của agent |
|
||||
| Review | Đánh giá người dùng về agent/giao dịch |
|
||||
|
||||
#### Payments (2)
|
||||
| Model | Purpose |
|
||||
#### Thanh toán (2)
|
||||
| Model | Mục đích |
|
||||
|-------|---------|
|
||||
| Payment | Payment records (all providers) |
|
||||
| Plan | Subscription tier definitions |
|
||||
| Payment | Bản ghi thanh toán (tất cả nhà cung cấp) |
|
||||
| Plan | Định nghĩa cấp subscription |
|
||||
|
||||
#### Orders & Escrow (3)
|
||||
| Model | Purpose |
|
||||
#### Đơn hàng & Escrow (3)
|
||||
| Model | Mục đích |
|
||||
|-------|---------|
|
||||
| Order | Auction settlement order |
|
||||
| Escrow | Escrow holding for transactions |
|
||||
| Subscription | User's active subscription |
|
||||
| Order | Lệnh thanh toán đấu giá |
|
||||
| Escrow | Giữ ký quỹ cho giao dịch |
|
||||
| Subscription | Subscription đang hoạt động của người dùng |
|
||||
|
||||
#### Analytics (2)
|
||||
| Model | Purpose |
|
||||
| Model | Mục đích |
|
||||
|-------|---------|
|
||||
| Valuation | AI-generated property valuations |
|
||||
| MarketIndex | Market statistics per district/city |
|
||||
| Valuation | Định giá bất động sản do AI tạo |
|
||||
| MarketIndex | Thống kê thị trường theo quận/thành phố |
|
||||
|
||||
#### Operations (6)
|
||||
| Model | Purpose |
|
||||
#### Vận hành (6)
|
||||
| Model | Mục đích |
|
||||
|-------|---------|
|
||||
| NotificationLog | Sent notification records |
|
||||
| NotificationPreference | User notification opt-in/out |
|
||||
| AdminAuditLog | Admin action audit trail |
|
||||
| UsageRecord | Subscription usage tracking |
|
||||
| NotificationLog | Bản ghi thông báo đã gửi |
|
||||
| NotificationPreference | Tùy chọn nhận thông báo của người dùng |
|
||||
| AdminAuditLog | Audit trail hành động admin |
|
||||
| UsageRecord | Theo dõi sử dụng subscription |
|
||||
|
||||
**Index Strategy:**
|
||||
- Single-column indexes on foreign keys, status fields, dates
|
||||
- Compound indexes for common query patterns (e.g., `[role, isActive, createdAt DESC]`)
|
||||
- GIST index on PostGIS location geometry
|
||||
**Chiến lược Index:**
|
||||
- Index một cột trên foreign key, các trường trạng thái, ngày tháng
|
||||
- Index ghép cho các pattern truy vấn phổ biến (ví dụ: `[role, isActive, createdAt DESC]`)
|
||||
- Index GIST trên hình học vị trí PostGIS
|
||||
|
||||
**Key Enums:**
|
||||
**Các Enum chính:**
|
||||
- UserRole: BUYER, SELLER, AGENT, ADMIN
|
||||
- PropertyType: APARTMENT, VILLA, TOWNHOUSE, LAND, OFFICE, SHOPHOUSE
|
||||
- TransactionType: SALE, RENT
|
||||
@@ -215,32 +215,32 @@ goodgo-platform-ai/
|
||||
|
||||
---
|
||||
|
||||
## 5. DOCUMENTATION & TRACKING
|
||||
## 5. TÀI LIỆU & THEO DÕI
|
||||
|
||||
### Root-Level Planning Docs
|
||||
- **PROJECT_TRACKER.md** — 7 phases, 40+ issues, current status (Phase 7 Wave 14)
|
||||
- **IMPLEMENTATION_PLAN.md** — Feature roadmap with priority/status
|
||||
- **COMPREHENSIVE_AUDIT_2026-04-12.md** — Full system audit with implementation notes
|
||||
### Tài liệu lập kế hoạch ở cấp Root
|
||||
- **PROJECT_TRACKER.md** — 7 phase, 40+ issue, trạng thái hiện tại (Phase 7 Wave 14)
|
||||
- **IMPLEMENTATION_PLAN.md** — Lộ trình tính năng với ưu tiên/trạng thái
|
||||
- **COMPREHENSIVE_AUDIT_2026-04-12.md** — Audit toàn hệ thống với ghi chú triển khai
|
||||
|
||||
### Technical Docs (`docs/`)
|
||||
- **architecture.md** — DDD layering, CQRS, module boundaries
|
||||
- **api-endpoints.md** — Swagger-generated endpoint reference
|
||||
- **api-error-codes.md** — Structured error code taxonomy
|
||||
- **deployment.md** — Docker, K8s, CI/CD pipeline steps
|
||||
- **RUNBOOK.md** — Operational procedures, troubleshooting
|
||||
- **PRODUCTION_READINESS.md** — Security, compliance, performance checklist
|
||||
### Tài liệu kỹ thuật (`docs/`)
|
||||
- **architecture.md** — Phân lớp DDD, CQRS, ranh giới module
|
||||
- **api-endpoints.md** — Tham chiếu endpoint do Swagger tạo
|
||||
- **api-error-codes.md** — Phân loại mã lỗi có cấu trúc
|
||||
- **deployment.md** — Docker, K8s, các bước CI/CD
|
||||
- **RUNBOOK.md** — Quy trình vận hành, xử lý sự cố
|
||||
- **PRODUCTION_READINESS.md** — Checklist bảo mật, tuân thủ, hiệu năng
|
||||
|
||||
### Audit Directory (`docs/audits/`)
|
||||
- 80+ audit files documenting feature implementations
|
||||
- Pricing audit, checkout flow, KYC, payment gateway testing
|
||||
### Thư mục Audit (`docs/audits/`)
|
||||
- 80+ file audit tài liệu hóa các triển khai tính năng
|
||||
- Audit pricing, luồng checkout, KYC, test cổng thanh toán
|
||||
|
||||
---
|
||||
|
||||
## 6. DEPENDENCIES & TOOLING
|
||||
## 6. PHỤ THUỘC & CÔNG CỤ
|
||||
|
||||
### Monorepo Setup
|
||||
- **pnpm** v10.27.0 (workspace) — faster, strict peer deps
|
||||
- **Turbo** v2.9.4 — task orchestration & caching
|
||||
### Thiết lập Monorepo
|
||||
- **pnpm** v10.27.0 (workspace) — nhanh hơn, peer deps nghiêm ngặt
|
||||
- **Turbo** v2.9.4 — điều phối tác vụ & cache
|
||||
- **Node** ≥22.0.0
|
||||
|
||||
### Backend (NestJS)
|
||||
@@ -269,7 +269,7 @@ Maps: mapbox-gl ^3.21
|
||||
Monitoring: @sentry/nextjs
|
||||
```
|
||||
|
||||
### Testing & Quality
|
||||
### Testing & Chất lượng
|
||||
```
|
||||
Test: vitest ^4.1.3, @playwright/test ^1.59
|
||||
Lint: eslint ^9.39, prettier ^3.8, typescript-eslint
|
||||
@@ -278,20 +278,20 @@ Dependencies: dependency-cruiser (architecture validation)
|
||||
|
||||
---
|
||||
|
||||
## 7. TEST COVERAGE & QUALITY
|
||||
## 7. ĐỘ BAO PHỦ TEST & CHẤT LƯỢNG
|
||||
|
||||
### Test Files: 242 total
|
||||
### Tổng số file Test: 242
|
||||
|
||||
#### API Tests
|
||||
- **Unit tests:** Payment gateways (VNPay, MoMo, ZaloPay), Money value objects, Platform fee logic
|
||||
- **Integration tests:** Auth flows, health checks, notifications
|
||||
- Located in `__tests__` subdirs within each module
|
||||
- **Unit tests:** Cổng thanh toán (VNPay, MoMo, ZaloPay), Money value objects, logic phí nền tảng
|
||||
- **Integration tests:** Luồng auth, health check, notifications
|
||||
- Nằm trong các thư mục con `__tests__` trong từng module
|
||||
|
||||
#### Frontend Tests
|
||||
- **Unit tests:** Auth store, comparison store, currency formatting, validations
|
||||
- **E2E tests (Playwright):** 15+ web tests, 16+ API tests
|
||||
- **Unit tests:** Auth store, comparison store, định dạng tiền tệ, validation
|
||||
- **E2E tests (Playwright):** 15+ web test, 16+ API test
|
||||
|
||||
#### E2E Test Coverage
|
||||
#### Độ bao phủ E2E Test
|
||||
**Web Tests (15):**
|
||||
- auth-login, auth-register, auth-oauth-callback
|
||||
- homepage, navigation, responsive
|
||||
@@ -310,57 +310,57 @@ Dependencies: dependency-cruiser (architecture validation)
|
||||
- mcp, admin
|
||||
|
||||
**Load Tests (K6):**
|
||||
- Baseline benchmarks for search, listings, auth endpoints
|
||||
- Concurrency testing up to 1000 virtual users
|
||||
- Benchmark cơ sở cho các endpoint search, listings, auth
|
||||
- Test đồng thời lên đến 1000 virtual users
|
||||
|
||||
---
|
||||
|
||||
## 8. IMPLEMENTATION STATUS
|
||||
## 8. TRẠNG THÁI TRIỂN KHAI
|
||||
|
||||
### ✅ COMPLETE (Phase 7 MVP)
|
||||
1. **Foundation** — Monorepo, Docker, Prisma schema, CI/CD
|
||||
2. **Auth** — JWT, OAuth, MFA/TOTP, session management
|
||||
3. **Listings** — Full CRUD, media upload, status workflow
|
||||
4. **Search** — Typesense + PostGIS geo-search
|
||||
5. **Payments** — 3 VN payment gateways, webhook handling
|
||||
6. **Subscriptions** — 4 tiers, quota tracking
|
||||
### ✅ HOÀN THÀNH (Phase 7 MVP)
|
||||
1. **Foundation** — Monorepo, Docker, schema Prisma, CI/CD
|
||||
2. **Auth** — JWT, OAuth, MFA/TOTP, quản lý phiên
|
||||
3. **Listings** — CRUD đầy đủ, upload media, workflow trạng thái
|
||||
4. **Search** — Typesense + tìm kiếm địa lý PostGIS
|
||||
5. **Payments** — 3 cổng thanh toán VN, xử lý webhook
|
||||
6. **Subscriptions** — 4 cấp, theo dõi quota
|
||||
7. **Notifications** — Email, SMS, Push, Zalo OA
|
||||
8. **Admin Panel** — Moderation, user management, audit logs
|
||||
9. **Agents** — Portal, inquiries, lead CRM, quality metrics
|
||||
10. **Analytics** — Market reports, AI valuation service
|
||||
11. **Security** — Rate limiting, CSRF, field encryption, PII masking
|
||||
12. **Monitoring** — Prometheus, Grafana, Sentry, log aggregation
|
||||
13. **Testing** — Unit tests, E2E tests (Playwright), load tests (K6)
|
||||
8. **Admin Panel** — Kiểm duyệt, quản lý người dùng, audit log
|
||||
9. **Agents** — Portal, inquiries, lead CRM, chỉ số chất lượng
|
||||
10. **Analytics** — Báo cáo thị trường, dịch vụ định giá AI
|
||||
11. **Security** — Rate limiting, CSRF, mã hóa trường, che PII
|
||||
12. **Monitoring** — Prometheus, Grafana, Sentry, tổng hợp log
|
||||
13. **Testing** — Unit test, E2E test (Playwright), load test (K6)
|
||||
|
||||
### 🔄 IN PROGRESS / REMAINING
|
||||
- Per Wave 14:
|
||||
- TEC-1650: Listing detail non-existent ID error handling
|
||||
- TEC-1652: Full E2E test suite validation
|
||||
- TEC-1657: Comprehensive audit logging
|
||||
### 🔄 ĐANG TIẾN HÀNH / CÒN LẠI
|
||||
- Theo Wave 14:
|
||||
- TEC-1650: Xử lý lỗi ID không tồn tại trên trang chi tiết listing
|
||||
- TEC-1652: Xác thực bộ test E2E đầy đủ
|
||||
- TEC-1657: Audit logging toàn diện
|
||||
|
||||
### Database Migrations
|
||||
- 7+ migrations applied
|
||||
### Migration Database
|
||||
- 7+ migration đã được áp dụng
|
||||
- Connection pooling (PgBouncer)
|
||||
- PostGIS extension enabled
|
||||
- Đã bật extension PostGIS
|
||||
|
||||
---
|
||||
|
||||
## 9. PROJECT MATURITY INDICATORS
|
||||
## 9. CHỈ SỐ TRƯỞNG THÀNH DỰ ÁN
|
||||
|
||||
| Dimension | Status | Evidence |
|
||||
| Khía cạnh | Trạng thái | Bằng chứng |
|
||||
|-----------|--------|----------|
|
||||
| **Architecture** | Production-Ready | DDD, CQRS, layered modules, clear boundaries |
|
||||
| **Code Quality** | High | 242 tests, ESLint enforcement, module cruiser |
|
||||
| **Security** | Hardened | JWT, MFA, encryption, rate limiting, CSRF, PII masking |
|
||||
| **Documentation** | Comprehensive | 80+ audit files, runbooks, error codes, architecture |
|
||||
| **Performance** | Optimized | Redis caching, Typesense search, query optimization, load tests |
|
||||
| **Monitoring** | Complete | Prometheus, Grafana, Sentry, structured logging |
|
||||
| **DevOps** | Mature | Docker, Kubernetes config, CI/CD pipelines, smoke tests |
|
||||
| **Scaling** | Prepared | Connection pooling, caching layer, resilient services |
|
||||
| **Kiến trúc** | Sẵn sàng Production | DDD, CQRS, các module phân lớp, ranh giới rõ ràng |
|
||||
| **Chất lượng code** | Cao | 242 test, ESLint thực thi, module cruiser |
|
||||
| **Bảo mật** | Đã được củng cố | JWT, MFA, mã hóa, rate limiting, CSRF, che PII |
|
||||
| **Tài liệu** | Toàn diện | 80+ file audit, runbook, mã lỗi, kiến trúc |
|
||||
| **Hiệu năng** | Đã tối ưu | Cache Redis, tìm kiếm Typesense, tối ưu truy vấn, load test |
|
||||
| **Monitoring** | Hoàn chỉnh | Prometheus, Grafana, Sentry, structured logging |
|
||||
| **DevOps** | Trưởng thành | Docker, cấu hình Kubernetes, pipeline CI/CD, smoke test |
|
||||
| **Khả năng mở rộng** | Đã chuẩn bị | Connection pooling, lớp cache, dịch vụ có khả năng phục hồi |
|
||||
|
||||
---
|
||||
|
||||
## 10. KEY STATISTICS
|
||||
## 10. THỐNG KÊ CHÍNH
|
||||
|
||||
```
|
||||
Backend Files: ~845 TypeScript files
|
||||
@@ -378,9 +378,9 @@ Lines of Code: ~50,000+ (excluding node_modules)
|
||||
|
||||
---
|
||||
|
||||
## 11. TECH STACK SUMMARY
|
||||
## 11. TÓM TẮT TECH STACK
|
||||
|
||||
| Layer | Technology |
|
||||
| Lớp | Công nghệ |
|
||||
|-------|-----------|
|
||||
| **Frontend** | Next.js 15, React 18, Tailwind CSS, Shadcn/ui |
|
||||
| **Backend** | NestJS 11, TypeScript 6 |
|
||||
@@ -397,16 +397,15 @@ Lines of Code: ~50,000+ (excluding node_modules)
|
||||
| **Package Manager** | pnpm 10.27 |
|
||||
| **Orchestration** | Turbo |
|
||||
| **Containerization** | Docker + Docker Compose |
|
||||
| **i18n** | next-intl (Vietnamese + English) |
|
||||
| **i18n** | next-intl (Tiếng Việt + Tiếng Anh) |
|
||||
|
||||
---
|
||||
|
||||
## 12. NEXT STEPS FOR DEVELOPERS
|
||||
|
||||
1. **Local Setup:** `docker-compose up` → database + API + frontend
|
||||
2. **Run Tests:** `pnpm test` (unit), `pnpm test:e2e` (E2E)
|
||||
3. **Check Status:** Review PROJECT_TRACKER.md for ongoing issues
|
||||
4. **Architecture:** Read docs/architecture.md for module boundaries
|
||||
5. **API:** Browse docs/api-endpoints.md (Swagger-generated)
|
||||
6. **Deploy:** Follow docs/deployment.md for production setup
|
||||
## 12. CÁC BƯỚC TIẾP THEO CHO LẬP TRÌNH VIÊN
|
||||
|
||||
1. **Thiết lập cục bộ:** `docker-compose up` → database + API + frontend
|
||||
2. **Chạy Test:** `pnpm test` (unit), `pnpm test:e2e` (E2E)
|
||||
3. **Kiểm tra trạng thái:** Xem PROJECT_TRACKER.md để biết các issue đang diễn ra
|
||||
4. **Kiến trúc:** Đọc docs/architecture.md để biết ranh giới module
|
||||
5. **API:** Duyệt docs/api-endpoints.md (do Swagger tạo)
|
||||
6. **Deploy:** Theo dõi docs/deployment.md để thiết lập production
|
||||
|
||||
Reference in New Issue
Block a user