- Turborepo monorepo with pnpm workspaces - apps/api: NestJS 11.x with CQRS module - apps/web: Next.js 14 App Router + TailwindCSS - src/modules/shared: base entities, Result pattern, value objects - TypeScript 5.7+ strict mode, shared tsconfig base - Build pipeline: dev, build, lint, test, typecheck Co-Authored-By: Paperclip <noreply@paperclip.ing>
3.1 KiB
3.1 KiB
GoodGo Platform AI — Implementation Plan
Last Updated: 2026-04-07
Milestones
Milestone 1: Walking Skeleton (Phase 0)
Goal: Any engineer can clone, install, and start developing.
Execution Order:
- [TEC-1415] Monorepo Scaffolding + [TEC-1416] Docker Compose (parallel — no deps)
- [TEC-1420] ESLint/Prettier (after F1)
- [TEC-1417] Prisma Schema (after F1 + F2)
- [TEC-1418] Shared Module (after F1)
- [TEC-1419] CI/CD Pipeline (after 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)
Goal: Users can register, post listings, and search properties.
Execution Order:
- [TEC-1421] Auth Backend (after F3, F4)
- [TEC-1425] Security Hardening + [TEC-1426] Error Handling (parallel, after F1/F4)
- [TEC-1422] Auth Frontend (after C1)
- [TEC-1423] Listings Backend (after C1)
- [TEC-1424] Search Backend (after C3)
- [TEC-1427] Listings Frontend (after C3)
- [TEC-1428] Search + Landing Frontend (after 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)
Goal: Revenue-generating MVP with payments, subscriptions, and admin tools.
C1 ──→ M1 (Payments) ──→ M2 (Subscriptions)
C1 ──→ M3 (Notifications)
C1 + C3 ──→ M4 (Admin)
Phase 1 ──→ X4 (E2E Tests)
Milestone 4: AI-Powered (Phase 3)
Goal: Differentiated product with AI features.
F2 ──→ A1 (AI/ML Container) ──→ A2 (Analytics)
C5 + A2 ──→ A3 (MCP Servers)
Dependency Map
| Task | Depends On |
|---|---|
| TEC-1415 (F1) | None |
| TEC-1416 (F2) | None |
| 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 |
Rollout Notes
- Phase 0 tasks F1 và F2 có thể chạy song song — không có dependency lẫn nhau
- F3 (Prisma) cần cả F1 và F2 — monorepo structure + running PostgreSQL
- Phase 1 bắt đầu ngay khi Phase 0 core done (F1, F2, F3, F4)
- Phase 2 issues ở backlog — activate khi Phase 1 Auth + Listings done
- Phase 3 chưa tạo issues — sẽ tạo khi Phase 2 gần hoàn thành
- Critical path: F1 → F3 → C1 → C3 → C5 → C6 (longest dependency chain)