Files
pos-system/README.md
Ho Ngoc Hai d0211e5a3c docs: full documentation audit — update 7 files, create MCP SERVICE_DOCS
Project-level docs:
- README.md: rewrite with correct tech stack (.NET 10/Blazor, not Node.js/Flutter)
- ROADMAP.md: add MCP server, shop lifecycle, onboarding redesign, POS nav fix
- CLAUDE.md: add goodgo-mcp-server to project structure
- CTO_REPORT_SHOP_DELETE.md: status OPEN → RESOLVED (implemented in 6263eeb)

MCP Server docs:
- SERVICE_DOCS.md: new file — 12 tools reference, architecture, setup guide

Frontend docs:
- web-client-tpos-net README: fix wrong paths (web-client-base-net → web-client-tpos-net)
- web-client-tpos-net docs/en/README: same path fix

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 16:46:15 +07:00

130 lines
4.3 KiB
Markdown

# 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