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>
15 KiB
Nền tảng GoodGo AI — Kế hoạch triển khai
Cập nhật lần cuối: 2026-04-12
Các Milestone
Milestone 1: Walking Skeleton (Phase 0)
Mục tiêu: Bất kỳ kỹ sư nào cũng có thể clone, cài đặt và bắt đầu phát triển.
Thứ tự thực hiện:
- [TEC-1415] Monorepo Scaffolding + [TEC-1416] Docker Compose (song song — không có dependency)
- [TEC-1420] ESLint/Prettier (sau F1)
- [TEC-1417] Prisma Schema (sau F1 + F2)
- [TEC-1418] Shared Module (sau F1)
- [TEC-1419] CI/CD Pipeline (sau F1)
F1 (Monorepo) ──┬── F6 (Lint/Prettier)
├── F3 (Prisma Schema) ←── F2 (Docker)
├── F4 (Shared Module)
└── F5 (CI/CD)
F2 (Docker) ─────┘
Milestone 2: Core Product (Phase 1)
Mục tiêu: Người dùng có thể đăng ký, đăng tin và tìm kiếm bất động sản.
Thứ tự thực hiện:
- [TEC-1421] Auth Backend (sau F3, F4)
- [TEC-1425] Security Hardening + [TEC-1426] Error Handling (song song, sau F1/F4)
- [TEC-1422] Auth Frontend (sau C1)
- [TEC-1423] Listings Backend (sau C1)
- [TEC-1424] Search Backend (sau C3)
- [TEC-1427] Listings Frontend (sau C3)
- [TEC-1428] Search + Landing Frontend (sau C5)
F3 + F4 ──→ C1 (Auth BE) ──┬── C2 (Auth FE)
├── C3 (Listings BE) ──┬── C5 (Search BE) ──→ C6 (Search FE)
│ └── C4 (Listings FE)
├── X1 (Security)
└── X3 (Error Handling)
Milestone 3: Monetization (Phase 2)
Mục tiêu: MVP tạo doanh thu với thanh toán, subscription và công cụ admin.
C1 ──→ M1 (Payments) ──→ M2 (Subscriptions)
C1 ──→ M3 (Notifications)
C1 + C3 ──→ M4 (Admin)
Phase 1 ──→ X4 (E2E Tests)
Milestone 4: AI-Powered (Phase 3)
Mục tiêu: Sản phẩm khác biệt với các tính năng AI.
F2 ──→ A1 (AI/ML Container) ──→ A2 (Analytics)
C5 + A2 ──→ A3 (MCP Servers)
Bản đồ phụ thuộc
| Task | Phụ thuộc vào |
|---|---|
| TEC-1415 (F1) | Không |
| TEC-1416 (F2) | Không |
| TEC-1417 (F3) | F1, F2 |
| TEC-1418 (F4) | F1 |
| TEC-1419 (F5) | F1 |
| TEC-1420 (F6) | F1 |
| TEC-1421 (C1) | F3, F4 |
| TEC-1422 (C2) | C1 |
| TEC-1423 (C3) | C1, F3 |
| TEC-1424 (C5) | C3, F2 |
| TEC-1425 (X1) | F1 |
| TEC-1426 (X3) | F4 |
| TEC-1427 (C4) | C3 |
| TEC-1428 (C6) | C5 |
| TEC-1429 (M1) | C1 |
| TEC-1430 (M2) | M1 |
| TEC-1431 (M3) | C1 |
| TEC-1432 (M4) | C1, C3 |
| TEC-1433 (X4) | Phase 1 |
Milestone 5: Production Hardening (Phase 4)
Mục tiêu: Sửa tất cả các vấn đề bảo mật quan trọng. Thiết lập khả năng triển khai production.
Thứ tự thực hiện:
- [TEC-1449] JWT Secret Fix + [TEC-1451] HMAC Timing Fix + [TEC-1452] MinIO Fix + [TEC-1453] CSRF (song song — không có dependency giữa chúng)
- [TEC-1455] DB Index (độc lập — có thể chạy song song với các task trên)
- [TEC-1450] Deployment Pipeline (sau khi đã xác minh các bản sửa lỗi bảo mật)
- [TEC-1457] Backups + Logs (sau khi hạ tầng deployment đã có)
- [TEC-1456] Test Coverage (song song — độc lập với hạ tầng)
TEC-1449 (JWT) ──────┐
TEC-1451 (HMAC) ─────┤
TEC-1452 (MinIO) ────┼──→ TEC-1450 (Deploy Pipeline) ──→ TEC-1457 (Backups + Logs)
TEC-1453 (CSRF) ─────┘
TEC-1455 (DB Index) ──────────────────────────────────(independent)
TEC-1456 (Tests) ─────────────────────────────────────(independent)
Milestone 6: Quality & Polish (Phase 5)
Mục tiêu: UX, tài liệu và hiệu năng đạt chất lượng production.
Phase 4 done ──→ TEC-1458 (Redis Caching)
TEC-1459 (Frontend Polish) (parallel)
TEC-1460 (OpenAPI/Swagger) (parallel)
TEC-1461 (Documentation) (parallel)
Bản đồ phụ thuộc (Phase 4-5)
| Task | Phụ thuộc vào |
|---|---|
| TEC-1449 | Không |
| TEC-1450 | TEC-1449 (bảo mật trước) |
| TEC-1451 | Không |
| TEC-1452 | Không |
| TEC-1453 | Không |
| TEC-1455 | Không |
| TEC-1456 | Không |
| TEC-1457 | TEC-1450 |
| TEC-1458 | Phase 4 |
| TEC-1459 | Không |
| TEC-1460 | Không |
| TEC-1461 | Không |
Milestone 7: Hoàn thành tính năng MVP & Audit (Phase 6)
Mục tiêu: Hoàn thành các tính năng MVP còn lại (Agent Portal, AI, Payments), dọn dẹp tech debt từ audit.
Sprint 1 — Ổn định (Tuần 1):
- [TEC-1592] Commit các file chưa được track (P0, không có dependency)
- [TEC-1593] Sửa Architect agent (P0, không có dependency)
- [TEC-1594] Hợp nhất i18n (P1, không có dependency)
Sprint 2 — Agent Portal + Payments (Tuần 2-3): 4. [TEC-1595] Agent Portal (P1, sau TEC-1592) 5. [TEC-1597] Luồng thanh toán (P1, sau TEC-1592) 6. [TEC-1598] Smoke test (P1, độc lập)
Sprint 3 — AI & Chất lượng (Tuần 4-5): 7. [TEC-1596] Tích hợp AI/ML (P1, sau TEC-1592) 8. [TEC-1599] Độ bao phủ test (P2, độc lập) 9. [TEC-1600] Tài liệu OpenAPI (P2, độc lập)
Sprint 4 — Củng cố (Tuần 5-6): 10. [TEC-1601] Baseline K6 (P2, độc lập) 11. [TEC-1602] Audit bảo mật (P2, sau các bản sửa bảo mật Phase 4) 12. [TEC-1603] Tối ưu DB index (P2, độc lập) 13. [TEC-1604] Tích hợp Sentry (P2, độc lập)
TEC-1592 (Commit) ──┬── TEC-1595 (Agent Portal)
├── TEC-1596 (AI/ML)
└── TEC-1597 (Payments)
TEC-1593 (Architect Fix) ─── (independent)
TEC-1594 (i18n) ────────────── (independent)
TEC-1598 (Smoke Tests) ─────── (independent)
TEC-1599..1604 (P2 quality) ── (all independent, parallel)
Bản đồ phụ thuộc (Phase 6)
| Task | Phụ thuộc vào |
|---|---|
| TEC-1592 | Không |
| TEC-1593 | Không |
| TEC-1594 | Không |
| TEC-1595 | TEC-1592 |
| TEC-1596 | TEC-1592 |
| TEC-1597 | TEC-1592 |
| TEC-1598 | Không |
| TEC-1599 | Không |
| TEC-1600 | Không |
| TEC-1601 | Không |
| TEC-1602 | Bảo mật Phase 4 |
| TEC-1603 | Không |
| TEC-1604 | Không |
Milestone 8: Cải tiến sau MVP (Phase 7)
Mục tiêu: Sửa các bug còn lại, củng cố cho production, cải thiện UX và DX.
Wave 1 — Sửa lỗi quan trọng (1-2 ngày):
- [TEC-1647] Sửa định tuyến Reviews (P0, không có dependency)
- [TEC-1648] Sửa các Health endpoint (P0, không có dependency)
- [TEC-1649] Sửa xử lý lỗi Login (P0, cần DB)
- [TEC-1650] Sửa Listing 404 (P1, cần DB)
Wave 2 — Sẵn sàng Production (3-5 ngày): 5. [TEC-1651] Môi trường E2E CI (P1, không có dependency) 6. [TEC-1652] Chạy E2E test (P1, sau các fix Wave 1) 7. [TEC-1653] Audit security header (P1, không có dependency) 8. [TEC-1658] PgBouncer pooling (P1, không có dependency)
Wave 3 — Chất lượng hướng tới người dùng (1-2 tuần): 9. [TEC-1654] Mobile responsive (P1, không có dependency) 10. [TEC-1655] Tối ưu SEO (P1, không có dependency) 11. [TEC-1656] Rate limiting theo người dùng (P1, không có dependency) 12. [TEC-1657] Audit logging cho admin (P1, không có dependency)
Wave 4 — Xuất sắc về Engineering (2-3 tuần): 13. [TEC-1659] Graceful degradation (P2, không có dependency) 14. [TEC-1660] Tài liệu mã lỗi (P2, không có dependency) 15. [TEC-1661] RUM + Web Vitals (P2, không có dependency) 16. [TEC-1662] Cập nhật QA Tracker (P2, sau Wave 2)
TEC-1647 (Reviews) ──┐
TEC-1648 (Health) ────┼── TEC-1652 (E2E Tests) ── TEC-1662 (QA Update)
TEC-1649 (Login) ─────┤
TEC-1650 (Listing) ───┘
TEC-1651 (CI E2E) ──────── (independent)
TEC-1653 (Headers) ─────── (independent)
TEC-1658 (PgBouncer) ───── (independent)
TEC-1654..1657 (Wave 3) ── (all independent, parallel)
TEC-1659..1661 (Wave 4) ── (all independent, parallel)
Bản đồ phụ thuộc (Phase 7)
| Task | Phụ thuộc vào |
|---|---|
| TEC-1647 | Không |
| TEC-1648 | Không |
| TEC-1649 | Không |
| TEC-1650 | Không |
| TEC-1651 | Không |
| TEC-1652 | TEC-1647, TEC-1648 |
| TEC-1653 | Không |
| TEC-1654 | Không |
| TEC-1655 | Không |
| TEC-1656 | Không |
| TEC-1657 | Không |
| TEC-1658 | Không |
| TEC-1659 | Không |
| TEC-1660 | Không |
| TEC-1661 | Không |
| TEC-1662 | TEC-1652 |
Milestone 9: Audit của CEO Wave 5 — Bảo mật & Tính năng (Phase 7 tiếp)
Mục tiêu: Xử lý các lỗ hổng bảo mật, cải thiện độ bao phủ test, triển khai tính năng còn thiếu của Sprint 3.
Wave 5a — Bảo mật (NGÀY 1-2, song song):
- [TEC-1684] Sửa lỗ hổng npm (P0, Security Engineer)
- [TEC-1685] Sửa lỗi lint (P1, QA Engineer)
Wave 5b — Chất lượng & Tính năng (TUẦN 1-2): 3. [TEC-1686] Đẩy mạnh độ bao phủ test (P1, QA Engineer, sau 5a) 4. [TEC-1688] Saved Searches + Alerts (P1, Architect) 5. [TEC-1687] Thiết lập Dependabot (P2, DevOps Engineer)
TEC-1684 (NPM Vuln) ─────── (independent, P0)
TEC-1685 (Lint) ──────────── TEC-1686 (Test Coverage)
TEC-1688 (Saved Searches) ── (independent, P1)
TEC-1687 (Dependabot) ────── (independent, P2)
Bản đồ phụ thuộc (Wave 5)
| Task | Phụ thuộc vào |
|---|---|
| TEC-1684 | Không |
| TEC-1685 | Không |
| TEC-1686 | TEC-1685 |
| TEC-1687 | Không |
| TEC-1688 | Không |
Ghi chú triển khai
- Phase 0-6 đã hoàn thành — 51/51 task xong, MVP hoàn chỉnh tính năng
- Phase 7 là ưu tiên hiện tại — sửa bug và củng cố production
- Wave 13 là sprint hiện tại — 6 task (TEC-1918 đến TEC-1923)
- Tổng trạng thái dự án (từ Paperclip, 2026-04-12): 219 done / 3 in progress / 9 todo / 3 cancelled trên tổng số 234 issue
- Đường găng: TEC-1918 (TS errors) → TEC-1919 (E2E unblock) → checklist sẵn sàng production (TEC-1922)
- Ưu tiên: CI green (TEC-1918), E2E (TEC-1919), grooming backlog (TEC-1920), trang /pricing (TEC-1921)
- Lộ trình production: Các fix Wave 13 → checklist sẵn sàng production → quyết định go-live
Milestone 13: Audit của CEO Wave 13 (Phase 7 tiếp)
Mục tiêu: Sửa các lỗi TS còn lại, gỡ chặn E2E, grooming backlog, hoàn thành trang pricing, checklist sẵn sàng production.
Wave 13A — Sửa CI (Ngày 1):
- [TEC-1918] Sửa 7 lỗi biên dịch TS trong các file test web (P0, Senior Backend Engineer)
Wave 13B — Tính năng & Chất lượng (Ngày 2-3): 2. [TEC-1919] Gỡ chặn môi trường E2E test (P1, DevOps Engineer) 3. [TEC-1920] Grooming backlog — loại bỏ trùng lặp và đóng các task đã giải quyết (P1, QA Engineer) 4. [TEC-1921] Hoàn thành trang /pricing (P1, Senior Frontend Engineer)
Wave 13C — Tài liệu & Sẵn sàng (Ngày 3-5): 5. [TEC-1922] Checklist sẵn sàng production (P2, SRE Engineer) 6. [TEC-1923] Cập nhật PROJECT_TRACKER.md (P2, Technical Writer)
TEC-1918 (TS Errors) ──→ TEC-1919 (E2E Unblock)
TEC-1920 (Backlog) ────── (independent)
TEC-1921 (/pricing) ───── (independent)
TEC-1922 (Readiness) ──── (after TEC-1918/1919)
TEC-1923 (Tracker) ────── (independent)
Bản đồ phụ thuộc (Wave 13)
| Task | Phụ thuộc vào |
|---|---|
| TEC-1918 | Không |
| TEC-1919 | TEC-1918 |
| TEC-1920 | Không |
| TEC-1921 | Không |
| TEC-1922 | TEC-1918, TEC-1919 |
| TEC-1923 | Không |
Milestone 12: Audit của CEO — Sửa CI Pipeline (Phase 7 Wave 12)
Mục tiêu: Khôi phục CI pipeline về trạng thái xanh. Sửa tất cả các lỗi TypeScript, ESLint và test. Commit công việc còn tồn đọng.
Wave 12A — Sửa CI (Ngày 1, song song):
- [TEC-1898] Sửa migration Prisma 7 (P0, Senior Backend Engineer)
- [TEC-1899] Sửa 31 unit test thất bại (P0, QA Engineer)
- [TEC-1900] Sửa lỗi ESLint + commit file (P0, Senior Backend Engineer, sau TEC-1898)
Wave 12B — Sửa lỗi (Ngày 2-3): 4. [TEC-1649] Fix Login 500→401 (P1, đang tiến hành) 5. [TEC-1657] Audit logging cho admin (P1, todo) 6. [TEC-1878] Môi trường E2E (P1, DevOps Engineer) 7. [TEC-1847] Test component React (P1, QA Engineer)
TEC-1898 (Prisma Fix) ──┬── TEC-1900 (ESLint + Commit)
TEC-1899 (Test Fixes) ──┘
TEC-1649 (Login Fix) ─── (independent, in progress)
TEC-1878 (E2E Env) ────── (independent)
TEC-1657 (Audit Logs) ─── (independent)
TEC-1847 (RTL Tests) ──── (independent)
Bản đồ phụ thuộc (Wave 12)
| Task | Phụ thuộc vào |
|---|---|
| TEC-1898 | Không |
| TEC-1899 | Không |
| TEC-1900 | TEC-1898 |
| TEC-1649 | Không |
| TEC-1657 | Không |
| TEC-1878 | Không |
| TEC-1847 | Không |