This project was developed as part of the course "Distributed Systems and Blockchain 1" at University of Applied Sciences "OST" in Eastern Switzerland.

# Development

To start the development infrastructure:

```shell
docker-compose -f docker-compose.dev.yml up --build
```

Docker-compose automatically persists the data. To remove the volumes run:

```shell
docker-compose -f docker-compose.dev.yml down --volumes
```

# Production

The NodeJS backend and the static frontend server are easily scalable:

```shell
docker-compose up --build --scale backend=3 --scale frontend=2
```

Note that [the environment file](./frontend/.env.production) needs to be updated when accessing the server from a
hostname other than `localhost`.

# Architecture

See [architecture.plantuml](docs/architecture.plantuml)
