Page History
| Navitabs | ||
|---|---|---|
| ||
Indholdsfortegnelse
| Table of Contents |
|---|
Introduktion
Formål
Formålet med dette dokument er at beskrive hvordan et udviklingsmiljø, til videreudvikling af GM-BFF, kan sættes op, samt hvordan koden bygges, deployes og testes.
...
Kodestrukturen, kodemæssige afhængigheder til tredjeparts moduler og de forskellige servicemodulers ansvar og design beskrives sidst i dette dokument sammen med testdesign.
Sammenhæng med øvrige dokumenter
Dette dokument er en del af den samlede dokumentation for GM-BFF.
Dokumentets relation til de øvrige dokumenter er beskrevet i dokumentationsoversigten for GM-BFF.
Læsevejledning
Læser forventes at have kendskab til ....Java, Maven og Springboot
Introduktion til GM-BFF
GM-BFF Snitfladen er defineret i en ...<miljø>/gm-bff/swagger-ui/index.html
GM-BFF er Java baserede komponenter, der baserer sig på Java 21 og ??? frameworketSpring Boot 3.5.5.
Design og arkitektur er beskrevet : ....i GM-BFF - Design- og arkitekturbeskrivelse
Opsætning af udviklingsmiljø
I det følgende antages at koden er hentet fra git: https://git.nspop.dk/scm/bff/min-graviditet-backend-for-frontend.git
Krav til software
For at afvikle GM-BFF deployeres vha. ...
Derudover er der krav til de anvendte udviklingsværktøjer:
...
kræves Java og Maven, samt følgende komponenter :
- PostgreSQL (https://www.postgresql.org)
- Meilisearch (https://www.meilisearch.com)
- GM-CMS (CMS (GM-CMS) - Leverancebeskrivelse)
- GM-Facade, som er tilgængelig på NSP (Facade (GM-Facade) - Leverancebeskrivelse)
PostSQL, Meilisearch og GM-CMS kan startes lokalt med kommandoen:
docker-compose -f compose/gravidmappen/docker-compose.yaml up |
Bemærk, at GM-CMS ligger i private registry, hvor der ikke er offentligt adgang. Alternativt, kan GM-CMS opsættes lokalt som beskrevet her GM-CMS - Guide til anvendere
Bygge komponeten
Man skal bruge Maven til at bygge GM-BFF, hvilket gøres ved at køre kommandoen, hvor revision angiver versionen
|
Efter byg kan WAR filer findes her:
|
|
gm-bff-1.0.0.jar |
Afvikling
Efter byg kan GM-BFF afvikles
...
med følgende kommando:
Udviklers workstation
Når man udvikler kan det være praktisk at foretage lokal deployment.
Dette kan gøres vha. ....:
Når GM-BFF er startet, svarer den på:
...
mvn spring-boot:run |
Beskrivelse af systemdesign
Systemdesign er beskrevet i GM-BFF - Design- og arkitekturbeskrivelse.
Beskrivelse af kildekodens strukturering og design
Kode strukturering
Kildekoden bygges vha Maven, og kildekoden er struktureret som Maven moduler. GM-BFF består af følgende moduler:er et single-module projekt.
Snitfladen til appen er specificeret i OpenAPI og ligger i folderen:
./openapi/bff |
Snitfladen er opdelt i journal og cms.
Bruno (https://www.usebruno.com) benyttes som api client og gøre det muligt kalde en kørende instans af GM-BFF lokalt og i test.
Beskrivelse af testsetup
Unittests
??? JUnit anvendes til implementering af unit tests . Der er kontinuert gennemført unit tests på alle komponenter i projektet.Unit tests afvikling under byg vha ??? plugin for Maven, men kan separat afvikles ved at køreog afvikles som følger:
|
Hvis der derimod laves en verify, så vil der også blive genereret code coverage, hvor fremkommende rapport kan ses i testreport/target/site/jacoco-aggregate/index.html
Integrationstests
Integrationstests ligger i modulet ??? og kan afvikles med:
|
Dette forudsætter at alle services er startet som angivet i ??? setuppet
...
Dokument Historik
| 3/4 2025 | Martin Henriksen/SDS | Etablering af dokumentation |
| 16/9 2025 | Thomas Glæsner | Udfyldt |