You've got a foosball table or similar in your office and want to track your matches, player progress and compare yourself to your colleagues and see who's the best? You've come to the right place. Hilde is a match tracking app for games like foosball, table tennis, air hockey, etc. with achievements, elo ratings, statistics and more. Hilde is easy to setup and can be used by everyone.
A public demo is available at demo.hilde.gg.
Table of Contents
- Features - Hilde's features
- Getting Started - How to get Hilde up and running
- Usage - Command line utilities and configuration variables
- Contributing - How to contribute
- Simple, intuitive interface
- Elo rating for each team
- Seasons (managable via admin interface)
- Detailed team statistics (winstreaks, winrate, elo history chart, ...)
- Achievements (e.g. "Win 100 Matches", "Win 10 Matches in a row", ...)
- Compare teams against each other
- Teams of any size, simply separated by a comma in the team name
- Light/Dark theme
- Match comments
- Optional: Deployable for free with Vercel & Planetscale
- Optional: Fully dockerized
⭐ Getting Started
Hilde can be installed in a few minutes, either by deploying it to Vercel, using Docker or setting it up manually.
- Node 14
- MySQL (5.7+)
Keep in mind that after installing you need to add a season via the admin ui (
/admin) using the password from the environment variable (
Free hosting with Vercel & Planetscale
Hilde is designed in a way that it could easily be hosted for free, using Vercel for hosting and Planetscale for the database.
version: '3' services: hilde: depends_on: - database networks: - internal image: nehalist/hilde ports: - '127.0.0.1:3000:3000' environment: - DATABASE_URL=mysql://root:hildepw@database:3306/hilde - ADMIN_PASSWORD=v3rys3cr3tp4ssw0rd database: networks: - internal image: mysql:8.0 environment: - MYSQL_DATABASE=hilde - MYSQL_ROOT_PASSWORD=hildepw volumes: - db:/var/lib/mysql volumes: db: networks: internal:
docker-compose up -d Hilde is running on
Manually (for development)
- Clone/fork the repository
npm cito install dependencies
docker-compose up -din order to start the database container (or adjust the
.envfile to use a different db)
npm run devto start the development server
- Add awesome features.
The official Docker image of Hilde is available on Docker Hub. Run it locally via:
docker run -p 127.0.0.1:3000:3000 -e DATABASE_URL=mysql://<user>:<password>@<host>:<port>/<db> nehalist/hilde
Hilde provides an admin ui at
/admin which can be used to manage seasons.
Hilde provides a set of utility terminal commands:
||Starts the development server|
||Builds the app|
||Starts the production server|
||Executes Prisma migrations|
Hilde can be configured via environment variables in the
||Deployed URL of Hilde||
||Database connection string||
Hilde was created for fun and to play around with technologies I don't use on a daily basis in my office job, hence can be improved by many ways.
It's built on:
- Next.js 13
- Tailwind CSS
- and many more (see package.json)
PRs are highly appreciated
If you like Hilde, please consider starring the repository. Thanks!
Developed by nehalist.io. Licensed under the MIT License.