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>
WebClientTpos - Blazor Web App .NET 10
Base frontend web application cho GoodGo Platform được xây dựng với Blazor WebAssembly + BFF Pattern.
Quick Links
Architecture / Kiến trúc
┌─────────────────────────────────────────────────────────────────────┐
│ Browser │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ Blazor WebAssembly Client │ │
│ └─────────────────────────────────────────────────────────────┘ │
└────────────────────────────────┬────────────────────────────────────┘
│ /api/*
▼
┌─────────────────────────────────────────────────────────────────────┐
│ BFF (Backend for Frontend) │
│ WebClientTpos.Server + YARP │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ Routes: /api/iam/** → iam-service │ │
│ │ /api/merchants/** → merchant-service │ │
│ │ /api/catalog/** → catalog-service │ │
│ │ /api/orders/** → order-service │ │
│ └─────────────────────────────────────────────────────────────┘ │
└────────────────────────────────┬────────────────────────────────────┘
│ Internal Network
▼
┌─────────────────────────────────────────────────────────────────────┐
│ Microservices │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ IAM │ │ Merchant │ │ Catalog │ │ Order │ │
│ │ :5101 │ │ :5102 │ │ :5103 │ │ :5104 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────────────┘
Tech Stack
| Layer | Technology |
|---|---|
| Client | Blazor WebAssembly (.NET 10) |
| BFF | ASP.NET Core + YARP Reverse Proxy |
| Shared | Class Library với Data Annotations |
| Styling | CSS Variables, Dark Mode |
Getting Started / Bắt đầu
cd apps/web-client-tpos-net
dotnet restore
dotnet run --project src/WebClientTpos.Server
# Open http://localhost:5091
Project Structure / Cấu trúc
web-client-tpos-net/
├── src/
│ ├── WebClientTpos.Client/ # Blazor WebAssembly
│ ├── WebClientTpos.Server/ # BFF with YARP Proxy
│ └── WebClientTpos.Shared/ # Shared DTOs
├── docs/
│ ├── en/ # English docs
│ └── vi/ # Vietnamese docs
└── Dockerfile