Page History
...
| 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
...
Dokumentets relation til de øvrige dokumenter er beskrevet i dokumentationsoversigten for GM-CMS.
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-CMS Snitfladen er defineret i en ...
GM-CMS er Java baserede komponenter, der baserer sig på Java 21 og ??? frameworket.
Design og arkitektur er beskrevet: ....
Opsætning af udviklingsmiljø
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-CMS 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-CMS , hvilket gøres bygges ved at køre kommandoen
|
...
:
|
Import/export af konfigurationer
Import af konfigurationer:
|
Eksport af konfigurationer:
|
Konfigurationer placeres i mappen ./config/sync.
Import/export af data
Import af data:
|
Eksport af data:
|
Eksporteret data placeres i mappen cms-export.tar i project root.
...
Afvikling
Efter byg kan GM-CMS afvikles i development mode vha. kommandoen:
|
Eller i production mode vha. kommandoen:
|
Desuden skal Meilisearch op at kører. Dette kan med fordel sættes op til at køre i en Docker-container:
|
CMS_MEILISEARCH_API_KEY skal sættes til samme værdi i .env.... Til dette formål findes ....For at starte GM-CMS 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-CMS er startet, svarer den på:
...
→ 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-CMS 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
Ikke relevant - Se dokumentation for Strapi.
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.
Dokument Historik
| 3/4 2025 | Martin Henriksen/SDS | Etablering af dokumentation |
| 10/4 2025 | Dikte Straadt/Trifork | Initiel udfyldning af dokumentation |