Angular admin back-office for the Tunisia Platform microservices
# Tunisia Platform — Back Office
Angular admin console for tunisia-platform, the microservices platform behind the marketplace. Talks to `auth-service`, `booking-service`, `provider-service` and `ai-service` through an Nginx-proxied API gateway.
## What it manages
- **Providers** — listing, provider detail view, pending-approval queue
- **Bookings** — booking lifecycle across the marketplace
- **Categories** — platform and per-provider category management
- **Admins** — admin user accounts (list + form)
- **AI monitoring** — dedicated pages for the `ai-service`'s Ollama-backed agents: chatbot conversations, classification results, search, and usage stats
- **Auth** — guarded routing with HTTP interceptors for the shared `auth-service` session
## Structure
```
src/app/
├── core/ # guards, interceptors, models, services, config
├── layouts/ # admin shell layout
├── pages/ # feature modules (providers, bookings, categories, admins, ai, platform)
└── shared/ # reusable components (modal, confirm-dialog, badge)
```
## Running locally
```bash
npm install
ng serve
```
`proxy.conf.json` routes `/api/v1` → provider-service, `/api/bookings` & `/api/availability` → booking-service, `/api/ai` → ai-service, and everything else through the gateway on `:80` — matching the service ports in tunisia-platform's `docker-compose.yml`.
## Stack
Angular · RxJS · Docker (Nginx-served production build)