Commit graph

111 commits

Author SHA1 Message Date
e94959c5bc feat: PB-overzicht in instellingen + documentatie bijgewerkt
Settings:
- "Mijn teams" vervangen door gecombineerde "Product Backlogs" sectie
- Toont eigen producten (badge Eigenaar) en team-lidmaatschappen (badge Developer)
- Productnaam is klikbaar naar de product backlog
- "Verlaten"-knop met bevestiging alleen voor Developer-lidmaatschappen
- Lege staat met link naar product aanmaken

Docs:
- architecture.md: users tabel aangevuld met bio/bio_detail/avatar_data;
  Prisma schema excerpt bijgewerkt; projectstructuur bijgewerkt (profile route, ProfileEditor)
- functional-spec.md: F-02b gebruikersprofiel en F-02c PB-overzicht toegevoegd;
  datamodel users rij bijgewerkt; settings route bijgewerkt
- backlog.md: ST-507 profiel en ST-508 PB-overzicht toegevoegd als afgerond

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 13:40:47 +02:00
ec9de5a962 fix: header en footer sticky op landingspagina
Zelfde patroon als (app) layout: h-screen overflow-hidden op de wrapper,
flex-1 overflow-y-auto op main, shrink-0 op footer.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 13:32:32 +02:00
1ff894a6c0 feat: gebruikersprofiel met avatar, bio en uitgebreide beschrijving
- Schema: bio (160), bio_detail (2000) en avatar_data (bytea) op User
- POST /api/profile/avatar: validatie MIME-type + max 12 MB vóór verwerking,
  Sharp resize naar max 700x700 (fit inside), output WebP q85, opgeslagen als bytea in Neon
- GET /api/profile/avatar: serveert avatar met Cache-Control private 1u
- updateProfileAction: slaat bio en bio_detail op via Server Action + Zod
- ProfileEditor client component: avatar preview, upload met client-side validatie,
  bio-velden met tekenlimieten
- Settings page: profiel-sectie bovenaan, uitgeschakeld voor demo-gebruiker
- next.config: sharp als serverExternalPackage

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 13:30:38 +02:00
45011a3347 docs: architectuur en spec bijgewerkt na implementatie
- Next.js 15 → 16 in architecture doc en stack-tabel
- ProductMember model toegevoegd aan datamodel-sectie en Prisma schema excerpt
- implementation_plan veld gedocumenteerd bij tasks tabel
- lib/product-access.ts en components/products|settings toegevoegd aan projectstructuur
- Functionele spec: MVP-scope bijgewerkt met teambeheer; scope-bullet uitnodigingsflow aangepast
- Rolbeheer-spec: acceptatiecriterium "geen effect in v1" vervangen door Developer-vereiste voor teams
- v2 backlog: multi-user item herschreven naar uitnodigingsflow (basis teambeheer is nu v1)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 13:13:14 +02:00
357b1e32e8 feat: ProductMember — team management for product backlogs
- Add ProductMember model (many-to-many User ↔ Product)
- Add productAccessFilter helper (owner OR member OR clause)
- Replace all ownership checks across actions and API routes
- Add addProductMemberAction / removeProductMemberAction / leaveProductAction
- Add TeamManager component in product settings (owner adds/removes Developers)
- Add LeaveProductButton in user settings (member leaves a product team)
- Regenerate Prisma Client after schema migration

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 13:09:44 +02:00
fc12e3cc64 feat: landingspagina met app-uitleg, Scrum-samenvatting en gebruikershandleiding
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 12:47:32 +02:00
76d6f0a09d fix: nav en statusbar vast op top/bottom via h-screen layout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 12:40:05 +02:00
cb7eb36fbb feat: Todo altijd gekoppeld aan product backlog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 12:35:40 +02:00
b541379964 chore: SQLite verwijderd — alleen PostgreSQL via Neon
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 12:15:19 +02:00
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