66 lines
1.3 KiB
Markdown
66 lines
1.3 KiB
Markdown
# WebClientBase
|
|
|
|
Base frontend application cho GoodGo Platform.
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
# Navigate to project
|
|
cd apps/web-client-base-net
|
|
|
|
# Restore packages
|
|
dotnet restore
|
|
|
|
# Run BFF server
|
|
dotnet run --project src/WebClientBase.Server
|
|
|
|
# Open browser at http://localhost:5091
|
|
```
|
|
|
|
## Tech Stack
|
|
|
|
| Component | Technology |
|
|
|-----------|------------|
|
|
| Client | Blazor WebAssembly (.NET 10) |
|
|
| BFF | ASP.NET Core + YARP |
|
|
| Shared | Class Library with Data Annotations |
|
|
| Styling | CSS Variables, Dark Mode |
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
src/
|
|
├── WebClientBase.Client/ # Blazor WASM frontend
|
|
├── WebClientBase.Server/ # BFF with YARP proxy
|
|
└── WebClientBase.Shared/ # Shared DTOs
|
|
```
|
|
|
|
## Features
|
|
|
|
- ✅ BFF Pattern with YARP reverse proxy
|
|
- ✅ Shared validation (Client + Server)
|
|
- ✅ Dark/Light mode support
|
|
- ✅ Glassmorphism UI design
|
|
- ✅ Health check endpoint `/health`
|
|
|
|
## Configuration
|
|
|
|
YARP proxy routes in `yarp.json`:
|
|
|
|
```json
|
|
{
|
|
"ReverseProxy": {
|
|
"Routes": {
|
|
"iam-route": { "Match": { "Path": "/api/iam/{**catch-all}" } }
|
|
},
|
|
"Clusters": {
|
|
"iam-cluster": { "Destinations": { "d1": { "Address": "http://localhost:5101" } } }
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Related Documentation
|
|
|
|
- [Architecture](ARCHITECTURE.md) - System architecture details
|