Tạo mới trang /listings dạng bảng ticker-style theo spec TEC-3034. - DataTable compact (row 36px, sticky header, alternating rows) - Cột: #, Mã (GG-xxx), Quận, Loại, Giá, Δ30d, DT m², KL/Views - Sortable theo Giá, Δ30d, DT m², KL/Views - Filter inline: Loại giao dịch, Loại BĐS, Quận, Khoảng giá - Toggle view: Table (default) ↔ Card grid (legacy component cũ) - Pagination restyle compact, giữ nguyên API params - Click row → navigate to detail page - Dùng DataTable + PriceDelta từ @/components/design-system Co-Authored-By: Paperclip <noreply@paperclip.ing>
6.7 KiB
6.7 KiB
GoodGo Platform AI — Kiểm Toán Toàn Codebase (2026-04-21)
Trạng Thái Dự Án: MVP Hoàn Thành — Giai Đoạn 7 (Wave 14), Build Xanh ✅
1. Các Tính Năng Đã Phát Triển (Completed Features)
Core Modules — Lớp DDD Hoàn Chỉnh + Tests + Migrations
| Module | Path | Status | Notes |
|---|---|---|---|
| Auth | apps/api/src/modules/auth/ |
✅ Full DDD | Domain/application/infrastructure/presentation + JWT/Google/Zalo OAuth, 303 tests total |
| Listings | apps/api/src/modules/listings/ |
✅ Full DDD | CRUD, media upload, Typesense sync, approvals, geo-search |
| Search | apps/api/src/modules/search/ |
✅ Full DDD | Typesense 27, geo-spatial queries, PostGIS, filters |
| Payments | apps/api/src/modules/payments/ |
✅ Full DDD | VNPay, MoMo, ZaloPay, transactions, refunds |
| Subscriptions | apps/api/src/modules/subscriptions/ |
✅ Full DDD | Plans, quotas, billing, enforcement |
| Notifications | apps/api/src/modules/notifications/ |
✅ Full DDD | Email, FCM push, SMS, in-app, Zalo OA |
| Analytics | apps/api/src/modules/analytics/ |
✅ Full DDD | Market reports, price indexes, heatmaps, agent scoring |
| Admin | apps/api/src/modules/admin/ |
✅ Full DDD | User/listing management, settings, audit logs |
| Favorites | apps/api/src/modules/favorites/ |
✅ Full DDD | Saved listings, saved searches, alerts |
| Reviews | apps/api/src/modules/reviews/ |
✅ Full DDD | CRUD reviews, 1-5 ratings |
| Leads | apps/api/src/modules/leads/ |
✅ Full DDD | Lead generation, agent assignment, scoring |
| Agents | apps/api/src/modules/agents/ |
✅ Full DDD | Portal, quality scores, verified badges |
| Inquiries | apps/api/src/modules/inquiries/ |
✅ Full DDD | Buyer/seller inquiries, messages |
| Projects | apps/api/src/modules/projects/ |
✅ Full DDD | Developer projects, units, status |
| Industrial | apps/api/src/modules/industrial/ |
✅ Full DDD | KCN parks, listings, operator role |
| Transfer | apps/api/src/modules/transfer/ |
✅ Full DDD | Ownership transfers, documents |
| Reports | apps/api/src/modules/reports/ |
✅ Full DDD | Moderation reports, complaints |
Infrastructure & Database
- Prisma Schema: 41 models, 1408 lines, 29 migrations ✅
- Models: User (MFA, KYC), OAuth, RefreshToken, Listing (PostGIS), Project, IndustrialPark, Payment, Subscription, Notification, Review, Lead, etc.
- Indexes: Compound indexes for performance, geo-spatial support
AI/ML Services & MCP
| Component | Status | Details |
|---|---|---|
| AI FastAPI | ✅ Production | Python 3.10, XGBoost, AVM (v1+v2, industrial), moderation, neighborhood analysis |
| MCP Servers | ✅ Stubs→Partial | property-search, market-analytics, valuation, industrial-parks, reports |
| Redis Cache | ✅ Deployed | Listing caching, quota checks, session mgmt |
| Typesense Search | ✅ Deployed | Full-text + geo sync |
Frontend (Next.js 15)
- Pages: 52+ routes (auth, search, listings, agent portal, admin, projects)
- Components: Detail cards, maps (Mapbox), heatmaps, filters, i18n (vi/en)
- Tests: 74 spec files
DevOps & Infrastructure
- Docker Compose: PostgreSQL 16, Redis 7, Typesense 27, MinIO, Prometheus, Grafana, Loki
- CI/CD: GitHub Actions (build, lint, typecheck, E2E)
- Security: CSP, HSTS, X-Frame-Options, CSRF middleware, rate limiting
- Monitoring: Prometheus, Grafana, Loki/Promtail
2. Các Tính Năng Đang Hoàn Thiện (In-Progress/Partial)
Incomplete Modules
| Module | Path | Issue | Details |
|---|---|---|---|
| Health | apps/api/src/modules/health/ |
⚠️ Presentation-only | Controller + infrastructure only, missing domain/application |
| Metrics | apps/api/src/modules/metrics/ |
⚠️ Presentation-only | Prometheus export only, missing CQRS/domain |
| MCP | apps/api/src/modules/mcp/ |
⚠️ Presentation-only | Transport controller only (~50 LOC), stub implementations |
| Shared | libs/shared/ |
⚠️ Partial | Domain primitives + infrastructure, no application/presentation |
Known TODOs & Technical Debt
admin/application/services/system-settings.service.ts: "TODO(hardening): secret values as plain strings" — needs encryption- No TOTP MFA enforcement for Agent/Admin roles
- No field-level PII encryption (email, phone cleartext)
- MCP server implementations ~50 LOC each — need full handlers + tests
- 27 rate-limit guard tests failing (TEC-1918)
- 6 web unit tests vs. 52 page routes (coverage gap)
3. Các Tính Năng Còn Thiếu (Missing)
| Feature | Reference | Status |
|---|---|---|
| Advanced MCP Handlers | libs/mcp-servers/ |
🔴 Stub implementations only |
| PII Field Encryption | Admin, utils | 🔴 Schema exists, no crypto layer |
| TOTP MFA Enforcement | User.totpSecret | 🔴 Schema + endpoints, no guard middleware |
| Listing 404 Handling | TEC-1650 | 🟡 Returns 500 instead |
| Audit Log for Admin | TEC-1657 | 🟡 No structured trail |
| Rate Limiting Tests | TEC-1656 | 🟡 27 test failures |
| ESLint Errors | TEC-1893 | 🔴 725 errors (712 auto-fixable) |
| TypeScript Test Errors | TEC-1918 | 🔴 7 errors (missing vitest types) |
4. Các Tính Năng Sẽ Phát Triển Trong Tương Lai (Future Roadmap)
Wave 13-14 (Current)
| Task | Priority | Target |
|---|---|---|
| TEC-1918 | Fix 725 ESLint + 7 TS errors | P0 |
| TEC-1889 | Fix 27 rate-limit test failures | P0 |
| TEC-1890 | Complete health/metrics/mcp DDD | P0 |
| TEC-1891 | Real MCP server handlers | P1 |
| TEC-1892 | Add 50+ web unit tests | P1 |
| TEC-1893 | PII field-level encryption | P1 |
| TEC-1894 | Enforce TOTP for Agent/Admin | P1 |
| TEC-1650 | Fix listing detail 404 | P0 |
Post-Wave 14
- Performance: Advanced caching, connection pooling optimization, indexed queries
- Features: Virtual tours, live chat, blockchain ledger, multi-language expansion
- Market Intelligence: ML model enhancement, trend forecasting, micro-analytics
- Regulatory: GDPR compliance, Vietnam KYC workflows, digital signatures
Summary
| Category | Count |
|---|---|
| Total Modules (API) | 23 |
| Full DDD Modules | 18 ✅ |
| Partial/Stub Modules | 4 ⚠️ |
| Prisma Models | 41 |
| Migrations | 29 |
| Backend Tests | 303+ |
| Frontend Tests | 74 |
| Web Pages | 52+ |
| CI/CD Status | ✅ Green |
| Known Issues | 725 lint + 27 test failures |
Status: MVP Phase Complete. Post-MVP quality improvements in Wave 14. All critical systems (auth, payments, search, notifications) operational. QA phase ongoing.