Frontend - søknad for barnetrygd.
- Node versjon >= 20
- NVM (https://github.com/nvm-sh/nvm)
Logg inn på https://npm.pkg.github.com
- På github -> Settings -> Developer Settings -> Generate New Token
Select scopes
repoogread: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>
nvm useyarn installyarn 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 feature brancher går til dev miljøet og master går til produksjon.
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-ba-soknad.. Eks:familie-ba-soknad.ny_toggle - Legg til
activation strategy=byClusterog spesifiserdev-gcpog/ellerprod-gcp(Begge dersom toggelen skal benyttes i begge miljøer)
I kode:
- Gå til fila
typer/feature-toggles.tsog legg til ny toggle i enumenEFeatureToggleog 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-ba-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 derettes 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-ba-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 lagBarnetrygdPdf. Legg inn følgende kode før metoden returnerer:
logger.info(objectMapper.writeValueAsString(barnetrygdSø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 = soknad eller soknad-utvidet, 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-ba-soknad/
Bruk tag scope:familie-ba-soknad for å filtrere på kun exceptions fanget opp av Sentry.ErrorBoundary (dette vil f eks filtrere ut alle exceptions som nav-dokoratøren kaster)