docs(portal-openbaar): record openbaar decisions + walking-skeleton public-visibility demo (refs #10)
All checks were successful
CI / lint (pull_request) Successful in 1m14s
CI / build (pull_request) Successful in 54s
CI / unit (pull_request) Successful in 1m4s
CI / frontend (pull_request) Successful in 1m55s
CI / mutation (pull_request) Successful in 4m1s
CI / verify-stack (pull_request) Successful in 6m57s
All checks were successful
CI / lint (pull_request) Successful in 1m14s
CI / build (pull_request) Successful in 54s
CI / unit (pull_request) Successful in 1m4s
CI / frontend (pull_request) Successful in 1m55s
CI / mutation (pull_request) Successful in 4m1s
CI / verify-stack (pull_request) Successful in 6m57s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -168,3 +168,32 @@ curl -fsS http://localhost:8120/register | jq 'length' # → unchanged
|
||||
|
||||
> `bsn` / `naam_placeholder` are deferred (ADR-0008) — the notification doesn't carry them and
|
||||
> the subscriber may not read OpenZaak directly (§8.1). They surface in a later slice.
|
||||
|
||||
---
|
||||
|
||||
## S-09 — Openbaar Register portal (public visibility)
|
||||
|
||||
**Outcome:** the entry a zorgprofessional submits via self-service becomes publicly visible in the
|
||||
anonymous openbaar register portal — closing the walking-skeleton loop (submit → process → projection
|
||||
→ public visibility).
|
||||
|
||||
**The path:** self-service submit → BFF → domain → (zaak) OpenZaak → NRC → Event Subscriber →
|
||||
projection → openbaar portal reads the BFF's public-safe `GET /openbaar/register`.
|
||||
|
||||
```bash
|
||||
# 1. Bring the full stack up (self-service :8140, openbaar :8141).
|
||||
make up
|
||||
|
||||
# 2. Submit a registration via the self-service portal (mock DigiD: jan-burger / test123),
|
||||
# or drive the whole happy path automatically (login → submit → public visibility):
|
||||
make verify-e2e
|
||||
|
||||
# 3. Open the public register — no login. It lists the submitted entry (id + status only).
|
||||
# Only public-safe fields cross the BFF: bsn / naam never appear.
|
||||
open http://localhost:8141/ # search box; searches the BFF by referentie
|
||||
curl -fsS http://localhost:8140/openbaar/register | jq # same public-safe view via the BFF proxy
|
||||
# → [ { "id": "<zaak-uuid>", "status": "INGEDIEND" } ]
|
||||
```
|
||||
|
||||
> The register shows `INGEDIEND` entries today; the approval transition to a terminal status
|
||||
> (e.g. `INGESCHREVEN`) lands with the approval flow (S-09b, #75).
|
||||
|
||||
@@ -103,3 +103,17 @@ with the submit form (S-08c, #67); any deviation from NL DS will be recorded her
|
||||
touching the app or its production config.
|
||||
- `tests/e2e` is a standalone Playwright project (its own `package.json`), not an Nx project — it's a
|
||||
live-stack check like the other `verify-*` runners, not part of the `frontend` unit lane.
|
||||
|
||||
## Openbaar Register portal (S-09, #10)
|
||||
|
||||
- **Anonymous, no auth.** The openbaar register is a public read, so `apps/openbaar` has no
|
||||
`angular-auth-oidc-client`, no interceptor, and no `config.json` — `main.ts` bootstraps `appConfig`
|
||||
directly with just `provideHttpClient` + `provideRouter`. This is the deliberate contrast to
|
||||
self-service and keeps the app trivially cacheable/CDN-able.
|
||||
- **Same-origin via nginx, like self-service.** The compose `openbaar` image serves the built app and
|
||||
reverse-proxies `/openbaar` to the BFF; the api-client's relative calls stay same-origin (no CORS).
|
||||
Served on `:8141`, health-checked over IPv4 (`127.0.0.1`), no Keycloak dependency.
|
||||
- **Public-safe by construction.** The portal only ever sees the BFF's `OpenbaarProjection.PublicView`
|
||||
(id + status); `bsn`/`naam` never leave the BFF. The e2e asserts the bsn never renders.
|
||||
- **Loads on open, filters on search.** `RegisterPage` fetches the full register on construction and
|
||||
re-queries `/openbaar/register?q=` on search — no client-side filtering, the BFF owns the query.
|
||||
|
||||
Reference in New Issue
Block a user