Commit graph

52 commits

Author SHA1 Message Date
ffe3815598 chore: .gitattributes toevoegen voor consistente LF regeleindes
Voorkomt de 'LF will be replaced by CRLF' warnings op Windows.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 23:06:21 +02:00
32fa2e8c1b chore: middleware.ts verwijderd, icon-bron toegevoegd, versie 0.2.0
- middleware.ts verwijderd (hernoemd naar proxy.ts in vorige commit)
- icon-master-light.svg toegevoegd als bronbestand voor app-iconen
- package.json versie bijgewerkt naar 0.2.0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 23:05:00 +02:00
703a912310 chore: middleware hernoemd naar proxy (Next.js 16)
- middleware.ts → proxy.ts
- export function middleware → proxy
- docs/patterns/middleware.md bijgewerkt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 22:57:05 +02:00
b4371f5afb chore: documentatie naar docs/, iconen bijgewerkt, theme.css verplaatst
- scrum4me-*.md en MD3_Color_Scheme_Documentation.md verplaatst naar docs/
- Srum4MeIcons.html verplaatst naar docs/icons.html
- theme.css verplaatst van root naar app/styles/theme.css
- Import in globals.css bijgewerkt
- Alle app-iconen vervangen door nieuw logo (icon-master-light.svg)
- AppIcon component bijgewerkt met nieuw SVG
- CLAUDE.md verwijzingen bijgewerkt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 22:51:42 +02:00
8e0513e07c docs: correcties CLAUDE.md en prisma-client patroon
- Next.js versie gecorrigeerd naar 16 in CLAUDE.md
- prisma-client.md bijgewerkt met werkelijke adapter-implementatie (SQLite + PostgreSQL)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 22:42:45 +02:00
c764d69e52
Rename patterns/zustand-optimistic.md to docs/patterns/zustand-optimistic.md 2026-04-24 22:21:53 +02:00
ed8524c269
Rename patterns/sort-order.md to docs/patterns/sort-order.md 2026-04-24 22:21:32 +02:00
7c41508a24
Rename patterns/server-action.md to docs/patterns/server-action.md 2026-04-24 22:21:12 +02:00
a72944ecc3
Rename patterns/route-handler.md to docs/patterns/route-handler.md 2026-04-24 22:20:48 +02:00
98ca36e357
Rename patterns/prisma-client.md to docs/patterns/prisma-client.md 2026-04-24 22:20:27 +02:00
2410d72cee
Rename patterns/middleware.md to docs/patterns/middleware.md 2026-04-24 22:18:53 +02:00
9a3b6034a3
Rename patterns/iron-session.md to docs/patterns/iron-session.md 2026-04-24 22:17:25 +02:00
f7513016d4
Add test.md with initial content 2026-04-24 22:14:59 +02:00
895930a744
Implement middleware for route protection
Add middleware for route protection based on user session.
2026-04-24 22:12:40 +02:00
1d33b1f7dc
Add documentation for float sort_order pattern
Document the float sort_order pattern with TypeScript examples for calculating sort order and reindexing when precision is low.
2026-04-24 22:11:54 +02:00
963265eb8d
Add Zustand optimistic update pattern documentation
Document the Zustand optimistic update pattern with rollback for drag-and-drop functionality.
2026-04-24 22:11:11 +02:00
81053d0414
Add route handler documentation for REST API
Document the route handler for the REST API, including authentication and endpoint details.
2026-04-24 22:10:29 +02:00
82879eb119
Document Prisma Client singleton pattern
Added documentation for Prisma Client singleton pattern and configuration.
2026-04-24 22:08:59 +02:00
fd72fd85f8
Document iron-session pattern and usage
Add documentation for iron-session pattern including session options and usage in server actions.
2026-04-24 22:08:27 +02:00
08e0dd22f0
Add server action pattern documentation 2026-04-24 22:07:45 +02:00
e9076d274e
Add Prisma client initialization in markdown file 2026-04-24 22:05:51 +02:00
4908d91e2a
Add iron-session configuration and types 2026-04-24 22:04:24 +02:00
990fca792f
Refine CLAUDE.md content and task instructions
Removed references to automatic logging of implementation plans, test results, and commits in stories. Updated task instructions and conventions for clarity.
2026-04-24 22:01:20 +02:00
aea278eed7
Revise README for project overview and features
Updated the README to reflect new features, technology stack, and project goals.
2026-04-24 20:14:00 +02:00
671e58948c docs: README bijgewerkt met v0.2.0 wijzigingen
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 17:30:25 +02:00
0efd0cc4e3 feat: demo-gebruiker krijgt read-only toegang tot actieve sprint
Seed maakt een actieve sprint aan voor de demo gebruiker met 3 stories.
Statusbalk aangepast naar h-14 zodat deze overeenkomt met de navigatiebalk.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 17:17:41 +02:00
71e4ebc22d feat: statusbalk met versie en builddatum
Voegt sticky statusbalk toe aan de onderkant van de app met:
- Copyright melding
- App-versie uit package.json (NEXT_PUBLIC_APP_VERSION)
- Builddatum ingesteld op het moment van de build (NEXT_PUBLIC_BUILD_DATE)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 17:12:20 +02:00
0bf635eca1 feat: ST-612 drag-and-drop tussen Product Backlog en Sprint Backlog
Vervangt de '+ Sprint' knop door cross-panel drag-and-drop:
- Sleep story van rechts (PB) naar links (SB) om toe te voegen
- Sleep story van links (SB) naar rechts (PB) om te verwijderen
- Gedeelde DndContext in SprintBacklogClient voor beide panelen
- Visuele dropzone-highlight bij hoveren
- Optimistische UI-updates met rollback bij fouten

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 17:00:25 +02:00
f2698d98d8 fix: function props vanuit server component verplaatst naar client wrapper 2026-04-24 16:51:11 +02:00
088d318e51 fix: ST-609 demo-check toegevoegd aan POST /api/stories/:id/log en POST /api/todos 2026-04-24 16:34:04 +02:00
d26d58f664 fix: ST-611 README bijgewerkt naar Neon-only setup 2026-04-24 16:32:57 +02:00
f43dcd0f64 chore: postinstall script voor automatische prisma generate 2026-04-24 14:48:56 +02:00
d9692f908a fix: expliciete type voor tasks.map callback in planning page 2026-04-24 14:46:38 +02:00
5b225e744d fix: SQLite migraties vervangen door PostgreSQL migratie voor Neon 2026-04-24 14:38:01 +02:00
0df7e8d8ed fix: url en directUrl uit schema.prisma verplaatst naar prisma.config.ts (Prisma v7) 2026-04-24 14:26:44 +02:00
567e91493e fix: prisma generate in CI en expliciete types in map/filter callbacks 2026-04-24 14:23:41 +02:00
7dfc389be4 chore: .claude/settings.local.json toevoegen aan .gitignore 2026-04-24 14:16:34 +02:00
b2e84d043e chore: husky pre-commit hook met lint-staged 2026-04-24 14:14:25 +02:00
ecc7a10679 fix: lint errors en warnings opgelost voor CI 2026-04-24 14:09:03 +02:00
97a4173cba fix: vervang require() imports door ES imports in lib/prisma.ts 2026-04-24 14:03:12 +02:00
62da039684 fix: typecheck errors voor Vercel build 2026-04-24 13:44:33 +02:00
08de004ae7 feat: PostgreSQL support en Vercel CI/CD deployment
- Prisma schema: sqlite → postgresql provider met directUrl
- prisma.config.ts: directUrl toegevoegd
- seed.ts: dynamisch SQLite of PostgreSQL adapter op basis van DATABASE_URL
- ci.yml: preview deploy op PR, productie deploy op push naar main

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 12:59:12 +02:00
d11b114fc1 feat: ST-601-ST-612 M6 polish, beveiliging en launch-ready
- ST-601/602: loading skeletons en error boundary
- ST-603: Sonner toasts op alle CRUD-operaties
- ST-604: DemoTooltip op uitgeschakelde knoppen
- ST-605: KeyboardSensor dnd-kit, Escape sluit modals
- ST-606: min-width banner < 1024px
- ST-607: WCAG AA aria-labels en skip link
- ST-608: rate limiting login (10/min) en registratie (5/uur)
- ST-609: security integratietests cross-user toegang (7 tests)
- ST-610: GitHub Actions CI/CD workflow
- ST-611: README met quickstart, deployment en API-docs
- ST-612: Lars-flow acceptatiechecklist
- fix: settings toont gebruikersnaam i.p.v. interne id
- fix: seed idempotent, testdata altijd gekoppeld aan demo-gebruiker

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 12:36:23 +02:00
8bb8754d01 feat: ST-501-ST-506 M5 todo-lijst en rolbeheer
- Todo-lijst met snelle invoer via Enter (ST-501)
- Todo afvinken met visuele doorstreping (ST-502)
- Archiveer afgeronde todos (ST-503)
- Promoveer todo naar PBI met product en prioriteit keuze (ST-504)
- Promoveer todo naar story met product, PBI en prioriteit keuze (ST-505)
- Rolbeheer in instellingen: Product Owner, Scrum Master, Developer (ST-506)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 11:59:25 +02:00
b71a1a7328 feat: ST-401-ST-410 M4 REST API, tokenbeleer en activiteitenlog
- api-auth.ts was al aanwezig; demo-check toegevoegd per endpoint (ST-401)
- Token aanmaken (SHA-256 hash, eenmalig tonen), intrekken, max 10 (ST-402)
- GET /api/products actieve productenlijst (ST-403)
- GET /api/products/:id/next-story hoogst geprioriteerde open story (ST-404)
- GET /api/sprints/:id/tasks met limit parameter (ST-405)
- PATCH /api/stories/:id/tasks/reorder met ID-validatie (ST-406)
- POST /api/stories/:id/log met discriminatedUnion per type (ST-407)
- PATCH /api/tasks/:id status bijwerken met cross-user bescherming (ST-408)
- POST /api/todos via API aanmaken (ST-409)
- StoryLog component met kleurcodering per type in story slide-over (ST-410)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 11:56:29 +02:00
d92e548f88 feat: ST-301-ST-312 M3 Sprint Backlog en Sprint Planning
- useSprintStore met sprintStoryOrder/taskOrder (ST-301)
- Sprint aanmaken modal met Sprint Goal validatie (ST-302)
- Sprint Backlog pagina SplitPane layout met Sprint Goal header (ST-303)
- Stories toevoegen aan Sprint via knop in rechterpaneel (ST-304)
- Sprint Backlog volgorde aanpassen via dnd-kit (ST-305)
- Story uit Sprint verwijderen met status terug naar OPEN (ST-306)
- Sprint Planning pagina SplitPane met story selectie (ST-307)
- Taken aanmaken inline in rechterpaneel (ST-308)
- Taak drag-and-drop verticaal met optimistische update (ST-309)
- Taakstatus toggle TO_DO/IN_PROGRESS/DONE met voortgangsindicator (ST-310)
- Taak inline bewerken en verwijderen (ST-311)
- Sprint afronden dialoog met per-story Done/Terug keuze (ST-312)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 11:51:27 +02:00
4dd62c199c feat: ST-201-ST-210 M2 stories, drag-and-drop en Zustand stores
- usePlannerStore met pbiOrder/storyOrder init/reorder/rollback (ST-201)
- useSelectionStore uitgebreid met selectedStoryId en clearSelection (ST-202)
- PBI drag-and-drop binnen prioriteitsgroep via dnd-kit (ST-203)
- PBI slepen over prioriteitsgrens wijzigt priority (ST-204)
- Stories als blokken met prioriteit- en statusbadge (ST-205/ST-206)
- Story drag-and-drop horizontaal binnen en tussen groepen (ST-207)
- Story detail slide-over met bewerkformulier (ST-208)
- Story verwijderen met bevestigingsstap (ST-209)
- Filter op status en prioriteit in rechterpaneel (ST-210)
- Fix: infinite loop in useEffect door stabiele string dependency

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 11:46:18 +02:00
ffda65490f feat: ST-101-ST-110 M1 producten, PBI backlog, iconen en PWA manifest
- Product aanmaken/bewerken/archiveren/herstellen (ST-101, ST-103)
- SplitPane component met versleepbare splitter en localStorage (ST-104)
- PanelNavBar herbruikbaar paneelheader component (ST-105)
- PbiList met prioriteitsgroepen, inline aanmaken, filter en verwijderen (ST-106-ST-110)
- StoryPanel placeholder rechter paneel met selectie via Zustand (ST-109)
- App iconen geinstalleerd: favicon, apple-icon, PWA manifest (192/512px)
- AppIcon SVG component in navigatiebar
- Root layout metadata bijgewerkt naar Nederlands

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 11:33:47 +02:00
8017968e60 feat: ST-006-ST-008 auth pages, middleware, nav shell en dashboard
- Login/register pages met AuthForm (useActionState + useFormStatus)
- Server Actions voor login, register, logout met Zod validatie
- Middleware checkt session cookie zonder iron-session op Edge runtime
- AppLayout met auth-check en NavBar met demo badge en actieve links
- Dashboard toont productenlijst via ProductList Client Component
- Fix: a-in-a hydration error opgelost door div plus useRouter te gebruiken

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 11:18:42 +02:00
24924c9b79 feat: MD3 design system + spec-documenten toegevoegd aan repo
- theme.css met volledig Material Design 3 kleurensysteem (licht + donker)
- globals.css importeert theme.css (alle MD3 tokens als Tailwind classes)
- scrum4me-styling.md: design system specificatie voor componenten
- MD3_Color_Scheme_Documentation.md: volledige kleurenreferentie
- Alle spec-documenten (backlog, architecture, functional-spec, personas)
- .gitignore: scrum4me*.md niet langer genegeerd

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 11:01:00 +02:00