<h1 align="center">
  Dice-Tower
</h1>

<h4 align="center">... they see them rolling ...</h4>

<p align="center">
  <a href="#key-features">Key Features</a> •
  <a href="#how-to-build">How To Build</a> •
  <a href="#credits">Credits</a> •
  <a href="#license">License</a>
</p>

![preview](.github/media/preview.gif)

---

## Key Features

* Connect to a room with others
* Configure your dice (theme and color)
* Roll any dice
* See the dice roll (Can be used as a Browser Source in OBS)
* Watch roll results (also available as Browser Source in OBS)

---

## How To Build

To clone and run this application, you'll need `git`, `java21` and `docker`.

```bash
# Clone this repository
$ git clone https://git.arindy.de/arindy/dice-tower.git

# Go into the repository
$ cd dice-tower

# Build the binary
$ ./mvnw clean verify -Pnative

# Build the container
$ docker build -f src/main/docker/Dockerfile.native-micro -t dice-tower .

# run the container in the background
$ docker run --network host -d dice-tower 

# Visit the dice-tower in your browser on http://localhost:8080
```

---

## Credits

This software uses the following open source packages:

- [3D-Dice/dice-box](https://github.com/3d-dice/dice-box)
- [3D-Dice/dice-themes](https://github.com/3d-dice/dice-themes)
- [W3.CSS Color Themes](https://www.w3schools.com/w3css/w3css_color_themes.asp)

## License

GPL-3
