Setup code quality tooling for the monorepo: - ESLint 9 flat config with TypeScript, import ordering, and NestJS rules - Prettier with consistent formatting across all files - dependency-cruiser enforcing module boundary rules (no cross-module internals, no circular deps) - Husky + lint-staged for pre-commit hooks - Auto-fixed existing files for type imports and import ordering Co-Authored-By: Paperclip <noreply@paperclip.ing>
107 lines
3.2 KiB
Markdown
107 lines
3.2 KiB
Markdown
# 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:**
|
|
|
|
1. **[TEC-1415] Monorepo Scaffolding** + **[TEC-1416] Docker Compose** (parallel — no deps)
|
|
2. **[TEC-1420] ESLint/Prettier** (after F1)
|
|
3. **[TEC-1417] Prisma Schema** (after F1 + F2)
|
|
4. **[TEC-1418] Shared Module** (after F1)
|
|
5. **[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:**
|
|
|
|
1. **[TEC-1421] Auth Backend** (after F3, F4)
|
|
2. **[TEC-1425] Security Hardening** + **[TEC-1426] Error Handling** (parallel, after F1/F4)
|
|
3. **[TEC-1422] Auth Frontend** (after C1)
|
|
4. **[TEC-1423] Listings Backend** (after C1)
|
|
5. **[TEC-1424] Search Backend** (after C3)
|
|
6. **[TEC-1427] Listings Frontend** (after C3)
|
|
7. **[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)
|