Files
goodgo-platform/docs/QUICK_START_REFERENCE.md
Ho Ngoc Hai d8b409a9ab
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
docs: dịch 22 file Markdown còn lại sang tiếng Việt có dấu (TEC-2881)
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>
2026-04-19 03:26:14 +07:00

13 KiB

GoodGo Platform — Tham Khảo Nhanh

Trạng thái: MVP Hoàn Tất (Phase 7 Wave 14) Ngày tạo: 12 tháng 4, 2026


📊 MỨC ĐỘ HOÀN THIỆN DỰ ÁN

Hạng mục Đánh giá Chi tiết
Hoàn thiện tính năng 🟢 95% Tất cả tính năng MVP xong; còn 3 edge case
Chất lượng code 🟢 Cao 242 test, ESLint pass, kiến trúc DDD
Bảo mật 🟢 Hardened JWT/MFA, mã hóa, rate limiting, bảo vệ CSRF
Tài liệu 🟢 Toàn diện 80+ file audit, runbook, tham khảo API
Hiệu năng 🟢 Đã tối ưu Cache, indexing, K6 load test baseline
Sẵn sàng vận hành 🟢 Sẵn sàng Docker/Kubernetes, monitoring, chiến lược backup

Tổng thể: Sẵn sàng Production — Sẵn sàng launch với 3 fix nhỏ


🏗️ KIẾN TRÚC TỔNG QUAN

Frontend                Backend                Database
─────────               ────────               ────────
Next.js 15          NestJS 11               PostgreSQL 16
React 18            (18 modules)            + PostGIS
Tailwind CSS        DDD/CQRS pattern        31 entities
Shadcn/ui           100+ endpoints          30+ indexes
                    
                    ┌──────────────────┐
                    │   Shared Layer   │
                    │ (Encryption,     │
                    │  Logger, Events) │
                    └──────────────────┘
                    
Cache               Search              File Storage
─────               ──────              ────────────
Redis 5.4           Typesense 3.0       AWS S3
ioredis             Full-text + geo     Pre-signed URLs

📦 THỐNG KÊ CHÍNH

Code:        ~50,000 LOC
Backend:     845 file TypeScript (18 module)
Frontend:    245 file TypeScript/TSX
Database:    31 model, 30+ index, 7+ migration
Tests:       242 file (unit + E2E + load)
API:         100+ endpoint (đã tài liệu Swagger)
Deployment:  Sẵn sàng Docker + Kubernetes

🚀 LỆNH KHỞI ĐỘNG NHANH

Phát Triển Local

# Cài đặt và khởi động tất cả
docker-compose up -d

# Phát triển API
cd apps/api
pnpm dev                      # Chế độ watch ở :3001

# Phát triển frontend
cd apps/web
pnpm dev                      # Dev server ở :3000

# Cả hai cùng lúc (từ root)
pnpm dev                      # Tất cả app qua Turbo

Testing

pnpm test                     # Tất cả unit test
pnpm test:e2e                # Tất cả E2E test (Playwright)
pnpm test:e2e:web            # Chỉ E2E web
pnpm test:e2e:api            # Chỉ E2E API
pnpm test:e2e:report         # Xem report Playwright

Database

pnpm db:generate             # Sinh lại Prisma client
pnpm db:migrate:dev          # Tạo và áp dụng migration
pnpm db:push                 # Push schema (chỉ dev)
pnpm db:seed                 # Seed dữ liệu test
pnpm db:studio               # UI Prisma Studio (localhost:5555)

Chất Lượng

pnpm lint                    # Kiểm tra ESLint
pnpm format:check            # Kiểm tra Prettier
pnpm format                  # Tự format tất cả file
pnpm typecheck               # Kiểm tra TypeScript
pnpm dep-cruise              # Validate kiến trúc

Build & Deployment

pnpm build                   # Build API + frontend
pnpm start                   # Chạy production server

# Docker production
docker-compose -f docker-compose.prod.yml up -d

📁 FILE QUAN TRỌNG CẦN BIẾT

Lập Kế Hoạch & Trạng Thái

  • PROJECT_TRACKER.md — Cả 7 phase, 40+ issue, trạng thái hiện tại
  • IMPLEMENTATION_PLAN.md — Roadmap tính năng theo ưu tiên
  • CODEBASE_OVERVIEW.md — Hướng dẫn toàn diện (vừa được tạo!)

Kiến Trúc & Thiết Kế

  • docs/architecture.md — Tầng DDD, ranh giới module, CQRS
  • docs/api-endpoints.md — Tất cả endpoint kèm ví dụ
  • docs/api-error-codes.md — Phân loại lỗi và xử lý

Kỹ Thuật

  • prisma/schema.prisma — Model database đầy đủ (31 entity)
  • apps/api/src/modules/ — 18 module tính năng (auth, listings, payments, v.v.)
  • apps/web/app/ — Route và group page Next.js
  • apps/web/components/ — UI component (16 thư mục)

Vận Hành

  • docs/deployment.md — Bước Docker, Kubernetes, CI/CD
  • docs/RUNBOOK.md — Quy trình vận hành, troubleshooting
  • docker-compose.yml — Stack dev local
  • docker-compose.prod.yml — Stack production

🔧 TỔNG QUAN MODULE API

Authentication (1)

auth/
├── JWT + OAuth (Google, Zalo)
├── MFA/TOTP + backup code
├── Passport strategy
└── Quản lý session

Business Logic (5)

listings/         Bất động sản + upload media + moderation
search/           Typesense + tìm kiếm địa lý PostGIS
inquiries/        Tin nhắn buyer-to-seller
leads/            CRM agent và lead scoring
reviews/          Đánh giá và review của user

Monetization (2)

payments/         VNPay, MoMo, ZaloPay + webhook
subscriptions/    4 tier (FREE, AGENT_PRO, INVESTOR, ENTERPRISE)

Operations (5)

agents/           Hồ sơ agent và xác minh
admin/            Moderation, KYC, audit log
notifications/    Email, SMS, Push, Zalo OA
analytics/        Báo cáo thị trường, định giá AI
metrics/          Prometheus + metric HTTP

Infrastructure (4)

health/           Liveness/readiness Kubernetes
shared/           DI, mã hóa, logger, event
mcp/              Model Context Protocol server

💾 MODEL DATABASE (TỔNG 31)

Core (13)

User              Hồ sơ chính + KYC + MFA
Agent             Hồ sơ agent mở rộng
Property          Địa chỉ + vị trí địa lý
PropertyMedia     Hình ảnh/video
Listing           Instance tin đăng bán/cho thuê
SavedSearch       Tùy chọn tìm kiếm của user

Commerce (9)

Transaction       Luồng từ inquiry đến hoàn tất
Inquiry           Câu hỏi buyer trên tin đăng
Payment           Tất cả phương thức thanh toán + lịch sử
Plan              Định nghĩa tier subscription
Subscription      Plan đang active của user
Order             Settlement đấu giá
Escrow            Giữ và giải phóng thanh toán
Lead              Lead CRM agent
Review            Đánh giá user

Operations (9)

RefreshToken      Chuỗi refresh JWT
OAuthAccount      Liên kết OAuth provider
MfaChallenge      Theo dõi xác minh TOTP
NotificationLog   Thông báo đã gửi
NotificationPref  Opt-in/out của user
AdminAuditLog     Audit trail hành động admin
MarketIndex       Thống kê quận/thành phố
Valuation         Ước tính giá AI
UsageRecord       Theo dõi sử dụng subscription

🧪 PHÂN TÍCH TESTING

Unit Test (Vitest)

  • Payment gateway (VNPay, MoMo, ZaloPay) — ~30 spec
  • Value object (Money, PlatformFee) — ~10 spec
  • Store và utility (Auth, Currency) — ~20 spec

E2E Test (Playwright)

  • Web (15 test): auth, listings, search, admin, responsive
  • API (16 test): tất cả endpoint chính
  • Load (K6): baseline benchmark, stress test 1000 VU

Tổng cộng: 242 file test


🔐 TÍNH NĂNG BẢO MẬT

JWT authentication với refresh token OAuth2 (Google, Zalo) TOTP/MFA với backup code Mã hóa cấp field (PII) Middleware bảo vệ CSRF Rate limiting (toàn cục + theo user) HMAC-SHA256 cho verify thanh toán Header bảo mật Helmet CORS đã cấu hình Validate và sanitize input


📊 MONITORING & OBSERVABILITY

Metric           Prometheus + Grafana (dashboard)
Log              Pino (structured) + Loki (tổng hợp)
Tracing          Sentry (theo dõi lỗi)
Alert            AlertManager (đã cấu hình)
APM              Theo dõi Core Web Vitals
Health Check     /health (liveness), /ready (readiness)

🚢 LỰA CHỌN DEPLOYMENT

Lựa chọn 1: Docker Compose (Development)

docker-compose up -d
# Chạy: API (3001), Web (3000), DB, Redis, Typesense, v.v.

Lựa chọn 2: Docker Compose Production

docker-compose -f docker-compose.prod.yml up -d
# Chạy: Stack đầy đủ với monitoring, logging, connection pooling

Lựa chọn 3: Kubernetes

  • ConfigMap cho biến env
  • Secret cho credential
  • PersistentVolume cho database
  • HPA cho auto-scaling
  • Ingress cho định tuyến traffic

Xem: docs/deployment.md để biết các bước chi tiết


⚠️ ISSUE ĐÃ BIẾT (Phase 7 Wave 14)

ID Tiêu đề Ưu tiên Trạng thái
TEC-1650 Xử lý lỗi 404 chi tiết tin đăng High todo
TEC-1652 Validate bộ test E2E đầy đủ High todo
TEC-1657 Audit logging toàn diện High todo

Ảnh hưởng: Tối thiểu (chỉ edge case) ETA fix: <2 giờ mỗi cái


📚 CẤU TRÚC TÀI LIỆU

/
├── PROJECT_TRACKER.md              ← BẮT ĐẦU TỪ ĐÂY cho trạng thái
├── IMPLEMENTATION_PLAN.md          ← Roadmap tính năng
├── CODEBASE_OVERVIEW.md            ← Hướng dẫn toàn diện
├── ARCHITECTURE_SUMMARY.txt        ← Tổng quan trực quan
└── QUICK_START_REFERENCE.md        ← File này

/docs/
├── architecture.md                 ← Sâu về kỹ thuật
├── api-endpoints.md                ← Tất cả endpoint (Swagger)
├── api-error-codes.md              ← Phân loại lỗi
├── deployment.md                   ← Hướng dẫn deploy
├── dev-environment.md              ← Setup local
├── RUNBOOK.md                      ← Hướng dẫn vận hành
├── PRODUCTION_READINESS.md         ← Checklist tuân thủ
└── /audits/                        ← 80+ audit triển khai

🎯 BƯỚC TIẾP THEO

  1. Hiểu: Đọc PROJECT_TRACKER.md (5 phút)
  2. Setup: Chạy docker-compose up (2 phút)
  3. Khám phá: Truy cập http://localhost:3000 (web) & http://localhost:3001 (API)
  4. Test: Chạy pnpm test:e2e để validate (5 phút)
  5. Deploy: Dùng docker-compose.prod.yml hoặc manifest Kubernetes

🆘 TROUBLESHOOTING

Port đang được dùng

# Tìm process đang dùng port 3000/3001
lsof -i :3000
kill -9 <PID>

Kết nối database thất bại

# Reset database
pnpm db:reset
# Re-seed
pnpm db:seed

Test thất bại

# Xóa cache
rm -rf .turbo
# Cài lại
pnpm install
# Chạy lại
pnpm test

Vấn đề Docker

# Reset hoàn toàn
docker-compose down -v
docker-compose up --build

🎓 LỘ TRÌNH HỌC

Phát Triển Backend

  1. Đọc: docs/architecture.md
  2. Khám phá: apps/api/src/modules/auth (module đơn giản nhất)
  3. Hiểu: Tầng DDD (presentation → application → domain → infrastructure)
  4. Thực hành: Thêm endpoint mới theo pattern

Phát Triển Frontend

  1. Xem lại: apps/web/app (cấu trúc route)
  2. Nghiên cứu: components/listings (component phức tạp)
  3. Học: Pattern React Query trong lib/*-api.ts
  4. Thực hành: Tạo trang tính năng mới

DevOps

  1. Xem lại: docker-compose.yml (kiến trúc)
  2. Nghiên cứu: .github/workflows (CI/CD)
  3. Học: docs/deployment.md (production)
  4. Thực hành: Deploy lên môi trường staging

💡 MẸO HAY

  • Dùng pnpm dev (từ root) để phát triển tất cả app cùng lúc
  • ESLint được cấu hình để bắt vi phạm ranh giới module
  • Prisma Studio (pnpm db:studio) rất tuyệt để khám phá dữ liệu
  • Report Playwright có tính tương tác và rất hữu ích
  • PROJECT_TRACKER.md là nguồn sự thật cho trạng thái

📞 THAM KHẢO NHANH

Nhu cầu Lệnh Vị trí
Kiểm tra trạng thái cat PROJECT_TRACKER.md Root
Chạy test pnpm test:e2e Root
Xem tài liệu API http://localhost:3001/api Sau khi khởi động
Xem database pnpm db:studio Root
Kiểm tra log Grafana/Loki Docker
Theo dõi lỗi Sentry dashboard Đã cấu hình

Cập nhật lần cuối: 12 tháng 4, 2026 Trạng thái dự án: MVP Hoàn Tất — Sẵn sàng Production 🚀