A simple jam tracker

Frédéric G. MARAND bdbe709824 Add E2E test for 4 flows. vor 5 Stunden
.idea bdbe709824 Add E2E test for 4 flows. vor 5 Stunden
e2e bdbe709824 Add E2E test for 4 flows. vor 5 Stunden
internal 6f3321371d bug(ux): fix various front end bugs. vor 1 Tag
migrations 6f3321371d bug(ux): fix various front end bugs. vor 1 Tag
views 6f3321371d bug(ux): fix various front end bugs. vor 1 Tag
.claudeignore bdbe709824 Add E2E test for 4 flows. vor 5 Stunden
.gitignore bdbe709824 Add E2E test for 4 flows. vor 5 Stunden
CLAUDE.md 6f3321371d bug(ux): fix various front end bugs. vor 1 Tag
LICENSE.txt 211c5c8e73 First commit. vor 1 Tag
README.md bdbe709824 Add E2E test for 4 flows. vor 5 Stunden
example.env bdbe709824 Add E2E test for 4 flows. vor 5 Stunden
go.mod bdbe709824 Add E2E test for 4 flows. vor 5 Stunden
go.sum bdbe709824 Add E2E test for 4 flows. vor 5 Stunden
justfile bdbe709824 Add E2E test for 4 flows. vor 5 Stunden
main.go bdbe709824 Add E2E test for 4 flows. vor 5 Stunden

README.md

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.