Page History
| Navitabs | ||
|---|---|---|
| ||
Indholdsfortegnelse
| Table of Contents |
|---|
Introduktion
NADM-NAK er en angular web klient fortrinsvis til administrative opgaver.
For at afvikle klienten, er det nødvendigt at have NADM-NAF facaded kørende.
Den skal startes før klienten kan tilgåes, under udvikling konfigureres den typisk til at benytte en backend mock
Udvikler guide kan findes her: NADM - NAF (web facade) - Guide til udviklere
Formål
Dette dokument har til formål at gøre det muligt for andre end den oprindelige leverandør at overtage videreudvikling af Web appen, NADM-NAK.
Dokumentationen er rettet mod udviklere og IT-arkitekter, som ikke på forhånd har kendskab til komponenten, og som ikke har adgang til komponentens oprindelige udviklere.
Forudsætninger
Krav til software:
Software | Version |
|---|---|
| Docker Engine | 18.02.0+ |
| Maven | 3.6.3+ |
| Git | 2.30+ |
| Node | 16.14.0+ |
| javawget | 81.21+ |
Udvikler guiden bør kunne afvikles på mac windows og linux.
Generelt om udviklingsmiljø
Det lokale udviklingsmiljø på projekterne er opsat med docker-compose.
...
For at kunne udvikle NADM-NAK bør NADM-NAF være deployeret først i docker.
compose/development
Vær opmærksom på kun at køre en service af samme navn, fx kun køre én development_maternityweb. Hvis der skiftes setup, stop altid servicen og kør 'docker-compose down'.
l NAK bliver ./src/app folderen "volume-mappet", hvilket betyder, at ændringer i kildekoden bliver kompileret og deployet med det samme.
Hvis dependencies ændres skal containeren bygges igen, ellers er det fremover nok at køre 'docker-compose up' når services skal startes.
NAK Web app
NADM-NAK er en Single Page Web Application, som baserer sig på Angular frameworket. Projektet bruger standard strukturen for et Angular projekt - se mere på Angular Styleguide.
Funktionalitet
Applikationen er opdelt således at logik i så stor udstrækning som muligt er lagt ud i services. NADM-NAK bruger en autogenereret REST-snitflade facade-api (NADM-NAK/projects/facade-api) til at hente data fra ODR/BTR igennem NAF-web-facade.
...
Afhængig af fagpersons rolle vil det være muligt at slå en person op og udføre forskellige handlinger vedrørende organdonation samt livs/behandlingstestamente.visninger og registreringer vedrørende forskellige registre.
spærringer
En administrator skal kunne vise oprette og slette spærringer for en borger.
organdonationer rettigheder
En administrator skal kunne vise oprette og slette organdonation rettigheder for en borger.
En transplantationskoordinator skal kunne lave opslag på en borger.
livs/behandlingstestamente
En administrator skal kunne vise oprette og slette organdonation rettigheder for en borger.
En sundhedsfaglig skal kunne lave opslag på en borgerDer understøttes 3 roller (sundhedsfaglig, transplantationskoordinator, administrator).
Udviklingsmiljø
Source code til NAK findes på
...
git clone https://git.nspop.dk/scm/wec/nsp-administrationsklient.git
Projektet følger GitFlow workflowet og udvikling foregår på udviklingsbranchen 'develop'
git checkout develop
Installer afhængigheder
For at installere afhængigheder navigeres til roden (NAK/)
npm install
Udviklingsserver
Der kan udstilles en udviklingsserver med Docker:
Navigér til roden (NAK/)
NAK bygges til udvikling med kommandoerne, første gang og ved openapi ændringer:
| Code Block |
|---|
npm install
npm run generate:api
docker-compose -f compose/development/docker-compose.yml build --nocache
docker-compose -f compose/development/docker-compose.yml up
|
NAK kan skulle derefter tilgåes kunne tilgås på httphttps://localhost:8080/naf/dev.nadm.dk:8080/nadm/
CI
Jenkins filen beskriver jenkins pipelinen.
NAK docker-compose opsætning skal overholde NSP's husregler.
Single build: https://jenkins.nspop.dk/job/NADM/job/NAK_build/ - Default til develop branch, men kan specificeres under "Build with parameters".
Byg
Kør 'npm run build' for at bygge projektet som produktionsbyg.
Linting
Kør 'npm run lint' for linting, output kommer i konsollen
Test
Kør 'npm run test' for at afvikle unit tests - output vil ligge I coverage/ mappen.
Jasmine anvendes til implementering af tests, og coverage rapport genereres og publiceres med Karma.
Konfigurationen af Karma findes i karma.conf (NAK/karma.conf.js), og er sat op til at køre i Chrome.
TODO: CI test.
Data-model
Facade snitfladen er beskrevet i yaml filer, filerne skal passe med dem i facaden. Der bygges nye snitflader når npm run generate:api bliver afviklet.