feat: scaffold monorepo with Turborepo + NestJS + Next.js

- 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>
This commit is contained in:
Ho Ngoc Hai
2026-04-07 23:52:33 +07:00
commit e1e5fa6252
52 changed files with 6110 additions and 0 deletions

60
PROJECT_TRACKER.md Normal file
View File

@@ -0,0 +1,60 @@
# GoodGo Platform AI — Project Tracker
**Last Updated:** 2026-04-07
**Project:** Goodgo Platform AI
**Status:** Phase 0 — Foundation
---
## Phase 0: Foundation (P0 — Critical)
| Issue | Title | Owner | Priority | Status | Blockers |
|-------|-------|-------|----------|--------|----------|
| [TEC-1415](/TEC/issues/TEC-1415) | Monorepo Scaffolding (Turborepo + NestJS + Next.js) | Founding Engineer | Critical | todo | None |
| [TEC-1416](/TEC/issues/TEC-1416) | Docker Compose Dev Environment | DevOps Engineer | Critical | todo | None |
| [TEC-1417](/TEC/issues/TEC-1417) | Prisma Schema + Initial Migration + Seed Scripts | Database Architect | Critical | todo | F1, F2 |
| [TEC-1418](/TEC/issues/TEC-1418) | Shared Module (Domain Primitives + Infrastructure) | Architect | Critical | todo | F1 |
| [TEC-1419](/TEC/issues/TEC-1419) | CI/CD Pipeline (GitHub Actions) | DevOps Engineer | High | todo | F1 |
| [TEC-1420](/TEC/issues/TEC-1420) | ESLint + Prettier + Module Boundary Rules | Founding Engineer | High | todo | F1 |
## Phase 1: Core Auth & Listings (P1)
| Issue | Title | Owner | Priority | Status | Blockers |
|-------|-------|-------|----------|--------|----------|
| [TEC-1421](/TEC/issues/TEC-1421) | Auth Module Backend (Register, Login, JWT, OAuth) | Senior Backend Engineer | Critical | backlog | F3, F4 |
| [TEC-1422](/TEC/issues/TEC-1422) | Auth Frontend (Login/Register + OAuth) | Senior Frontend Engineer | High | backlog | C1 |
| [TEC-1423](/TEC/issues/TEC-1423) | Listings Module Backend (CRUD, Media, Moderation) | Senior Backend Engineer | High | backlog | C1, F3 |
| [TEC-1424](/TEC/issues/TEC-1424) | Search Module Backend (Typesense + Geo) | API Architect | High | backlog | C3, F2 |
| [TEC-1425](/TEC/issues/TEC-1425) | Security Hardening (Rate Limiting, CORS, Helmet) | Security Engineer | High | backlog | F1 |
| [TEC-1426](/TEC/issues/TEC-1426) | Error Handling & Logging Strategy | Architect | High | backlog | F4 |
| [TEC-1427](/TEC/issues/TEC-1427) | Listings Frontend (Create/Edit + Detail) | Senior Frontend Engineer | High | backlog | C3 |
| [TEC-1428](/TEC/issues/TEC-1428) | Search + Landing Page Frontend | Senior Frontend Engineer | High | backlog | C5 |
## Phase 2: Monetization & Operations (P2)
| Issue | Title | Owner | Priority | Status | Blockers |
|-------|-------|-------|----------|--------|----------|
| [TEC-1429](/TEC/issues/TEC-1429) | Payments Module (VNPay + MoMo + ZaloPay) | Senior Backend Engineer | Medium | backlog | C1 |
| [TEC-1430](/TEC/issues/TEC-1430) | Subscriptions Module (Plans, Quotas, Billing) | Senior Backend Engineer | Medium | backlog | M1 |
| [TEC-1431](/TEC/issues/TEC-1431) | Notifications Module (Email, SMS, Zalo OA, FCM) | Founding Engineer | Medium | backlog | C1 |
| [TEC-1432](/TEC/issues/TEC-1432) | Admin Module (Backend + Frontend) | Senior Backend Engineer | Medium | backlog | C1, C3 |
| [TEC-1433](/TEC/issues/TEC-1433) | E2E Testing Setup (Playwright) | QA Engineer | Medium | backlog | Phase 1 |
## Phase 3: AI & Advanced (P3) — Not yet created
- AI/ML Services Container (Python FastAPI + XGBoost)
- Analytics Module (Market reports, AVM)
- MCP Server Integration
- Performance Monitoring (Prometheus + Grafana)
---
## Summary
| Phase | Total | Done | In Progress | Blocked | Backlog/Todo |
|-------|-------|------|-------------|---------|--------------|
| Phase 0 | 6 | 0 | 0 | 0 | 6 |
| Phase 1 | 8 | 0 | 0 | 0 | 8 |
| Phase 2 | 5 | 0 | 0 | 0 | 5 |
| Phase 3 | 4 | — | — | — | Not created |
| **Total** | **19** | **0** | **0** | **0** | **19** |