# 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:** 1. **[TEC-1415] Monorepo Scaffolding** + **[TEC-1416] Docker Compose** (song song — không có dependency) 2. **[TEC-1420] ESLint/Prettier** (sau F1) 3. **[TEC-1417] Prisma Schema** (sau F1 + F2) 4. **[TEC-1418] Shared Module** (sau F1) 5. **[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:** 1. **[TEC-1421] Auth Backend** (sau F3, F4) 2. **[TEC-1425] Security Hardening** + **[TEC-1426] Error Handling** (song song, sau F1/F4) 3. **[TEC-1422] Auth Frontend** (sau C1) 4. **[TEC-1423] Listings Backend** (sau C1) 5. **[TEC-1424] Search Backend** (sau C3) 6. **[TEC-1427] Listings Frontend** (sau C3) 7. **[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:** 1. **[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) 2. **[TEC-1455] DB Index** (độc lập — có thể chạy song song với các task trên) 3. **[TEC-1450] Deployment Pipeline** (sau khi đã xác minh các bản sửa lỗi bảo mật) 4. **[TEC-1457] Backups + Logs** (sau khi hạ tầng deployment đã có) 5. **[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):** 1. **[TEC-1592] Commit các file chưa được track** (P0, không có dependency) 2. **[TEC-1593] Sửa Architect agent** (P0, không có dependency) 3. **[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):** 1. **[TEC-1647] Sửa định tuyến Reviews** (P0, không có dependency) 2. **[TEC-1648] Sửa các Health endpoint** (P0, không có dependency) 3. **[TEC-1649] Sửa xử lý lỗi Login** (P0, cần DB) 4. **[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):** 1. **[TEC-1684] Sửa lỗ hổng npm** (P0, Security Engineer) 2. **[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):** 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):** 1. **[TEC-1898] Sửa migration Prisma 7** (P0, Senior Backend Engineer) 2. **[TEC-1899] Sửa 31 unit test thất bại** (P0, QA Engineer) 3. **[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 |