Files
slp-modular-cms/aidlc-docs/features/slpsoftware-api/construction/plans/offerings-fd-questions.md
T
SluijsensandClaude Sonnet 5 cfb06b28b6
Continuous Integration / config (pull_request) Successful in 12s
Continuous Integration / changes (pull_request) Successful in 22s
Continuous Integration / backend-build (pull_request) Successful in 5m53s
Continuous Integration / vulnerability-scan (pull_request) Successful in 5m46s
Continuous Integration / frontend-prepare (pull_request) Successful in 1m54s
Continuous Integration / backend-test (pull_request) Successful in 7m37s
Continuous Integration / frontend-build (pull_request) Successful in 2m14s
Continuous Integration / frontend-test (pull_request) Successful in 4m59s
Continuous Integration / frontend-lint (pull_request) Successful in 2m2s
Continuous Integration / publish-production (pull_request) Skipped
Continuous Integration / deploy-production (pull_request) Skipped
Continuous Integration / publish-test (pull_request) Successful in 7m34s
Continuous Integration / deploy-test (pull_request) Skipped
Adds the Offerings module and retargets the CI/CD pipeline to Api.SlpSoftware
Implements Unit 2 "Offerings" (backend module, admin CRUD UI with
drag-and-drop reordering, public GET /api/v1/offerings endpoint) and
executes the feature's D-15 CI/CD cutover, switching the deploy
pipeline's build/publish target from SlpModularCms.Api to
SlpModularCms.Api.SlpSoftware.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FWyStNL2ZsjrS7FLd7xvvN
2026-08-02 16:23:09 +02:00

3.6 KiB

Functional Design Questions — Unit: Offerings

Vraag 1 — Drag-and-drop is een nieuwe frontend-dependency

frontend/package.json bevat vandaag geen enkele drag-and-drop-library (geen @dnd-kit/*, react-beautiful-dnd, of vergelijkbaar). US-08 (drag-and-drop herordenen) zou dus een nieuwe dependency betekenen, terwijl US-09 (omhoog/omlaag-knoppen) de functionele eis al volledig dekt zonder nieuwe dependency.

Hoe wil je dit voor de eerste versie aanpakken?

A) Beide bouwen zoals in de Inception-fase besloten — nieuwe dependency toevoegen (@dnd-kit/core + @dnd-kit/sortable, de huidige de-facto standaard voor React) voor drag-and-drop, plús de knoppen als toegankelijke fallback B) Nu alleen de omhoog/omlaag-knoppen bouwen (US-09) — geen nieuwe dependency; drag-and-drop (US-08) wordt een latere, aparte toevoeging X) Anders (beschrijf hieronder na de Answer:-tag)

Vraag 2 — Pagina-structuur admin-CRUD

De bestaande cms-feature (Master-module) gebruikt het patroon: één lijstpagina (CmsPage.tsx + CmsInstanceList.tsx) met een modal-dialoog voor "toevoegen" (AddCmsInstanceDialog.tsx) en een aparte modal voor statuswijziging.

Moet de Offerings-admin-UI hetzelfde patroon volgen?

A) Ja — één lijstpagina met rij-acties (bewerken/verwijderen/omhoog/omlaag), en een modal-dialoog die zowel voor "aanmaken" als "bewerken" hergebruikt wordt (met de featured-toggle erin) B) Aparte pagina's/routes voor aanmaken en bewerken in plaats van modals X) Anders (beschrijf hieronder na de Answer:-tag)

Answer: X, het hoeft niet hetzelfde patroon te zijn. Voor consistentie wel mooi, maar het CMS-stuk is vooral voor de master en zal niet bij andere websittes komen. Dus Optie B is prima

Vraag 3 — Validatiegrenzen (SECURITY-05)

Requirements.md vereist lengtebeperkingen op tekstvelden, maar noemt geen concrete getallen. Op basis van de bestaande content (langste titel "Landingspagina" = 14 tekens, langste description ≈ 70 tekens) stel ik ruime maar begrensde limieten voor.

Welke bovengrenzen wil je hanteren?

A) Title 100, Description 500, Price 50, PriceNote 100, CtaLabel 50 tekens; Features: min 1, max 10 items, elk item max 200 tekens — ruim genoeg voor toekomstig hergebruik (fotografie-pakketten etc.), maar begrensd tegen misbruik B) Strakkere limieten, dicht bij de huidige content (Title 50, Description 200, Features max 6 items van elk 100 tekens) X) Anders (geef zelf de getallen op na de Answer:-tag)

Vraag 4 — Bevestiging bij verwijderen

Verwijderen is een soft delete (D-Q5=B), maar er is geen "herstel"-functie in de admin-UI voorzien (buiten scope, FR-7 noemt alleen create/edit/delete/reorder). Vanuit het perspectief van de CMS Administrator is verwijderen dus onomkeerbaar.

Moet de admin-UI een bevestigingsdialoog tonen vóór het verwijderen van een offering?

A) Ja — een bevestigingsdialoog ("Weet je zeker dat je '[titel]' wilt verwijderen?") vóór de delete-aanroep B) Nee — direct verwijderen zonder bevestiging X) Anders (beschrijf hieronder na de Answer:-tag)

US-10 beschrijft dat het systeem "precies 0 of 1 featured offering" afdwingt, maar niet hoe de CMS Administrator dat instelt in de UI.

A) Een checkbox/toggle "Meest gekozen" in het aanmaak-/bewerkformulier van elke offering — bij opslaan met deze toggle aan wordt de vorige featured-offering automatisch uitgezet B) Een aparte actie in de lijst-view zelf (bijv. een ster-icoon per rij om direct featured te maken, los van het bewerkformulier) X) Anders (beschrijf hieronder na de Answer:-tag)

Answer: kan A en B beide?