Frontend for visning og behandling av sykmeldinger.
Lever under:
- prod-gcp: https://www.nav.no/syk/sykmeldinger
- dev-gcp: https://www.ekstern.dev.nav.no/syk/sykmeldinger
- dev-gcp (demo): https://sykmeldinger.ekstern.dev.nav.no/syk/sykmeldinger/
Tekniske valg:
- NextJS
- apollo-server for GraphQL API.
- apollo-client for håndtering av fetching og server state.
- zod for validering av "ukjent" data fra diverse API.
- react-testing-library for enhetstesting av enkeltkomponenter.
Data-flyt:
graph TD
browser[Browser] --> apollo
subgraph next[NextJS App]
apollo[Apollo Server] --> gql
gql[GraphQL resolvers] --> ss.ts & fs.ts
end
ss.ts[sykmeldingerService.ts] --> sb
fs.ts[flesService.ts] --> fg
subgraph ext[External Services]
sb[sykmeldinger-backend]
fg[flex-gateway]
end
Siden vi bruker avhengigheter som ligger i GPR, så må man sette opp tilgang til GPR med en PAT (personal access token) som har read:packages
. Du kan opprette PAT her. Dersom du har en PAT som du bruker for tilgang til maven-packages i github kan du gjenbruke denne.
I din .bashrc
eller .zshrc
, sett følgende miljøvariabel:
export NPM_AUTH_TOKEN=<din PAT med read:packages>
Installer avhengigheter, dette trenger du kun å gjøre når avhengigheter endrer seg:
yarn
Kjør appen i utviklingsmodus:
yarn start
Verifisering av appen lokalt:
- kjør lint:
yarn lint
- sjekk typescript:
yarn tsc
- kjør tester:
yarn test
- bygg appen:
yarn build
www.ekstern.dev.nav.no/syk/sykmeldinger kan nås uten naisdevice.
Prosjektet er vedlikeholdt av teamsykmelding
Spørsmål og/eller feature requests? Vennligst lag ein issue.
Dersom du jobber i @navikt kan du nå oss på slack kanalen #team-sykmelding.