Competition management for shooting clubs (Swiss SSV rules): registration at the desk, lanes and reservations, results, awards, rankings, kiosk displays and reports. Every event switches on the modules it needs, from a shooting festival with online booking to an annual programme without a desk. Shooters keep a personal training log in My training.
A single Go server with an embedded SvelteKit app, in English, German, French and Italian; PostgreSQL is the only dependency. Website: www.standblatt.ch.
Standblatt is under active development; the first clubs use it from 2027. Expect changes until 1.0.
- Help for club admins, staff and shooters: part of the app under
/help(sources inweb/src/help/). - Operations and development: docs/, e.g. installation, configuration, Kubernetes, print agent, architecture and modules.
- Changes: CHANGELOG.md.
Requirements: Go, Node and Docker.
make dev # PostgreSQL, Mailpit, backend and Vite; app on http://localhost:5173, login dev / devpassword
make prepare # before a commit (also the pre-commit hook): API types, catalogs, gofmt, vet, staticcheck, svelte-check
make test # Go tests, then the Playwright e2e specs
make docs # help translations and screenshots
make clean # containers down, node_modules and build output removedMore in docs/developer/development.md.
The image ghcr.io/standblatt/server and the Helm chart oci:https://github.com/proxy/ghcr.io/standblatt/charts/standblatt are built by GitHub Actions; configuration is environment variables only and migrations run at startup. Printing at the range goes through the print agent, which has its own repository and releases: standblatt/print-agent.