# Calendar Angular Monorepo

Angular 18 monorepo with three apps and shared libraries for the calendar booking platform.

## Apps

| App | Command | Port |
|-----|---------|------|
| Host dashboard | `npm start` | 4200 |
| Public booking | `npm run start:public` | 4201 |
| Embed widget | `npm run start:embed` | 4202 |

## Libraries

- `@calendar/core` — models, API services, interceptors, publicBooking NgRx slice
- `@calendar/shared` — loading spinner, error alert, copy directive
- `@calendar/booking-ui` — presentational booking flow components

## Prerequisites

- Node.js 18+
- Node API running at `http://localhost:3000/v1`
- CORS: set `CORS_ALLOWED_ORIGINS=http://localhost:4200,http://localhost:4201,http://localhost:4202` in `node/.env`

## Development

```bash
cd angular
npm install
npm start                 # host dashboard
npm run start:public      # public booking
npm run start:embed       # embed widget
```

## Production build

```bash
npm run build:all
```

See [deploy/nginx.conf](deploy/nginx.conf) for deployment example.
