Admin-only worker-management UI (Next.js 16) — onderdeel van M16 platform split
  • TypeScript 98.4%
  • CSS 1.2%
  • Dockerfile 0.2%
  • Shell 0.1%
Find a file
2026-07-04 17:35:53 +02:00
__tests__ fix(schema): shared-bump naar 8df71d2 — DEPLOY-kind (herstelt jobs-board crash, 2e lockstep-incident) 2026-07-04 17:34:38 +02:00
actions feat(settings): upsertJobKindConfigAction (per-kind upsert + registry-validatie) 2026-06-17 19:00:59 +02:00
app feat(settings): /settings/job-kinds page + loading + nav-link 2026-06-17 19:03:15 +02:00
components fix(schema): shared-bump naar 8df71d2 — DEPLOY-kind (herstelt jobs-board crash, 2e lockstep-incident) 2026-07-04 17:34:38 +02:00
docs Port worker logs page 2026-06-17 00:07:45 +02:00
hooks fix: refetch jobs after realtime status updates 2026-06-04 16:34:29 +02:00
lib fix(schema): shared-bump naar 8df71d2 — DEPLOY-kind (herstelt jobs-board crash, 2e lockstep-incident) 2026-07-04 17:34:38 +02:00
prisma fix(docker): create prisma/ dir before shell-redirect of generated schema 2026-05-26 20:36:20 +02:00
public/icons feat(pwa): robot-worker app-icoon + PWA icon-set (SVG, PNG's, favicon) 2026-06-10 13:02:05 +02:00
scripts fix(build): zelf-helende scrum4me-shared submodule-init in verse worktrees 2026-06-01 15:41:51 +02:00
stores fix: refetch jobs after realtime status updates 2026-06-04 16:34:29 +02:00
vendor fix(schema): shared-bump naar 8df71d2 — DEPLOY-kind (herstelt jobs-board crash, 2e lockstep-incident) 2026-07-04 17:34:38 +02:00
.dockerignore feat: Dockerfile + Vitest config + docs 2026-05-26 19:12:18 +02:00
.env.example feat(qr-login): WEB_APP_BASE_URL env (QR target = scrum4me-web) 2026-06-15 13:40:01 +02:00
.gitignore docs(specs): MCP-tester live testscherm design (2026-06-07) 2026-06-07 17:45:54 +02:00
.gitmodules feat: add scrum4me-shared submodule + Prisma generate pipeline 2026-05-26 18:43:03 +02:00
AGENTS.md docs: Scrum4Me-product-binding (methodiek + product_id) 2026-05-29 09:08:42 +02:00
CLAUDE.md fix(build): zelf-helende scrum4me-shared submodule-init in verse worktrees 2026-06-01 15:41:51 +02:00
Dockerfile fix(docker): COPY components/actions/stores/hooks into builder stage 2026-05-26 23:17:21 +02:00
eslint.config.mjs feat(workers): add product and idea selectors to manual jobs 2026-06-04 14:53:53 +02:00
next.config.ts fix(build): resolve vendored @shared .js-extension imports (webpack + extensionAlias) 2026-06-08 11:40:03 +02:00
package-lock.json chore(qr-login): add qrcode.react dependency 2026-06-15 13:34:57 +02:00
package.json chore(qr-login): add qrcode.react dependency 2026-06-15 13:34:57 +02:00
postcss.config.mjs feat: add Tailwind v4 + MD3 theme tokens (mirror from Scrum4Me) 2026-05-26 18:40:59 +02:00
prisma.config.ts fix(prisma-config): remove invalid earlyAccess + add datasource override (match Scrum4Me pattern) 2026-05-26 18:55:14 +02:00
proxy.ts feat(qr-login): allow anonymous /api/auth/pair/* through proxy 2026-06-15 13:41:40 +02:00
README.md feat: Dockerfile + Vitest config + docs 2026-05-26 19:12:18 +02:00
tailwind.config.ts feat: add Tailwind v4 + MD3 theme tokens (mirror from Scrum4Me) 2026-05-26 18:40:59 +02:00
tsconfig.json feat(workers): add product and idea selectors to manual jobs 2026-06-04 14:53:53 +02:00
vitest.config.ts test: smoke-test for ported shadcn primitives 2026-05-26 22:00:06 +02:00

scrum4me-workers

Admin-only worker-management UI op workers.jp-visser.nl. Onderdeel van M16 platform split — zie Scrum4Me docs/specs/2026-05-26-scrum4me-platform-split-design.md.

Stack

  • Next.js 16 (App Router) + React 19 + TypeScript strict
  • Tailwind v4 + MD3-tokens
  • Prisma 7 (prisma generate only — designated migrator is scrum4me-web)
  • iron-session 8 (cookie s4m_workers_session, host-only)
  • Vitest + jsdom
  • Deploy: Docker op scrum4me-server, achter Caddy reverse-proxy

Schema

Canonical Prisma schema komt uit vendor/scrum4me-shared (Git-submodule). scripts/gen-schema.sh wraps gen-consumer-schema.sh en strips url= / directUrl= (Prisma 7 prisma.config.ts owns connection URLs). postinstall en prebuild invoke deze pipeline automatisch.

Auth

Workers-app accepteert alleen:

  • bestaande Scrum4Me-users (User-tabel, bcrypt password)
  • met een UserRole-row waar role = 'ADMIN'
  • niet-demo (User.is_demo = false)

Promote een gebruiker tot admin in scrum4me-web container:

docker compose exec scrum4me-web npx tsx scripts/promote-admin.ts <username>

Dev

git submodule update --init --recursive
cp .env.example .env       # vul DATABASE_URL + WORKERS_SESSION_SECRET
npm install
npm run dev                 # http://localhost:3010

Verify

npm run verify   # lint + typecheck + test
npm run build    # next build standalone