Data administration tool for the basketball-api Postgres database. SvelteKit (adapter-node) + Drizzle ORM + Keycloak cookie SSR. Public funnel, admin-role gated.
- TypeScript 80.1%
- JavaScript 10.8%
- Svelte 6.2%
- Dockerfile 1.7%
- CSS 0.8%
- Other 0.4%
|
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
|
||
|---|---|---|
| scripts | ||
| src | ||
| static | ||
| .dockerignore | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc | ||
| .woodpecker.yaml | ||
| Dockerfile | ||
| eslint.config.js | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| svelte.config.js | ||
| tsconfig.json | ||
| vite.config.ts | ||
| vitest.config.ts | ||
westside-admin
SvelteKit (adapter-node) admin console over the basketball-api Postgres DB. Gated by Keycloak admin role.
See project-westside-admin in pal-e-docs for the full architecture, story map, and roadmap.
Develop
npm install
npm run dev # http://localhost:5173
Build & run
npm run build
npm start # node build/index.js - http://localhost:3000
Health
GET /health returns 200 {"status":"ok"} for the Docker HEALTHCHECK and k8s probes.
Stack
- SvelteKit 2 + Svelte 5 (runes)
- TypeScript (strict)
@sveltejs/adapter-node(SSR; Drizzle queries run server-side)- ESLint + Prettier
- No Tailwind (per
feedback_no_tailwind-- pure CSS vars)
Roadmap
This repo is being built ticket-by-ticket. See forgejo_admin/westside-admin issues:
- #6 -- Scaffold (this PR)
- #1 -- Drizzle ORM
- #2 -- Keycloak auth (
hooks.server.ts) - #3 -- Tenant helper
- #4 -- Players list
- #5 -- Players edit
- #7 -- Dockerfile
- #8 -- Woodpecker CI