5e2f20967d9f7575bf75e531847a6544e0a168fc
All checks were successful
Build & Deploy to K8s / build-and-deploy (push) Successful in 9m29s
OnboardingBusiness.razor was only navigating to the next step without calling the merchant registration API, so no merchant record was ever created in the database. This caused settings page updates to fail with "Merchant not found" and the SuperAdmin panel to show zero merchants. - Inject MerchantApiService and call RegisterMerchantAsync on "Tiếp tục" - Remove hardcoded demo data from onboarding form fields - Add fallback in AdminSettings SaveMerchant to auto-register if PUT fails - Add BFF POST /api/bff/account/register-merchant endpoint Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…
…
…
…
…
…
…
…
…
…
…
…
GoodGo Platform
Monorepo platform with microservices architecture for the merchant/customer ecosystem — POS, F&B, retail, spa, karaoke, and more.
Domain: goodgo.vn | Staging: api.staging.goodgo.vn
Tech Stack
| Layer | Technologies |
|---|---|
| Backend | .NET 10.0 (C# 14), MediatR/CQRS, EF Core 10, FluentValidation, Serilog, Dapper, Polly |
| Web | Blazor WASM + MudBlazor 8.15 (Material Design) |
| Mobile | .NET MAUI (cross-platform), SwiftUI (iOS) |
| Database | PostgreSQL 16 (local) / Neon PostgreSQL (cloud), Redis 7 |
| Messaging | RabbitMQ 3 (AMQP) |
| Storage | MinIO (S3-compatible) |
| Gateway | Traefik v3 |
| Infra | Docker Compose (local), Kubernetes RKE2 (staging/prod) |
| CI/CD | GitHub Actions, Docker Hub |
| Observability | Prometheus + Grafana + Loki + Promtail |
| Auth | Duende IdentityServer, JWT Bearer, OAuth2 |
| Monorepo | pnpm 8 workspaces, Turborepo |
Project Structure
services/ # 26 .NET microservices (Clean Architecture + CQRS)
apps/ # Frontend applications
packages/ # Shared Node.js packages (@goodgo/*)
deployments/ # Environment configs (local, staging, production)
infra/ # Infrastructure (Traefik, databases, observability)
scripts/ # Automation scripts (dev, db, deploy, build)
Services
Core Platform
iam-service-net— Identity & Access Management (JWT, RBAC, MFA, Sessions)merchant-service-net— Merchant & Shop managementcatalog-service-net— Product catalogorder-service-net— Order processinginventory-service-net— Inventory managementwallet-service-net— Wallet & paymentsfnb-engine-net— F&B enginebooking-service-net— Booking & reservations
Engagement
promotion-service-net— Promotions & discountsmembership-service-net— Membership & loyaltychat-service-net— Chat & messaging (SignalR + Redis)social-service-net— Social featuresmission-service-net— Gamification missions
Advertising
ads-manager-service-net— Campaign managementads-serving-service-net— Ad deliveryads-billing-service-net— Ad billingads-tracking-service-net— Event trackingads-analytics-service-net— Analytics
Marketing Integrations
mkt-facebook-service-net— Facebookmkt-whatsapp-service-net— WhatsAppmkt-x-service-net— X (Twitter)mkt-zalo-service-net— Zalo
Utilities
storage-service-net— File storage (MinIO)mining-service-net— Data mining
Frontend Apps
| App | Stack | Description |
|---|---|---|
web-client-tpos-net |
Blazor WASM + MudBlazor | POS system (multi-vertical: karaoke, restaurant, cafe, spa, retail) |
web-client-base-net |
Blazor WASM + MudBlazor | Enterprise portal |
app-client-base-net |
.NET MAUI | Cross-platform mobile app |
app-client-base-swift |
SwiftUI | iOS app |
web-docs |
VitePress | Documentation site |
Quick Start
Prerequisites
- Docker & Docker Compose
- .NET 10.0 SDK
- Node.js 25+
- pnpm 8+
Run Locally
# Start infrastructure (PostgreSQL, Redis, RabbitMQ, MinIO, Traefik) + all services
cd deployments/local
docker compose up -d
# Run database migrations (per service)
./scripts/db/migrate.sh
# Start a specific service for development
./scripts/dev/start-service.sh iam-service-net
Architecture
Each .NET service follows Clean Architecture + CQRS:
ServiceName/
src/
ServiceName.API/ # Controllers + MediatR Commands/Queries
ServiceName.Domain/ # Entities, aggregates, domain events (no dependencies)
ServiceName.Infrastructure/ # EF Core, repositories, migrations
tests/
ServiceName.UnitTests/ # xUnit + FluentAssertions
ServiceName.FunctionalTests/ # WebApplicationFactory integration tests
Documentation
- ROADMAP.md — Development roadmap and phase tracking
- CLAUDE.md — Full architecture reference and agent configuration
Maintainer
Built by VelikHo (@hongochai10)
- Email: hongochai10@icloud.com
- GitHub: https://github.com/hongochai10
Description
Languages
C#
62.8%
HTML
22.7%
TypeScript
7.5%
CSS
3%
Swift
2%
Other
1.9%