Phase 11: Girls Tryout — March 24

phase-wkq-11-girls-tryout Phase

phase
Goal: Girls tryout operations for March 24, 2026 (Tuesday, 4-5:30 PM, Kongo gym). Registration working without bugs, auto Keycloak account creation, ops guide for day 2.
Owner: Dev agent + Lucas (ops) + Marcus (logistics)
Repo: forgejo_admin/basketball-api, forgejo_admin/westside-playground
Depends on: phase-wkq-10-playground, phase-wkq-4-tryout-day-1 (reuse infra)
Forgejo Issue: basketball-api #93 — auto Keycloak account creation + email-mismatch fix + account script names

Scope

  • Fix registration email-mismatch bug — match by token, not email (register.py:796)
  • Fix account creation script — add firstName/lastName to Keycloak payload
  • Auto Keycloak account creation on registration — no manual batch scripts on game day
  • Extract shared Keycloak service module (services/keycloak.py)
  • Fix playground tryouts page: date → March 24, location → Kongo gym, Register Now → real URL
  • Ops guide for tryout day 2 (update phase-4-tryout-day-ops or create new)
  • Girls division: 15U, 16U, 17U

Decisions Made

  • Build it right, not patch it. Auto-create Keycloak accounts in the registration flow (Option B). No manual scripts on game day. The backend integration survives the SSR → SPA migration (Phase 15).
  • Keycloak service as shared module. Extract Keycloak Admin API operations into services/keycloak.py — reusable by both the registration route and the batch script.

BLOCKERS (RESOLVED — PR #94 merged)

  • Registration email-mismatch bug — FIXED. Token-based parent lookup when registration token is present. PR #94.
  • Account creation script bug — FIXED. firstName/lastName now included in Keycloak payload via shared services/keycloak.py module. PR #94.
  • No auto account creation — FIXED. Registration POST handler now auto-creates Keycloak account after paid registration. Credentials shown on confirmation page. Fail-safe: Keycloak errors logged but don't block registration. PR #94.

Decision Needed (from Marcus)

  • Gym location — Confirmed: Kongo gym, Tuesday March 24, 4-5:30 PM
  • Pricing — $30 tryout fee same as boys? Confirm with Marcus.

Deliverables

  • Registration works end-to-end: form → pay → Keycloak account → can log in immediately
  • Tryouts page with correct date/location/registration link — shareable on Instagram
  • Girls tryout runs smoothly. No duplicate bugs, no manual scripts.
  • Ops guide updated for day 2
  • ✅ Photo upload wired on player profile edit page (PR #43 — merged 2026-03-18)
  • ✅ Admin email endpoints: incomplete profile query, profile reminder emails, roster export (PR #102 — merged 2026-03-18)
  • ✅ Jersey selection page with Stripe checkout — 3 routes, token-based auth (PR #45 — merged 2026-03-18)
  • ✅ Jersey Stripe checkout + Keycloak password reset + second tryout announcement email (PR #104 — merged 2026-03-18)
  • ✅ JSON registration endpoint with promo code support (PR #107 — merged 2026-03-18)
  • ✅ Public photo upload for registration (PR #109 — merged 2026-03-18)
  • ✅ SPA registration fix: real API submission, promo code field, error handling (PR #48 — merged 2026-03-18)
  • ✅ Queens logo on girls tryout hero section (PR #50 — merged 2026-03-18)