Phase 4l: SvelteKit dashboard + wkq Tailscale hostname #62

Closed
opened 2026-03-13 17:56:59 +00:00 by forgejo_admin · 1 comment

Lineage

plan-2026-03-08-tryout-prep → Phase 4 → Phase 4l (SvelteKit dashboard)

Repo

forgejo_admin/basketball-api

User Story

As an admin at tryouts
I want a fast-iterating SvelteKit dashboard with a clean URL
So that I can see all player data and iterate on the UI in real time

Context

The server-rendered admin dashboard works but iteration is slow (commit → build → push → deploy). We need a local SvelteKit dev environment that connects directly to the production Postgres DB so UI changes appear instantly on save.

Also need a cleaner Tailscale hostname — wkq.tail5b443a.ts.net instead of basketball-api.tail5b443a.ts.net.

Two sub-deliverables:

4l-1: Custom Tailscale hostname

  • Create wkq Tailscale funnel pointing to the basketball-api k8s service
  • Both URLs work (old one doesn't break)

4l-2: Local SvelteKit dashboard

  • SvelteKit project in ~/pal-e-playground/wkq-dashboard/ (or similar)
  • Connects to basketball-api Postgres via kubectl port-forward
  • Shows: player completeness dashboard, player detail cards, registration status
  • Hot reload — change code, see it immediately in browser
  • Later: deploy to k8s behind the wkq hostname

File Targets

Files the agent should create:

  • ~/pal-e-playground/wkq-dashboard/ — new SvelteKit project
  • Tailscale funnel config for wkq hostname

Files the agent should NOT touch:

  • src/basketball_api/ — existing API is fine

Acceptance Criteria

  • wkq.tail5b443a.ts.net resolves to the basketball-api service
  • SvelteKit project runs locally with npm run dev
  • Dashboard shows all players with completeness scoring
  • Player detail view shows all filled fields
  • Changes to SvelteKit code appear immediately in browser

Test Expectations

  • Manual: navigate to wkq hostname, see data
  • Manual: edit a SvelteKit component, see change instantly

Constraints

  • Use pal-e-playground for experiments (promote to real repo after design locks)
  • SvelteKit 2 + Tailwind for speed
  • Connect to Postgres directly (not through API) for now — speed over architecture
  • Must work on Tailscale network (not public internet)

Checklist

  • PR opened (if applicable)
  • Tests pass
  • No unrelated changes
  • project-westside-basketball
### Lineage `plan-2026-03-08-tryout-prep` → Phase 4 → Phase 4l (SvelteKit dashboard) ### Repo `forgejo_admin/basketball-api` ### User Story As an admin at tryouts I want a fast-iterating SvelteKit dashboard with a clean URL So that I can see all player data and iterate on the UI in real time ### Context The server-rendered admin dashboard works but iteration is slow (commit → build → push → deploy). We need a local SvelteKit dev environment that connects directly to the production Postgres DB so UI changes appear instantly on save. Also need a cleaner Tailscale hostname — `wkq.tail5b443a.ts.net` instead of `basketball-api.tail5b443a.ts.net`. Two sub-deliverables: **4l-1: Custom Tailscale hostname** - Create `wkq` Tailscale funnel pointing to the basketball-api k8s service - Both URLs work (old one doesn't break) **4l-2: Local SvelteKit dashboard** - SvelteKit project in `~/pal-e-playground/wkq-dashboard/` (or similar) - Connects to basketball-api Postgres via `kubectl port-forward` - Shows: player completeness dashboard, player detail cards, registration status - Hot reload — change code, see it immediately in browser - Later: deploy to k8s behind the wkq hostname ### File Targets Files the agent should create: - `~/pal-e-playground/wkq-dashboard/` — new SvelteKit project - Tailscale funnel config for wkq hostname Files the agent should NOT touch: - `src/basketball_api/` — existing API is fine ### Acceptance Criteria - [ ] `wkq.tail5b443a.ts.net` resolves to the basketball-api service - [ ] SvelteKit project runs locally with `npm run dev` - [ ] Dashboard shows all players with completeness scoring - [ ] Player detail view shows all filled fields - [ ] Changes to SvelteKit code appear immediately in browser ### Test Expectations - [ ] Manual: navigate to wkq hostname, see data - [ ] Manual: edit a SvelteKit component, see change instantly ### Constraints - Use pal-e-playground for experiments (promote to real repo after design locks) - SvelteKit 2 + Tailwind for speed - Connect to Postgres directly (not through API) for now — speed over architecture - Must work on Tailscale network (not public internet) ### Checklist - [ ] PR opened (if applicable) - [ ] Tests pass - [ ] No unrelated changes ### Related - `project-westside-basketball`
Author
Owner

Closing — 4l-1 (JSON API, PR #64) and 4l-2 (dashboard wired to API) are DEPLOYED. 4l-3 (custom hostname) remains as a stretch goal but not blocking tryouts.

Closing — 4l-1 (JSON API, PR #64) and 4l-2 (dashboard wired to API) are DEPLOYED. 4l-3 (custom hostname) remains as a stretch goal but not blocking tryouts.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo_admin/basketball-api#62
No description provided.