# Luncher
Aplikace pro profesionální management obědů.

Aplikace sestává ze tří modulů.
- types
  - OpenAPI definice společných typů, generované přes [openapi-ts](https://github.com/hey-api/openapi-ts)
- server
  - backend psaný v [node.js](https://nodejs.dev)
- client
  - frontend psaný v [React.js](https://react.dev)

## Spuštění pro vývoj
### Závislosti
#### Klient/server
- [Node.js 22.x (>= 22.11)](https://nodejs.dev)
- [Yarn 1.22.x (Classic)](https://classic.yarnpkg.com)

### Spuštění na *nix platformách
- Nainstalovat závislosti viz předchozí bod
- Zkopírovat `server/.env.template` do `server/.env.development` a upravit dle potřeby
- Vygenerovat společné TypeScript typy
  - `cd types && yarn install && yarn openapi-ts`
- Server
  - `cd server && yarn install && export NODE_ENV=development && yarn startReload`
- Klient
  - `cd client && yarn install && yarn start`

## Sestavení a spuštění produkční verze v Docker
### Závislosti
- [Docker](https://www.docker.com)
- [Docker Compose](https://docs.docker.com/compose)

### Spuštění
- `docker compose up --build -d`

### Spuštení s traefik
- `docker compose -f compose-traefik.yml up --build -d`

## TODO
Dostupné [zde](TODO.md).