Granola

A minimal, modern competition system for demoparties

Active Pure Nim score 65/100 · last commit 2026-07-26 · 1 stars · tests present · no docs generated

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

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