Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 13 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,19 @@ Alle noemenswaardige wijzigingen aan dit platform worden hier vastgelegd, georde

Format: gebaseerd op [Keep a Changelog](https://keepachangelog.com/). Versies worden bij majeur-mijlpalen geknipt; tot dan groeit `[Unreleased]` mee met `main`. Conventional commits in git log blijven de feitelijke audit-trail.

## [Unreleased] — 2026-05-13
## [Unreleased] — 2026-05-27

Tien feature-PR's (#54–#65) in de aanloop naar de 15-mei-deadline voor inbreng van eerste-ronde-reviewers (CISO + concernadviseur risicomanagement bij pilot-gemeente).
Vijftien feature-PR's (#54–#81) tussen 12 mei en 27 mei. Eerste-ronde-reviewers (pilot-gemeente) ontvingen demo-toegang; tweede demo-ronde gepland 28 mei voor finale keuze-moment (doorbouwen / open-source-community / stoppen).

### Toegevoegd

**Bevindingen aanmaken via UI (PR #81)**
- `/beheer/bevindingen` had alleen een lees-overzicht en filter; backend (`POST /assessments/findings/`) werkte al. Tijdens validatie voor de demo van 28 mei sluit deze PR de UI-gap.
- "Nieuwe bevinding"-knop bovenaan + create-form met verplichte velden (assessment-dropdown, titel, ernst, status) en optionele beschrijving. Assessment-dropdown toont "type · domein · datum" zodat reviewers snel het juiste assessment kiezen.
- Knop is disabled + waarschuwingsbalk wanneer er nog geen assessments zijn (bevinding hangt altijd aan een assessment — audit-trail-conventie).
- api-client krijgt `api.findings.create()` + `api.findings.update()`.
- Tests: 4 nieuwe vitest in `bevindingen/page.test.tsx` (empty-state, validatie, create-flow met API-spy, ernst-filter) + 2 e2e in `beheer-bevindingen-create.spec.ts` (UI → API → DB-verificatie via psql).

**Comprehensive UI → API → DB e2e-coverage (PR #62)**
- Nieuw `frontend/e2e/helpers/`-pakket: gecachede dev-token-helper (omzeilt `RATE_LIMIT_AUTH=10/min`) en `queryScalar`/`rowExists` als dunne wrapper rond `docker compose exec psql`.
- 9 nieuwe Playwright-specs (20 tests) die elke beheer-/admin-UI-route door de happy-path lopen en na elke actie de onderliggende DB-rij direct in `ims_*` verifiëren — geen mocks: echte UI → API → DB.
Expand Down Expand Up @@ -102,10 +109,10 @@ Tien feature-PR's (#54–#65) in de aanloop naar de 15-mei-deadline voor inbreng
| Alembic-migraties | 17 |
| API-routers | 22 |
| Backend Python-bestanden | 78 |
| Backend tests (pytest) | 245+ |
| Frontend TypeScript-bestanden | 62 |
| Frontend unit tests (Vitest) | 51 (11 spec-files, coverage ~27/76/49/27) |
| Frontend e2e-specs (Playwright) | 17 specs (46 tests) |
| Backend tests (pytest) | 247 |
| Frontend TypeScript-bestanden | 63 |
| Frontend unit tests (Vitest) | 55 (12 spec-files, coverage ratchet 20/50/40/20) |
| Frontend e2e-specs (Playwright) | 18 specs (48 tests) |
| Normenkaders | 6 (BIO 2.0, ISO 27001, ISO 27701, ISO 22301, AVG, NIST AI RMF) |
| RBAC-rollen | 6 |
| RLS-policies | 27 tabellen |
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ Het GRC-platform is een Governance, Risk & Compliance-platform dat **normen, ris
| Databasetabellen | 41 |
| Alembic-migraties | 17 (schema, RLS, AI Governance, M5-risicokwantificatie + simulatie-historie, custom_attributes, organizational_units) |
| API-routers | 22 |
| Backend tests | 245+ (pytest) |
| Frontend unit tests | 51 (Vitest + RTL + MSW, coverage ~27/76/49/27) |
| Frontend e2e tests | 17 specs / 46 tests (Playwright — auth, navigation, inrichting, M4 AI-systemen, M5 simulatie, RFC-extensions, admin + beheer flows met UI → API → DB-checks) |
| Backend tests | 247 (pytest) |
| Frontend unit tests | 55 (Vitest + RTL + MSW, 12 spec-files) |
| Frontend e2e tests | 18 specs / 48 tests (Playwright — auth, navigation, inrichting, M4 AI-systemen, M5 simulatie, RFC-extensions, admin + beheer flows met UI → API → DB-checks incl. findings-create) |
| Frontend routes | 19 |
| RBAC-rollen | 6 |
| RLS-policies | 27 tabellen |
Expand Down Expand Up @@ -99,7 +99,7 @@ grc-platform/
│ │ ├── services/ # custom_fields, org_units, simulation, agents/*
│ │ └── api/v1/endpoints/ # 22 CRUD-routers
│ ├── alembic/versions/ # 17 migraties
│ └── tests/ # 245+ tests (pytest async)
│ └── tests/ # 247 tests (pytest async)
├── frontend/ # Next.js 16 + React 19 frontend
│ ├── src/
│ │ ├── app/ # 19 routes (login, inrichten/*, beheer/*, admin/*)
Expand Down
4 changes: 3 additions & 1 deletion docs/gebruik.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,9 @@ Audits, DPIA's, pentests, BC-oefeningen, gap-analyses, management reviews.

### Bevindingen — `/beheer/bevindingen`

Bevindingen worden aangemaakt **vanuit een assessment** (niet rechtstreeks). Op de bevindingen-pagina filter je op ernst en status.
- **Nieuwe bevinding** — knop bovenaan opent een formulier met verplichte velden: assessment (dropdown), titel, ernst (laag/midden/hoog/kritiek), status (open/in_behandeling/afgesloten), optionele beschrijving.
- Een bevinding hangt **altijd aan een assessment** (audit-trail-conventie). Als er nog geen assessments zijn, is de knop disabled met een waarschuwingsbalk die je naar `/beheer/assessments` verwijst.
- Op de pagina filter je verder op ernst en status. Corrective actions kun je via de API koppelen aan een bevinding (UI-knop volgt in vervolg-iteratie).

### Bewijs — `/beheer/bewijs`

Expand Down
Loading