# WebClientTpos

Base frontend application cho GoodGo Platform.

## Quick Start

```bash
# Navigate to project
cd apps/web-client-tpos-net

# Restore packages
dotnet restore

# Run BFF server
dotnet run --project src/WebClientTpos.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/
├── WebClientTpos.Client/    # Blazor WASM frontend
├── WebClientTpos.Server/    # BFF with YARP proxy
└── WebClientTpos.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
