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%
|
|
||
|---|---|---|
| __tests__ | ||
| actions | ||
| app | ||
| components | ||
| docs | ||
| hooks | ||
| lib | ||
| prisma | ||
| public/icons | ||
| scripts | ||
| stores | ||
| vendor | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| .gitmodules | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| Dockerfile | ||
| eslint.config.mjs | ||
| next.config.ts | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.mjs | ||
| prisma.config.ts | ||
| proxy.ts | ||
| README.md | ||
| tailwind.config.ts | ||
| tsconfig.json | ||
| vitest.config.ts | ||
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 generateonly — 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 waarrole = '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