Phase 7: Player Profiles

phase-wkq-7-player-profiles Phase

phase
Goal: Player profile pages — central entity page. Role-based edit, coach browse, parent self-serve.
Owner: Dev agent
Repo: forgejo_admin/basketball-api, forgejo_admin/westside-app
Depends on: phase-wkq-2-keycloak-auth, phase-wkq-5-team-placement

Scope

  • GET /api/players/{id} — full profile with team + coach + parent info (auth required)
  • PATCH /api/players/{id} — role-based: admin=any, player=own, coach=403
  • /players/[id] route: 4 info cards (Player Info, Team & Coach, Payment Status, Stats placeholder)
  • Edit form with SvelteKit form actions for PATCH
  • Coach roster → profile links (player names clickable)
  • Auth lockdown: all previously-public tryout endpoints now require authentication (PR #92)

Deliverables

  • PRs: #90, #92 (basketball-api), #33 (westside-app). Issues: #89, #91, #32 closed.
  • 18 new profile tests + 6 auth tests = 269 total passing
  • Not shipped: Photo upload UI (11d) — see Phase 12

Provenance

Phase 11a–c from original tryout prep plan.