Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Navitabs
rootBackend For Frontend CMS (GM-CMS) - Leverancebeskrivelse


...

Table of Contents

Introduktion

Formål

Formålet med dette dokument er at beskrive hvordan et udviklingsmiljø, til videreudvikling af GM-

...

CMS, 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-BFFCMS.

Dokumentets relation til de øvrige dokumenter er beskrevet i dokumentationsoversigten for GM-BFFCMS.

Læsevejledning

...

Læseren af dette dokument forventes at være bekendt med opbygningen af "Min Graviditet"-projektet samt med hvilket indhold GM-CMS skal servicere "Min Graviditet"-appen med.

Introduktion til GM-CMS

GM-BFF Snitfladen er defineret i en ...

GM-BFF er Java baserede komponenter, der baserer sig på Java 21 og ??? frameworket.

Design og arkitektur er beskrevet: ....

Opsætning af udviklingsmiljø

CMS er baseret på Strapi (v5), et populært open-source headless CMS, der muliggør hurtig udvikling af CMS-applikationer. Design og arkitektur beskrives detaljeret i de følgende afsnit med fokus på opsætning af et udviklingsmiljø og bygning af komponenterne til systemet.

Opsætning af udviklingsmiljø

Koden ligger i Git-repositoriet: I det følgende antages at koden er hentet fra git: https://git.nspop.dk/scmprojects/bff/repos/min-graviditet-backendcontent-for-frontend.gitmanagement-system 

Krav til software

GM-BFF deployeres vha. ...

Derudover er der krav til de anvendte udviklingsværktøjer:

Følgende krav skal være opfyldt i udviklingsmiljøet:

•    Node.js: Kun Active LTS eller Maintenance LTS versioner understøttes (aktuelt v18, v20 og v22). Ulige nummererede versioner af Node, kendt som "current" versioner af Node.js, understøttes ikke (f.eks. v19, v21).
•    Node.js package manager: npm (v6 og højere), yarn, pnpm eller tilsvarende.
•    Supporteret PostgreSQL database version: Anbefalet – v14.0, minimum – v12.0.

I følgende antages det at npm Node.js package manager

...

anvendes.

Bygge komponeten

Man skal bruge Maven til at bygge GM-BFF, hvilket gøres CMS bygges ved at køre kommandoen

mvn package

...

:

npm run build

 Import/export af konfigurationer

Import af konfigurationer: 

npm run cs import

Eksport af konfigurationer:

npm run cs export

Konfigurationer placeres i mappen ./config/sync.

 Import/export af data

Import af data: 

npm run strapi import -- -f cms-export.tar

Eksport af data:

npm run strapi export -- --file cms-export --no-compress --no-encrypt

Eksporteret data placeres i mappen cms-export.tar i project root.

...

Afvikling

Efter byg kan GM-BFF CMS afvikles i development mode vha. kommandoen:

npm run develop

Eller i production mode vha. kommandoen:

npm run strapi

Desuden skal Meilisearch op at kører. Dette kan med fordel sættes op til at køre i en Docker-container:

docker run -it --rm -p 7700:7700 getmeili/meilisearch:latest meilisearch --master-key={CMS_MEILISEARCH_API_KEY}

CMS_MEILISEARCH_API_KEY skal sættes til samme værdi i .env.... Til dette formål findes ....For at starte GM-BFF afvikles 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å:

  • Services: Se ...

→ Ikke relevant.

Beskrivelse af systemdesign

...

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:

Beskrivelse af testsetup

Unittests

??? 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øre:

...

mvn test

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:

...

mvn verify -???

Dette forudsætter at alle services er startet som angivet i ??? setuppet

Hvis man ønsker af afvikle testen op mod en andet miljø f.eks. test1 eller test2 henvises til GM-CMS - Testvejledning.Ikke relevant - Se dokumentation for Strapi.

Dokument Historik

3/4 2025Martin Henriksen/SDSEtablering af dokumentation
10/4 2025Dikte Straadt/TriforkInitiel udfyldning af dokumentation