66 lines
1.4 KiB
Markdown
66 lines
1.4 KiB
Markdown
# 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
|