Granola
A minimal, modern competition system for demoparties
Summary
| Latest Version | Unknown |
|---|---|
| License | Unknown |
| CI Status | Failing |
| Stars | 1 |
| Forks | 0 |
| Open Issues | 0 |
| Last Commit | 2026-07-26 |
| Downloads | 0 |
| Last Indexed | 2026-07-27 04:31 |
Installation
nimble install Granola
choosenim install Granola
git clone https://gitlab.com/bitbear/granola
OS Compatibility
| Platform | Linux | macOS | Windows | FreeBSD | OpenBSD | NetBSD | Android | iOS | WASM | Embedded |
|---|---|---|---|---|---|---|---|---|---|---|
| Granola | ✓ | ✓ | ✓ | - | - | - | - | - | - | - |
Source
| Repository | https://gitlab.com/bitbear/granola |
|---|---|
| Homepage | https://gitlab.com/bitbear/granola |
| Registry Source | gitlab |
README
Granola
A minimal, modern competition system for demoparties.
Features
- User site:
- Responsive design, with good support for mobile devices
- Registration and profile management
- Upload and edit entries
- View visitor list
- Live voting as 1st class
-
Non-live voting without requiring modern browser features, meaning it also works on retro-computers, as long as they have a web browser.
-
Admin site:
- Invitation management
- Batch generator
- Print invitation sheets with QR-codes for easy registration
- Permissions for voting and viewing the visitor list
- Manage users, competitions, entries and playlists
-
Render results of voting as text-file with a template
-
Public slide viewer
- Anyone can connect and view the beam-slides as they are shown on-site
-
Uses SSE (server-sent events) for instant, stable publishing of new slides.
-
No external database needed
- Simple YAML config file for static settings
- All HTML is built from overridable templates, for styling-purposes
- Everything available from REST APIs
Getting Started
In order to build, you need the Go programming language installed.
It's fairly simple:
$ go run . server
Listening on :8008...
Listening on :8080...
This brings up the user-facing interface on port 8080 and the admin-facing interface on port 8008.
Using Docker
By using Docker you do not need Go installed on your local machine, but instead Docker. This will download everything needed on first run, but then be faster on restart.
$ cd .docker/
$ docker-compose up
Listening on :8008...
Listening on :8080...
Documentation
We have some more specific documentation available in the docs directory. It's currently pretty sparse, but patches to improve that are very welcome!
Icons
- Cereal by Ayub Irawan from Noun Project (CC BY 3.0).
- All other icons are from Ionicons (MIT).