Frontend - søknad for kontantstøtte.
Dette er en skinnet kopi av barnetrygdsøknaden (kopiert 2.8.22): https://github.com/navikt/familie-ba-soknad ADR-dokument: https://github.com/navikt/familie/blob/master/doc/adr/0008-KS-lager-egen-søknadsdialog-app.md
- Node versjon >=20
- familie-baks-soknad-api (https://github.com/navikt/familie-baks-soknad-api)
Logg inn på https://npm.pkg.github.com
- På github -> Settings -> Developer Settings -> Generate New Token
Select scopes
repo
ogread:packages
- Eksporter miljøvariabel NPM_TOKEN, f.eks ved å legge til
export NPM_TOKEN=<ditt token>
i ~/.zshrc
- Hent development token fra unleash
- Legg til variabelen UNLEASH_SERVER_API_TOKEN i
.env
:UNLEASH_SERVER_API_TOKEN=<ditt token>
yarn install
yarn start:dev
- Kjør opp familie-baks-soknad-api
For å kjøre med mellomlagring må du ha familie-dokument kjørende (https://github.com/navikt/familie-dokument).
Appen bygges hos github actions, og gir beskjed til nais deploy om å deployere appen i gcp. Alle commits til brancher går til dev miljøet, appen er ikke satt opp i produksjon enda.
Tekster hentes fra Sanity. Se repo og Sanity studio
Vi benytter Unleash
for opprettelse av feature toggles i applikasjonen.
I Unleash:
- Gå til https://unleash.nais.io/#/features og opprett ny toggle ved å klikke på pluss-ikonet
- Gi navn på ny toggle med prefix
familie-ks-soknad.
. Eks:familie-ks-soknad.ny_toggle
- Legg til
activation strategy
=byCluster
og spesifiserdev-gcp
og/ellerprod-gcp
(Begge dersom toggelen skal benyttes i begge miljøer)
I kode:
- Gå til fila
typer/feature-toggles.ts
og legg til ny toggle i enumenEFeatureToggle
og registrer navnet på toggelen fra Unleash iToggleKeys
- Dersom toggelen skal defaulte til noe annet enn false må dette legges inn i
defaultFeatureToggleValues
Eks:
// Legg til nye feature toggles her
export enum EFeatureToggle {
NY_TOGGLE = 'NY_TOGGLE',
}
// Definer alle feature toggle keys her
export const ToggleKeys: Record<EFeatureToggle, string> = {
[EFeatureToggle.NY_TOGGLE]: 'familie-ks-soknad.ny_toggle',
};
export type EAllFeatureToggles = Record<EFeatureToggle, boolean>;
// Default verdier som brukes dersom man ikke finner feature toggle i unleash.
export const defaultFeatureToggleValues: EAllFeatureToggles = {
...Object.values(EFeatureToggle).reduce((acc, featureToggle) => {
acc[featureToggle] = false;
return acc;
}, {} as EAllFeatureToggles),
// Dersom noen toggler ikke skal være default false:
...{ [EFeatureToggle.NY_TOGGLE]: true },
};
Toggelen kan deretter tas ibruk på følgende måte:
const { toggles } = useFeatureToggles();
if (toggles.NY_TOGGLE) {
// Kode som kjører dersom NY_TOGGLE er enabled i Unleash
}
Etter at søknaden er sendt inn, vil det genereres en PDF basert på svarene som er gitt. Søknaden går først til familie-baks-soknad-api
før den sendes over til familie-baks-mottak
som forbereder og trigger PDF-generering i familie-dokument
. For å teste hele dette løpet trenger man derfor å kjøre opp alle disse applikasjonene:
familie-ks-soknad
(yarn start:dev
)familie-baks-soknad-api
(KjørLokalLauncher.kt
, seREADME.md
)familie-dokument
(KjørApplicationLocalSoknad.kt
)familie-baks-mottak
(KjørDevLauncherPostgress.kt
, seREADME.md
)
I dev og prod kan man se den genererte PDF'en inne i Gosys, men når man jobber lokalt har vi ingen kobling dit. For å generere og se PDF'en, bruker vi istedenfor debug-breakpoint eller logging i familie-baks-mottak
.
I familie-baks-mottak
, naviger til PdfService.kt
og metoden lagKontantstøttePdf
. Legg inn følgende kode før metoden returnerer:
logger.info(objectMapper.writeValueAsString(kontantstøtteSøknadMapForSpråk + ekstraFelterMap))
Kopier JSON-stringen som logges til konsollen.
Naviger til Swagger-urlen til familie-baks-dokgen
: http://localhost:5914/swagger-ui/index.html og finn "download-pdf" endepunktet. Her velger man "Try it out" og fyller inn templateName = kontantstotte-soknad
, limer inn den kopierte JSON-stringen i Request body
og trykker "Execute". Det vil da dukke opp en "Download now" lenke du kan trykke på for å se den genererte PDF'en.
Applikasjonens tilgjengelighetserklæring ligger lagret som filen UU-rapport.json
og kan åpnes og redigeres i verktøyet WCAG-EM Report Tool. For mer informasjon om tilgjengelighetserklæring se Aksel.
Ved spørsmål knyttet til koden eller prosjektet opprett en issue.
Interne henvendelser kan sendes via Slack i kanalen #team-familie.
https://sentry.gc.nav.no/nav/familie-ks-soknad/
Bruk tag scope:familie-ks-soknad
for å filtrere på kun exceptions fanget opp av Sentry.ErrorBoundary (dette vil f eks filtrere ut alle exceptions som nav-dokoratøren kaster)