# GoodGo Platform Monorepo platform with microservices architecture for the merchant/customer ecosystem — POS, F&B, retail, spa, karaoke, and more. **Domain**: [goodgo.vn](https://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 management - `catalog-service-net` — Product catalog - `order-service-net` — Order processing - `inventory-service-net` — Inventory management - `wallet-service-net` — Wallet & payments - `fnb-engine-net` — F&B engine - `booking-service-net` — Booking & reservations **Engagement** - `promotion-service-net` — Promotions & discounts - `membership-service-net` — Membership & loyalty - `chat-service-net` — Chat & messaging (SignalR + Redis) - `social-service-net` — Social features - `mission-service-net` — Gamification missions **Advertising** - `ads-manager-service-net` — Campaign management - `ads-serving-service-net` — Ad delivery - `ads-billing-service-net` — Ad billing - `ads-tracking-service-net` — Event tracking - `ads-analytics-service-net` — Analytics **Marketing Integrations** - `mkt-facebook-service-net` — Facebook - `mkt-whatsapp-service-net` — WhatsApp - `mkt-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 ```bash # 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](ROADMAP.md) — Development roadmap and phase tracking - [CLAUDE.md](CLAUDE.md) — Full architecture reference and agent configuration ## Maintainer Built by **VelikHo** ([@hongochai10](https://github.com/hongochai10)) - **Email**: hongochai10@icloud.com - **GitHub**: https://github.com/hongochai10