# WebClientBase

Ứng dụng frontend cơ sở cho GoodGo Platform.

## Bắt đầu nhanh

```bash
# Di chuyển đến dự án
cd apps/web-client-base-net

# Khôi phục packages
dotnet restore

# Chạy BFF server
dotnet run --project src/WebClientBase.Server

# Mở trình duyệt tại http://localhost:5091
```

## Công nghệ

| Thành phần | Công nghệ |
|------------|-----------|
| Client | Blazor WebAssembly (.NET 10) |
| BFF | ASP.NET Core + YARP |
| Shared | Class Library với Data Annotations |
| Styling | CSS Variables, Dark Mode |

## Cấu trúc Dự án

```
src/
├── WebClientBase.Client/    # Blazor WASM frontend
├── WebClientBase.Server/    # BFF với YARP proxy
└── WebClientBase.Shared/    # DTOs chia sẻ
```

## Tính năng

- ✅ Mô hình BFF với YARP reverse proxy
- ✅ Validation chia sẻ (Client + Server)
- ✅ Hỗ trợ chế độ Sáng/Tối
- ✅ Thiết kế UI Glassmorphism
- ✅ Endpoint kiểm tra sức khỏe `/health`

## Cấu hình

Routes YARP proxy trong `yarp.json`:

```json
{
  "ReverseProxy": {
    "Routes": {
      "iam-route": { "Match": { "Path": "/api/iam/{**catch-all}" } }
    },
    "Clusters": {
      "iam-cluster": { "Destinations": { "d1": { "Address": "http://localhost:5101" } } }
    }
  }
}
```

## Tài liệu liên quan

- [Kiến trúc](ARCHITECTURE.md) - Chi tiết kiến trúc hệ thống
