Phase 7: Player Profiles
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-appDepends 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.