You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 3ca9440
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: backend/README.md
+29Lines changed: 29 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,35 @@ Backend applikasjonen består av et rest endepunkt, en database for lagring av s
11
11
Løsningen er utviklet i kotlin med ktor og bruker postgresql for datalagring. Forretningslogikk er frakoblet fra rest endepunktet via en Event sourcing arkitektur, hvor rest endepunktet kun er ansvarlig for å motta og validere søknader, og deretter trigge hendelser som håndteres av separate event handlers som inneholder all forretningslogikk.
12
12
se [egen README.md](src/main/kotlin/no/nav/ekspertbistand/event/README.md) for mer informasjon om denne arkitekturen.
13
13
14
+
## Dokumentgenerering (PDF)
15
+
16
+
Søknads-PDF, tilskuddsbrev og arena-notat rendres fra Handlebars-maler til HTML og konverteres til PDF/A-2b av `ekspertbistand-gotenberg` (Gotenberg/Chromium). `DokumentService` er domeneadapteren, `DokumentRenderer` er den domeneuavhengige templating-kjernen, og `GotenbergClient` gjør HTML → PDF.
17
+
18
+
- Maler og regler for dem: [`dokumentmaler/templates/README.md`](src/main/resources/dokumentmaler/templates/README.md).
Start Postgres og Gotenberg før `mvn verify`, på samme måte som Postgres-testene:
24
+
25
+
```bash
26
+
docker compose -f backend/docker-compose.yml up -d
27
+
mvn -f backend/pom.xml verify
28
+
```
29
+
30
+
Testene når Gotenberg på `http://localhost:3003`. I CI kjører Gotenberg som service-container i `cicd-backend.yaml`. Testcontainers brukes ikke.
31
+
32
+
### Visuell sammenligning
33
+
34
+
`no.nav.ekspertbistand.executables.RenderDokumentmaler` rendrer alle `testdata/*.json` via lokal Gotenberg til `backend/target/dokumentmaler-preview/gotenberg/`. `RenderDokumentmalerDokgenLokal` henter de samme malene fra lokal dokgen (port 9000) til `backend/target/dokumentmaler-preview/dokgen/`. Filnavnene er like i begge mappene, så PDF-ene kan legges side om side eller diffes.
35
+
36
+
```bash
37
+
docker compose -f backend/docker-compose.yml up -d gotenberg dokgen
0 commit comments