A simple jam tracker
  • Go 49%
  • templ 25.4%
  • JavaScript 24.4%
  • Just 1.2%
Find a file
2026-06-16 10:22:38 +02:00
.idea Add E2E test for 4 flows. 2026-06-16 10:22:38 +02:00
e2e Add E2E test for 4 flows. 2026-06-16 10:22:38 +02:00
internal bug(ux): fix various front end bugs. 2026-06-15 14:12:57 +02:00
migrations bug(ux): fix various front end bugs. 2026-06-15 14:12:57 +02:00
views bug(ux): fix various front end bugs. 2026-06-15 14:12:57 +02:00
.claudeignore Add E2E test for 4 flows. 2026-06-16 10:22:38 +02:00
.gitignore Add E2E test for 4 flows. 2026-06-16 10:22:38 +02:00
CLAUDE.md bug(ux): fix various front end bugs. 2026-06-15 14:12:57 +02:00
example.env Add E2E test for 4 flows. 2026-06-16 10:22:38 +02:00
go.mod Add E2E test for 4 flows. 2026-06-16 10:22:38 +02:00
go.sum Add E2E test for 4 flows. 2026-06-16 10:22:38 +02:00
justfile Add E2E test for 4 flows. 2026-06-16 10:22:38 +02:00
LICENSE.txt First commit. 2026-06-14 17:59:53 +02:00
main.go Add E2E test for 4 flows. 2026-06-16 10:22:38 +02:00
README.md Add E2E test for 4 flows. 2026-06-16 10:22:38 +02:00

Jamtrack

Description

A PocketBase-backed web application for tracking jam sessions. Uses templ for type-safe HTML templates and modernc.org/sqlite (via PocketBase) for persistence.

Development

just dev      # live-reload dev server with templ watch proxy (port 7331 → 8090)
just build    # generate templates + compile binary to bin/jamtrack
just serve    # run the prebuilt binary
just test     # go test -race ./...
just gen      # regenerate templ templates only

The PocketBase admin UI is available at http://localhost:8090/_/ while the server is running.

E2E tests

The Playwright E2E suite exercises the four main user flows in a real browser against a running dev server.

One-time setup

Requires Node.js. Run once (or after updating package.json):

just e2e-setup

This installs the playwright npm package and downloads the Chromium browser. node_modules/ inside e2e/ is git-ignored.

Credentials

The suite needs PocketBase superuser credentials to authenticate against the admin API. It creates a throwaway app user at the start of each run and deletes it on exit, so no app-level credentials need to be configured.

Copy example.env to .env (git-ignored) and fill in real values:

cp example.env .env
$EDITOR .env

.env uses plain KEY=VALUE format (no export). just e2e reads it automatically via go tool envrun.

The suite creates APP_USER in the users collection on first run if it does not already exist.

Running

just e2e

The dev server (just dev or just serve) must be running on port 8090/7331 before the suite is invoked.

License

AGPL v3.0, see LICENSE.txt for details.