Indholdsfortegnelse

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.

Først beskrives de softwaremæssige krav, der er til miljøet, samt hvordan kode hentes og bygges. Dernæst beskrives deployment-miljøet.

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 Spring 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 kræves Java og Maven, samt følgende komponenter :


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

mvn package -Drevision=1.0.0


Efter byg kan WAR filer findes her:

./target/gm-bff-1.0.0.jar


Afvikling

Efter byg kan GM-BFF afvikles med følgende kommando:


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 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 og afvikles som følger:

mvn test


Hvis der derimod laves en verify, så vil der også blive genereret code coverage, hvor fremkommende rapport kan ses i /target/site/jacoco-aggregate/index.html

Integrationstests

Integrationstests afvikles med

mvn verify

Dokument Historik

3/4 2025Martin Henriksen/SDSEtablering af dokumentation
16/9 2025Thomas GlæsnerUdfyldt