Admin-only worker-management UI (Next.js 16) — onderdeel van M16 platform split
  • TypeScript 98.5%
  • CSS 0.9%
  • JavaScript 0.3%
  • Dockerfile 0.2%
Find a file
Janpeter Visser 80cb1fea7e
All checks were successful
CI / Verify (push) Successful in 2m24s
Merge pull request 'feat(messages): add result count filters' (#85) from codex/fix-queue-message-table-layout into main
Reviewed-on: #85
Reviewed-by: s4m-codex-reviewer <dijkhofl@gmail.com>
2026-08-19 16:58:23 +02:00
.claude fix(messages): tabel terug naar 90% en tijden altijd relatief 2026-08-06 08:57:57 +02:00
.forgejo/workflows ci: add forgejo workflow 2026-07-07 20:01:05 +02:00
__tests__ feat(messages): add result count filters 2026-08-19 16:50:44 +02:00
actions feat(messages): add result count filters 2026-08-19 16:50:44 +02:00
app feat(messages): add result count filters 2026-08-19 16:50:44 +02:00
components feat(push): toggle op de messages-pagina plus Toaster in de layout 2026-08-10 17:10:23 +02:00
docs feat(queue): retention-purge archiveert eerst + archiveren i.p.v. verwijderen in de UI; clear blijft; paginadoc bij (M32 spec 4.5/B14) 2026-08-12 20:15:47 +02:00
hooks fix: refetch jobs after realtime status updates 2026-06-04 16:34:29 +02:00
lib feat(messages): add result count filters 2026-08-19 16:50:44 +02:00
prisma fix(docker): create prisma/ dir before shell-redirect of generated schema 2026-05-26 20:36:20 +02:00
public fix(push): handel pushsubscriptionchange af — stille doodsoorzaak 2026-08-10 18:42:11 +02:00
scripts fix(build): zelf-helende scrum4me-shared submodule-init in verse worktrees 2026-06-01 15:41:51 +02:00
stores Sprint: Jobs tabel (#76) 2026-08-03 17:49:03 +02:00
vendor chore(shared): submodule naar c63f0bd — issue-tracker-schema 2026-08-17 09:13:14 +02:00
.dockerignore feat: Dockerfile + Vitest config + docs 2026-05-26 19:12:18 +02:00
.env.example docs(push): env-vars, kanaal-eis en notificatiesectie 2026-08-10 17:16:24 +02:00
.gitignore fix(git): node_modules-symlink uit de index halen 2026-08-06 09:02:34 +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 feat(push): queue-listener met advisory lock en volgorde-garantie 2026-08-10 16:49:35 +02:00
eslint.config.mjs feat(workers): add product and idea selectors to manual jobs 2026-06-04 14:53:53 +02:00
instrumentation.ts feat(push): queue-listener met advisory lock en volgorde-garantie 2026-08-10 16:49:35 +02:00
next.config.ts fix(dev): draai next dev met --webpack (Turbopack-config-conflict) 2026-08-06 09:01:33 +02:00
package-lock.json chore(deps): submodule-bump voor app_scope + web-push toevoegen 2026-08-10 16:33:20 +02:00
package.json chore(deps): submodule-bump voor app_scope + web-push toevoegen 2026-08-10 16:33:20 +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(push): service worker, browserkant en proxy-uitzondering 2026-08-10 17:07:28 +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