GoodGo Platform — Roadmap & Development Tracker
Last updated: 2026-03-06
Maintained by: CTO & Agents Team
Status convention: DONE | IN-PROGRESS | TODO | BLOCKED | SKIPPED
I. Platform Overview
| Metric |
Current |
Phase 1 Target |
Phase 2 Target |
Phase 3 Target |
| Services production-ready |
8/24 |
12/24 |
16/24 |
20/24 |
| Test coverage (estimated) |
~40% |
70% |
80% |
85% |
| POS verticals fully working |
2/5 |
2/5 (stable) |
4/5 |
5/5 |
| Payment methods live |
0 |
2 |
3 |
4+ |
| Real-time features |
0 |
KDS + Orders |
Full POS |
Full |
| Mobile apps |
Template |
Template |
iOS v1 |
iOS + Android |
| Environment |
Dev only |
Staging |
Staging + Prod |
Prod (SLA 99.9%) |
II. Microservices Status
Production-Ready (8)
| Service |
Controllers |
Tests |
Notes |
Last Updated |
| iam-service |
12 |
30 |
OAuth2, RBAC, MFA, Sessions, Access Reviews |
2026-03-06 |
| storage-service |
11 |
10 |
Multipart uploads, versioning, signed URLs |
2026-03-06 |
| merchant-service |
10 |
2 |
Shop lifecycle, subscription plans (NEW) |
2026-03-06 |
| wallet-service |
5 |
5 |
Balance, loyalty points, holds |
2026-03-06 |
| order-service |
3 |
2 |
Full order lifecycle, POS dashboard |
2026-03-06 |
| membership-service |
2 |
12 |
Tier management, loyalty |
2026-03-06 |
| promotion-service |
5 |
5 |
Vouchers, campaigns, discounts |
2026-03-06 |
| chat-service |
3 |
6 |
SignalR + Redis backplane |
2026-03-06 |
In-Progress (11)
| Service |
Status |
What's Done |
What's Missing |
Priority |
| fnb-engine |
Controllers OK |
Kitchen/Reservation/Session/Table controllers |
Handler logic, 0 tests |
P0 |
| catalog-service |
Basic CRUD |
Products, Categories controllers |
Variants, advanced queries |
P1 |
| inventory-service |
Basic CRUD |
Create/Update/Delete items |
Auto-deduction, alerts, tests |
P0 |
| booking-service |
7 controllers |
API structure, entities defined |
Handler completion |
P1 |
| social-service |
Core domain |
Relationships, Blocks, Follows |
API integration |
P2 |
| mining-service |
Skeleton |
Controllers + entities defined |
Business logic |
P3 |
| mission-service |
Controllers exist |
Missions, CheckIns |
Workflow handlers |
P2 |
| ads-manager |
7 controllers |
Campaign/Ad/AdSet/Audience structure |
Campaign logic |
P3 |
| ads-analytics |
Read-heavy |
Metrics/Insights structure |
Aggregation logic |
P3 |
| ads-billing |
Core entities |
BillingAccount/Invoice/Charge |
Invoice flow |
P3 |
| ads-serving |
Skeleton |
API structure |
Real-time serving |
P3 |
Scaffold / Not Started (5)
| Service |
Status |
Note |
| ads-tracking |
Scaffold |
Template only, not in docker-compose |
| mkt-facebook |
Scaffold |
Facebook API not connected |
| mkt-whatsapp |
Scaffold |
WhatsApp API not connected |
| mkt-x |
Scaffold |
X/Twitter API not connected |
| mkt-zalo |
Scaffold |
Zalo API not connected |
III. Frontend Apps Status
| App |
Status |
Components |
Notes |
| web-client-tpos-net (POS) |
PRODUCTION-READY |
181 |
Multi-layout, multi-vertical, real API integration |
| web-client-base-net (Portal) |
IN-PROGRESS |
16 |
Basic page structure |
| app-client-base-swift (iOS) |
IN-PROGRESS |
34 files |
MVVM + Combine, auth + home |
| app-client-base-net (MAUI) |
SCAFFOLD |
2 VMs |
Template phase |
| web-docs (VitePress) |
MINIMAL |
— |
Placeholder docs |
POS Vertical Status
| Vertical |
Backend |
Frontend |
Order Flow |
Payment |
Status |
| Karaoke |
DONE |
DONE |
DONE |
UI-ONLY |
WORKING |
| Restaurant |
DONE |
DONE |
DONE |
UI-ONLY |
WORKING |
| Cafe |
DONE |
DONE |
PARTIAL |
UI-ONLY |
PARTIAL |
| Spa/Beauty |
PARTIAL |
DONE |
PARTIAL |
UI-ONLY |
PARTIAL |
| Retail |
TODO |
UI-ONLY |
TODO |
UI-ONLY |
TODO |
IV. Critical Gaps Tracker
P0 — Must Fix Before Launch
| # |
Gap |
Status |
Owner |
Sprint |
Notes |
| 1 |
Payment Gateway — VN Pay |
TODO |
Backend #1 |
Phase 1 / W1-2 |
wallet-service integration |
| 2 |
Payment Gateway — Momo |
TODO |
Backend #2 |
Phase 1 / W1-2 |
wallet-service integration |
| 3 |
Real-time SignalR Hub |
TODO |
Backend #3 |
Phase 1 / W1-2 |
KDS + order push updates |
| 4 |
Kitchen → Inventory Deduction |
TODO |
Backend #1 |
Phase 1 / W2 |
fnb-engine → inventory-service |
| 5 |
Multi-tenant Row-Level Security |
TODO |
Backend #2 |
Phase 1 / W2-3 |
All services, DB level |
| 6 |
Payment UI Completion |
TODO |
Frontend Blazor |
Phase 1 / W1-2 |
Connect to real gateway |
| 7 |
Integration Test Suite |
TODO |
QA Engineer |
Phase 1 / W3 |
Order lifecycle e2e |
| 8 |
Staging Deployment |
TODO |
DevOps |
Phase 1 / W3-4 |
K8s + monitoring |
P1 — Required for Full Feature Set
| # |
Gap |
Status |
Owner |
Sprint |
Notes |
| 9 |
Retail POS Workflow |
TODO |
Backend + Frontend |
Phase 2 / W5-6 |
Scan, stock, return/exchange |
| 10 |
Spa Backend Domain Logic |
TODO |
Backend |
Phase 2 / W5-6 |
Appointments, therapist scheduling |
| 11 |
EOD Reports + Daily Close |
TODO |
Frontend Blazor |
Phase 1 / W4 |
order-service queries |
| 12 |
FnB Engine Test Coverage |
TODO |
QA Engineer |
Phase 1 / W3 |
0 tests currently |
| 13 |
Cafe Workflow Completion |
TODO |
Backend + Frontend |
Phase 2 / W5-6 |
Loyalty stamps, barista queue |
P2 — Enhancement
| # |
Gap |
Status |
Sprint |
Notes |
| 14 |
Marketing — Zalo OA |
TODO |
Phase 3 |
mkt-zalo-service |
| 15 |
Marketing — Facebook |
TODO |
Phase 3 |
mkt-facebook-service |
| 16 |
Ads Platform |
TODO |
Phase 3 |
5 ads services |
| 17 |
Mobile iOS v1 |
TODO |
Phase 3 |
app-client-base-swift |
| 18 |
Mobile MAUI v1 |
TODO |
Phase 3 |
app-client-base-net |
| 19 |
Observability Stack |
TODO |
Phase 2 |
Prometheus + Grafana + Loki |
V. Phase Roadmap
Phase 1: Production MVP (Week 1-4)
Goal: Karaoke + Restaurant verticals ready for real customers
Week 1-2: Payment & Real-time
| Task |
Agent |
Status |
Depends On |
| VN Pay payment gateway integration |
Senior Backend #1 |
TODO |
wallet-service |
| Momo payment gateway integration |
Senior Backend #2 |
TODO |
wallet-service |
| SignalR hub for real-time updates |
Senior Backend #3 |
TODO |
— |
| KDS push notifications via SignalR |
Senior Backend #3 |
TODO |
SignalR hub |
| Payment UI — connect to real gateway |
Senior Frontend |
TODO |
Payment backends |
| Order status push to POS |
Senior Backend #3 |
TODO |
SignalR hub |
Week 2-3: Data Integrity & Security
| Task |
Agent |
Status |
Depends On |
| Kitchen → Inventory auto-deduction |
Senior Backend #1 |
TODO |
fnb-engine, inventory |
| Row-level security (all services) |
Senior Backend #2 |
TODO |
— |
| Rate limiting audit |
DevOps |
TODO |
— |
| Input sanitization audit |
QA |
TODO |
— |
| FnB Engine unit tests |
QA |
TODO |
— |
| Order lifecycle integration tests |
QA |
TODO |
Payment done |
Week 3-4: Polish & Deploy
| Task |
Agent |
Status |
Depends On |
| EOD reports + daily close workflow |
Senior Frontend |
TODO |
order-service |
| Full regression testing |
QA |
TODO |
All P0 done |
| Staging K8s deployment |
DevOps |
TODO |
— |
| Grafana monitoring dashboards |
DevOps |
TODO |
Observability stack |
| Production deploy checklist |
DevOps + CTO |
TODO |
Staging verified |
| Load testing (100 concurrent users) |
QA + DevOps |
TODO |
Staging live |
Phase 2: Multi-Vertical Expansion (Week 5-8)
Goal: Cafe + Spa + Retail verticals fully operational
Week 5-6: Vertical Completion
| Task |
Agent |
Status |
Depends On |
| Spa domain logic (appointments, therapists) |
Senior Backend |
TODO |
booking-service |
| Retail POS workflow (scan, stock, returns) |
Senior Backend |
TODO |
catalog, inventory |
| Cafe-specific (loyalty stamps, barista queue) |
Senior Backend |
TODO |
membership |
| Vertical-specific UI refinement |
Senior Frontend |
TODO |
Backend done |
| Multi-branch management features |
Senior Backend |
TODO |
merchant-service |
Week 7-8: Advanced Features
| Task |
Agent |
Status |
Depends On |
| Advanced reports (revenue, staff perf) |
Backend + Frontend |
TODO |
order-service |
| Customer-facing menu (QR code) |
Frontend |
TODO |
catalog-service |
| Mobile-responsive POS layout |
Frontend |
TODO |
— |
| E2E tests per vertical (Playwright) |
QA |
TODO |
Verticals done |
| Observability stack activation |
DevOps |
TODO |
— |
| Production deployment (Karaoke + Restaurant) |
DevOps + CTO |
TODO |
Phase 1 stable |
Phase 3: Growth Features (Week 9-12)
Goal: Marketing, Ads, Mobile apps
Week 9-10: Marketing & CRM
| Task |
Agent |
Status |
Depends On |
| Zalo OA integration |
Backend |
TODO |
mkt-zalo-service |
| Facebook Messenger integration |
Backend |
TODO |
mkt-facebook-service |
| CRM dashboard (segments, campaigns) |
Frontend |
TODO |
membership + social |
| Marketing automation UI |
Frontend |
TODO |
mkt backends |
| WhatsApp integration |
Backend |
TODO |
mkt-whatsapp-service |
Week 11-12: Mobile & Ads
| Task |
Agent |
Status |
Depends On |
| iOS app v1 (customer-facing) |
Senior Mobile (Swift) |
TODO |
API stable |
| MAUI cross-platform app v1 |
Senior MAUI Dev |
TODO |
API stable |
| Ads serving + billing completion |
Backend |
TODO |
ads-* services |
| CDN + edge caching setup |
DevOps |
TODO |
— |
| Full platform production launch |
CTO + All |
TODO |
All phases done |
VI. Recently Completed
2026-03-06
| Task |
Agent |
Details |
| Account Management (Admin Settings) |
Backend + Frontend |
Full profile/merchant CRUD via BFF |
| Subscription System |
Backend + Frontend |
Merchant entity + EF + API + dynamic UI |
| User → Enterprise Plan |
Backend + DB |
hongochai10@icloud.com set to Enterprise (unlimited) |
| Subscription Controller |
Backend |
GET /me, /plans, /usage + POST /subscribe |
| ChangePassword Validator |
Backend |
FluentValidation for IAM auth |
| Traefik Route (subscriptions) |
DevOps |
/api/v1/subscriptions → merchant-service |
| Admin Settings 5-Tab UI |
Frontend |
Tai khoan, Bao mat, Goi dich vu, Thong bao, He thong |
2026-03-05
| Task |
Agent |
Details |
| IAM Service — EF Config for ApplicationUser |
Backend |
Private field mapping (first_name, last_name, etc.) |
| Merchant Profile — NullRef Fix |
Backend |
Enumeration.FromValue pattern for EF-ignored nav properties |
| BFF Proxy — Account endpoints |
Backend |
15 endpoints proxying to IAM + Merchant services |
| AdminSettings.razor — Full implementation |
Frontend |
846-line Blazor component with 5 tabs |
VII. Architecture Decisions Log
| Date |
Decision |
Rationale |
Status |
| 2026-03-06 |
Subscription stored in Merchant aggregate |
Simple, no separate service needed for MVP |
ACTIVE |
| 2026-03-06 |
Static plan definitions in frontend + backend |
4 fixed tiers sufficient for MVP launch |
ACTIVE |
| 2026-03-05 |
BFF pattern for frontend-backend proxy |
Single entry point, auth forwarding, response normalization |
ACTIVE |
| 2026-03-05 |
Neon PostgreSQL for staging/prod |
Serverless, auto-scaling, branching for dev |
ACTIVE |
| — |
Clean Architecture + CQRS |
Separation of concerns, testability |
ACTIVE |
| — |
MediatR pipeline (Log → Validate → Transaction → Handle) |
Cross-cutting concerns |
ACTIVE |
| — |
Bilingual docs (EN + VI) |
Team accessibility |
ACTIVE |
VIII. Environment & Access
| Environment |
URL |
Database |
Status |
| Local (Docker) |
localhost:3001 (POS), :5001 (IAM), :5005 (Merchant) |
PostgreSQL local container |
ACTIVE |
| Local (dotnet run) |
localhost:5092 (POS), :5001 (IAM), :5005 (Merchant) |
Neon PostgreSQL |
ACTIVE |
| Staging |
api.staging.goodgo.vn |
Neon PostgreSQL |
TODO |
| Production |
goodgo.vn / admin.goodgo.vn |
Neon PostgreSQL |
TODO |
Test Accounts
IX. How to Update This File
- When starting a task: Change status to
IN-PROGRESS
- When completing: Change to
DONE and add to "Recently Completed"
- When blocked: Change to
BLOCKED and add note
- Weekly: CTO reviews and reprioritizes
- After each sprint: Update metrics in Section I
Agent Workflow
This file is the single source of truth for GoodGo Platform development progress.
All agents should consult this file before starting work and update it after completing tasks.