Track the Hack manages Hack the Hill’s public schedule and day-of participant operations, including RSVP, passes, scanning, hardware loans, Latte Lab, reminders, and aggregate metrics.
The documentation index is in docs/README.md.
Use Node 24 and Docker:
npm install
npm run dev:setup
npm run devOpen http://localhost:3000. dev:setup creates missing local configuration, starts
the loopback MySQL service, applies migrations, and seeds deterministic fixtures. It
refuses non-loopback or unexpected database targets and does not overwrite existing
environment values.
Choose Sign in as local organiser for development-only organiser access. That provider works only when the flag, configured URL, request host, and network peer are all local.
Before handoff, run:
npm run verify:dev
git diff --checkUse docs/E2E_TESTING.md to select any additional check that
matches the changed feature. Do not run unrelated physical-device or provider tests by
default.
- Tally and the restricted Google Sheet own participant identity and application data.
- Track stores pseudonymous operational records and aggregate state.
- Discord owns Discord identity and team membership.
- Participant links and sessions never grant organiser access.
- Cloudflare Access remains enabled during private testing.
See docs/ARCHITECTURE.md for the complete data and
authorization model and docs/SECURITY.md for security controls.
| Task | Documentation |
|---|---|
| Schedule import | docs/SCHEDULE_IMPORT.md |
| Hardware import | docs/HARDWARE_IMPORT.md |
| RSVP recipient preparation | docs/RSVP_EMAIL_RUNBOOK.md |
| Discord verification | docs/DISCORD_VERIFICATION.md |
| Organiser access | docs/ORGANISER_ACCESS.md |
| Notifications | docs/NOTIFICATIONS.md |
| Audit records and legacy-log retirement | docs/AUDIT_LOGS.md |
| Audit end-to-end acceptance and closeout | docs/AUDIT_ACCEPTANCE.md |
| Offline behaviour | docs/OFFLINE_ACCEPTANCE.md |
The container.yml workflow validates images on pushes and pull requests. Production
deployment is an explicit dispatch of main through the protected environment:
gh workflow run container.yml --ref mainThe workflow runs the migration job before promoting the web revision. A successful image build is not a deployment. Roll back only to an image compatible with the already-applied additive migrations.
Production changes that send messages, write external systems, alter real participant state, or delete data require a separate review of the exact target and action.
This repository does not currently accept external contributions. Hack the Hill team members should use the organisation’s contribution guidelines.
Questions: development@ctn-rtc.org
Copyright © 2023 Hack the Hill.