Files
pos-system/ROADMAP.md
2026-03-06 13:56:29 +07:00

15 KiB

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 DONE Backend #1 Phase 1 / W1-2 wallet-service: IPaymentGateway + VnPayGateway
2 Payment Gateway — Momo TODO Backend #2 Phase 1 / W1-2 wallet-service integration
3 Real-time SignalR Hub DONE Backend #3 Phase 1 / W1-2 PosHub + Redis backplane + MessagePack
4 Kitchen → Inventory Deduction DONE Backend #1 Phase 1 / W2 Domain events + HTTP + Polly + idempotency
5 Multi-tenant Row-Level Security DONE Backend #2 Phase 1 / W2-3 EF Core filters + PostgreSQL RLS, 5 services
6 Payment UI Completion DONE Frontend Blazor Phase 1 / W1-2 Cash/Card/QR wired to real gateway
7 Integration Test Suite DONE QA Engineer Phase 1 / W3 29 functional tests, full order lifecycle
8 Staging Deployment DONE DevOps Phase 1 / W3-4 16 K8s manifests, CI/CD, deploy script

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 DONE QA Engineer Phase 1 / W3 96 tests (57 domain + 39 handler)
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 DONE wallet-service
Momo payment gateway integration Senior Backend #2 DEFERRED wallet-service (VNPay sufficient for MVP)
SignalR hub for real-time updates Senior Backend #3 DONE
KDS push notifications via SignalR Senior Backend #3 DONE SignalR hub
Payment UI — connect to real gateway Senior Frontend DONE Payment backends
Order status push to POS Senior Backend #3 DONE SignalR hub

Week 2-3: Data Integrity & Security

Task Agent Status Depends On
Kitchen → Inventory auto-deduction Senior Backend #1 DONE fnb-engine, inventory
Row-level security (all services) Senior Backend #2 DONE
Rate limiting audit DevOps TODO
Input sanitization audit QA TODO
FnB Engine unit tests QA DONE
Order lifecycle integration tests QA DONE 29 tests, WebApplicationFactory

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 DONE 16 manifests + CI/CD
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 (Phase 1 Sprint)

Task Agent Details
VN Pay Payment Gateway Backend #1 IPaymentGateway abstraction + VnPayGateway (HMAC-SHA512, sandbox), Payment aggregate, PaymentsController (4 endpoints)
SignalR POS Hub Backend #3 PosHub (strongly-typed, 3 groups: shop/kds/pos), Redis backplane, MessagePack, 7 client methods, integrated into 4 order handlers
Kitchen → Inventory Deduction Backend #1 KitchenTicketServedDomainEvent → HTTP call to inventory-service, Polly retry + circuit breaker, idempotency, graceful degradation
Order Payment Flow Backend #2 + Frontend 3 payment flows (cash/card/online), PaymentPending status, WalletServiceClient, BFF proxy update, POS Cash/Card/QR components wired
Row-Level Security (5 services) Backend #2 ITenantProvider + EF global query filters + PostgreSQL RLS policies, defense-in-depth
FnB Engine Unit Tests (96 tests) QA 57 domain entity tests + 39 command handler tests, xUnit + Moq + FluentAssertions
Order Integration Tests (29 tests) QA Full order lifecycle (create/pay/complete/cancel), WebApplicationFactory + InMemory DB
Staging K8s Deployment DevOps 16 manifests (8 services + Redis + POS), Ingress, HPA, CI/CD workflows, deploy script
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 IPaymentGateway in Domain, implementations in Infrastructure Multiple gateways (VNPay, Momo) via same interface ACTIVE
2026-03-06 PosHub in order-service (not separate service) Order lifecycle owns real-time notifications ACTIVE
2026-03-06 Kitchen→Inventory via HTTP + Polly (not message queue) Simpler, sufficient for MVP, fire-and-forget pattern ACTIVE
2026-03-06 3 payment flows: cash (instant), card (instant), online (async) Cash/card don't need gateway, only VNPay/Momo need redirect ACTIVE
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

Email Password Role Subscription
hongochai10@icloud.com Test@12345 Admin / Owner Enterprise (unlimited)

IX. How to Update This File

  1. When starting a task: Change status to IN-PROGRESS
  2. When completing: Change to DONE and add to "Recently Completed"
  3. When blocked: Change to BLOCKED and add note
  4. Weekly: CTO reviews and reprioritizes
  5. After each sprint: Update metrics in Section I

Agent Workflow

CTO → Analyze requirement → Update ROADMAP.md with new tasks
Tech Lead → Breakdown tasks → Assign to agents
Backend Dev → Implement → Update status to DONE
Frontend Dev → Implement → Update status to DONE
QA → Test → Report issues or confirm DONE
DevOps → Deploy → Update environment status
CTO → Review → Move to "Recently Completed"

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.