BikeControl (SwiftControl)
Use Zwift Click, Zwift Play, Shimano Di2, or any Bluetooth controller with MyWhoosh, Rouvy, Zwift, and more. Free to try on iOS, Android, Windows, and macOS.
Brighton Bengals Shot Tracker — sideline recording, history, and prep.
Translation pending
Sports & fitnessJavaScript · PLpgSQLGitHub @aaronj84OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Brighton Bengals Girls Soccer Shot Tracker
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Sideline shot / play recording for Brighton varsity — games, lineups, history, maps, and Prep.
Vanilla HTML, CSS, and JavaScript + Supabase. No build step for the client.
Tactical learning packs (BHS Blueprint, CFC Red) live in a separate repo: blueprint_soccer.
https://aaronj84.github.io/bhs_shot_tracker/
Staff PIN gates write access (default documented in shots-config.example.js).
cp shots-config.example.js shots-config.js
# fill DEV Supabase URL + anon key + PIN
python3 -m http.server 8080
# then visit http://localhost:8080
shots-config.js is gitignored — use DEV for day-to-day work (see below).
| Doc | What it covers |
|---|---|
| docs/dev-environment.md | Create DEV Supabase, CLI migrations, GitHub secrets, Pages |
| docs/git-workflow.md | dev branch → PR to main (prod); branch is not deleted |
| docs/backup.md | On-demand + PR/merge PROD database dumps and restore |
| supabase/README.md | Schema, migrations folder, Explore |
npm ci
export SHOTS_SUPABASE_URL=... SHOTS_SUPABASE_ANON_KEY=... SHOTS_PIN=KEPPA
node scripts/write-shots-config.js # for Playwright
npm run test:api # Vitest vs DEV
npm run test:e2e # Playwright smokes
GitHub Actions runs those on push/PR to dev and main, and applies missing supabase/migrations/ ups (DEV on dev, PROD on main after an encrypted PROD backup). Rollbacks use the matching file in supabase/down/.
export SUPABASE_DB_PASSWORD_PROD='…'
npm run backup:prod # local dump → backups/*.tar.gz (gitignored)
| Hash | Opens |
|---|---|
#shots | Record |
#shots-games | Games / schedule |
#shots-history | Cross-game history |
#shots-prep | Opponent Prep (Gemini chat + notes) |
#shots-prep?tab=explore | Explore (LLM Q&A; #shots-explore still redirects here) |
#shots-map | Full-field shot map |
#club / #club-agenda | Club Player Visitation Planner (agenda) |
#club-itinerary | Named itinerary builder + Gemini |
#club-data | Club teams, sources, facilities, sync |
Club planner setup: docs/club-visitation.md.
/
index.html
styles.css
app.js # Thin hash router / chrome
shots.js # Tracker UI
schedule.js # Postseason meeting scheduler
club-visitation.js # Club Player Visitation Planner
shots-api.js # Supabase access
shots-config.js # Local / generated (gitignored)
shots-config.example.js
docs/ # Dev env + git workflow + club planner
tests/ # API + Playwright
supabase/migrations/ # Schema ups (versioned)
supabase/down/ # Matching downs for rollback
supabase/functions/ # Edge Functions (prep, explore, club-*)
benchmark/ # Explore LLM harness
scripts/ # Config writer, CSV helpers, DB backup
GitHub Pages via GitHub Actions on main (writes PROD shots-config.js from secrets). Switch Pages source to Actions if it still says “Deploy from a branch” — details in docs/dev-environment.md.