Proof of Concept Berichtenbox voor MijnOverheid Zakelijk (MOZa) binnen het Federatief Berichtenstelsel (FBS).
Dit project is een Proof of Concept voor de Berichtenbox binnen het Federatief Berichtenstelsel, beschreven op https://www.logius.nl/onze-dienstverlening/interactie/federatief-berichten-stelsel.
Dit Open Source project is opgezet als PoC voor het ontvangen, opslaan en ophalen van berichten binnen MijnOverheid Zakelijk. De Berichtenbox bestaat uit de volgende onderdelen:
- Berichtensessiecache - Ophalen en weergeven van berichten
- Berichtenmagazijn - Opslaan van berichten
- Berichtnotificatieprofiel - Beheer van notificatievoorkeuren
- Java 21+
- Maven 3.9+ (of gebruik de meegeleverde Maven wrapper
./mvnw) - Docker (voor lokale services: Redis, WireMock, ClickHouse)
# Start lokale services (Redis, WireMock magazijnen, ClickHouse)
docker compose up -dDe services draaien elk in hun eigen Quarkus-dev-mode. Start ze in aparte terminals zodat beide live-reload en de devconsole blijven werken:
# Terminal 1 — berichtensessiecache (poort 8080)
./mvnw compile quarkus:dev -pl services/berichtensessiecache -am
# Terminal 2 — berichtenmagazijn (poort 8090)
./mvnw compile quarkus:dev -pl services/berichtenmagazijn -amDe compile-fase vóór quarkus:dev zorgt dat de gedeelde module libraries/fbs-common
(via -am) eerst gebouwd wordt; zonder compile draait Maven alleen het quarkus:dev-goal
en faalt de resolution van fbs-common-0.1.0-SNAPSHOT.jar zolang die niet in de lokale
Maven-repository staat.
| Service | API | OpenAPI |
|---|---|---|
| berichtensessiecache | http://localhost:8080/api/v1/berichten |
http://localhost:8080/openapi.json |
| berichtenmagazijn | http://localhost:8090/api/v1/berichten |
http://localhost:8090/openapi.json |
./mvnw test -pl services/berichtensessiecache -am
./mvnw test -pl services/berichtenmagazijn -amDe belangrijkste configuratie staat in services/berichtensessiecache/src/main/resources/application.properties:
# Magazijnen waarmee de berichtensessiecache communiceert
magazijnen.instances.magazijn-a.url=http://localhost:8081
magazijnen.instances.magazijn-a.naam=Magazijn A
magazijnen.instances.magazijn-b.url=http://localhost:8082
magazijnen.instances.magazijn-b.naam=Magazijn BDit project is gelicenseerd onder de EUPL-1.2.
Zie SUPPORT.md voor informatie over hoe en waar je hulp kunt krijgen.
Zie GOVERNANCE.md voor informatie over de governance-structuur van dit project.