Courses can now only be added via Golf Course API import, which
provides the full data model: per-tee slope/rating/gender/SI
(stroke_indices JSON) and front/back split ratings. Manual creation
required admins to enter SI by hand and didn't match the API model.
Changes:
- Remove GET/POST /admin/courses/new routes and new_course.html
- Remove _parse_hole_form helper (no longer needed)
- Edit course: par-only editing; stroke_index preserved from import,
not exposed or overwritten in the admin form
- courses.html: replace "+ New course" with "+ Import course" button
- course_search.html: remove "+ Manual" shortcut
- edit_course.html: remove SI column from hole grid
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Course import now fetches both male and female tees, each with their own
per-tee stroke indices extracted from the holes array. Front and back 9
slope/rating are stored per tee for more accurate WHS handicap calculation.
New game creation replaces the 9/18 radio with a course-aware selector:
18-hole courses offer 18 holes, Front 9, or Back 9; 9-hole courses auto-
select. start_hole is stored on the game and used throughout scoring,
handicap calculation, and scorecard rendering.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Playing handicap: computed at game creation (WHS formula), stored on
game_players alongside per-hole strokes allocation; displayed on game
summary with HC card and / markers on scorecard (only when SI defined);
live game shows +N per player card when SI exists, HC total otherwise;
new game confirmation previews computed HC per player
- Login: 6-digit code sent alongside magic link in every auth email;
check_email page has auto-advancing digit inputs with paste support;
new POST /auth/verify-code route handles code verification
- Game view: Score/Card toggle fixed with position:fixed to always show
above nav bar on mobile; swipe on score view changes holes, swipe on
scorecard switches tabs; dirty tracking prevents saving unmodified holes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- FastAPI + SQLite + Alpine.js + HTMX PWA for Bingo Bango Bongo golf scoring
- Passwordless magic link auth with email (aiosmtplib) and admin invite system
- Real-time score entry via WebSocket with drag-and-drop player ordering
- Course management with per-hole par and stroke index
- Scorecard with golf score markers (birdie, eagle, bogey, etc.)
- Two-step new game form with tee selection per player
- Dashboard with stats, live games social stream, and recent game history
- Game summary view (read-only scorecard with leaderboard)
- User profile pages with win stats
- PWA install support with generated PNG icons
- Admin panel for users, courses, games, and invitations
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>