# Bang and it starts
A distributed Pomodoro Service 
![image](https://github.com/lpzimmermann/bang/assets/28627408/076b68d8-022c-4b10-b8c7-5f556b9420cd)


## Architectural Overview

![Architecture](./doc/architecture.png)

(check readme in individual sections for more information)

### Details

- Loadbalancer using Caddy
- UI
    - React is used since we are familiar with it. This makes it easy to build a quick UI for this Project
    - We have decided to host the UI in it's own container to make the loadbalancer itself as "pure" as possible.
- Server
    - Dotnet is used since we are familiar with it.
    - EF-Core is used to connect to the cockroach db using the Postgres-Drives since cockroach is compatible with it.
    - Using health-checks to detect service being unavailable

- Cockroach DB
    - making the Database distributed 🥳
    - with Nginx Loadbalancer (sample provided in cockroach demo repository)

## how to get everything up and running

use Docker

```bash
docker compose up
```

## How to prove http3

```bash
docker run -it --rm --network="host" ymuski/curl-http3 curl -IL https://localhost --http3-only -k
```
