1. Indholdsfortegnelse

2. 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

2.1. 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.


2.2. Forudsætninger

Krav til software:

Software

Version

Docker Engine18.02.0+
Maven3.6.3+
Git2.30+
Node16.14.0+
wget1.21+


Udvikler guiden bør kunne afvikles på mac windows og linux.

2.3. Generelt om udviklingsmiljø

Det lokale udviklingsmiljø på projekterne er opsat med docker-compose.

I hvert projekt ligger der en compose mappe, hvori der findes forskellige compose filer til udvikling, test og release.

Det anbefales at følge denne sides rækkefølge under opsætningen.


For at kunne udvikle NADM-NAK bør NADM-NAF være deployeret først i docker.

2.3.1.  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'.

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.

3. 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.

3.1. 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.


Applikationen består af en header og et content-area.

I headeren findes udvalgte oplysninger om fagperson samt den opslåede patient. 

Afhængig af fagpersons rolle vil det være muligt at slå en person op og udføre forskellige 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 borger.



3.2. Udviklingsmiljø 

Source code til NAK findes på

https://git.nspop.dk/scm/wec/nsp-administrationsklient.git

Checkes ud med:

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


3.2.1.  Installer afhængigheder

For at installere afhængigheder navigeres til roden (NAK/)

  1. npm install

3.2.2. 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:

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 skulle derefter kunne tilgås på http://dev.nadm.dk/nadm/login

3.2.3. 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".

3.2.4. Byg

Kør 'npm run build' for at bygge projektet som produktionsbyg.

3.2.5. Linting

Kør 'npm run lint' for linting, output kommer i konsollen

3.2.6.  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.

3.2.7.  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. 



  • No labels