Skip to content

Commit

Permalink
Merge pull request #880 from navikt/refaktorering
Browse files Browse the repository at this point in the history
Refaktorering
  • Loading branch information
tordbjorn77 authored Feb 7, 2024
2 parents 37ccd93 + 4d56fd1 commit 816052d
Show file tree
Hide file tree
Showing 118 changed files with 7,225 additions and 47,979 deletions.
18 changes: 18 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
module.exports = {
root: true,
env: { browser: true, es2020: true },
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:react-hooks/recommended',
],
ignorePatterns: ['dist', '.eslintrc.cjs'],
parser: '@typescript-eslint/parser',
plugins: ['react-refresh'],
rules: {
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true },
],
},
}
22 changes: 22 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"env": {
"browser": true,
"es2021": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:react/recommended"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": [
"@typescript-eslint",
"react"
],
"rules": {
}
}
2 changes: 1 addition & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
version: 2
updates:
- package-ecosystem: npm
directory: "/app"
directory: "/src"
schedule:
interval: daily
open-pull-requests-limit: 10
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/beregn-build-and-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
echo "ghcr.io"/"$GITHUB_REPOSITORY"/"bwtestrep" > .docker_image
echo "$(date "+%Y-%m-%d-%H-%M-%S")-$(git rev-parse --short HEAD)" > .docker_tag
- name: Build Docker image
run: "docker build -t $(cat .docker_image):$(cat .docker_tag) -f ./app/Dockerfile ./app"
run: "docker build -t $(cat .docker_image):$(cat .docker_tag) -f ./Dockerfile ./"
- name: Push Docker image
run: "docker push $(cat .docker_image):$(cat .docker_tag)"
- name: Push latest Docker image
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/beregn-environment-build-and-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
echo "ghcr.io"/"$GITHUB_REPOSITORY"/"bwtestrep" > .docker_image
echo "$(date "+%Y-%m-%d-%H-%M-%S")-$(git rev-parse --short HEAD)" > .docker_tag
- name: Build Docker image
run: "docker build -t $(cat .docker_image):$(cat .docker_tag) -f ./app/Dockerfile ./app"
run: "docker build -t $(cat .docker_image):$(cat .docker_tag) -f ./Dockerfile ./"
- name: Push Docker image
run: "docker push $(cat .docker_image):$(cat .docker_tag)"
- name: Push latest Docker image
Expand Down
43 changes: 21 additions & 22 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,26 +1,25 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

/.idea
/target
node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
pensjon-regler-beregn.iml
3 changes: 0 additions & 3 deletions .idea/.gitignore

This file was deleted.

14 changes: 0 additions & 14 deletions .idea/compiler.xml

This file was deleted.

60 changes: 0 additions & 60 deletions .idea/jarRepositories.xml

This file was deleted.

17 changes: 0 additions & 17 deletions .idea/misc.xml

This file was deleted.

6 changes: 0 additions & 6 deletions .idea/vcs.xml

This file was deleted.

18 changes: 18 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# build frontend and server
FROM node:lts-alpine3.19 as build
WORKDIR /.
COPY package.json package-lock.json tsconfig.json tsconfig.node.json vite.config.ts ./
RUN npm ci

COPY /. ./
RUN npm run build
RUN npm run asciidoc

# production environment
FROM nginxinc/nginx-unprivileged:stable-alpine
COPY --from=build /dist /usr/share/nginx/html
COPY --from=build /public/doc /usr/share/nginx/html/doc/
COPY --from=build src/doc/images /usr/share/nginx/html/doc/images
COPY ./config/nginx/nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 8080
CMD ["nginx", "-g", "daemon off;"]
36 changes: 18 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,43 +11,43 @@ For å kjøre appen lokalt må man først installere pakker med kommandoen

`npm i`

i Node kommando vindu etter å ha navigert til
i Node kommando vindu etter å ha navigert til
(repo-location)/pensjon-regler-beregn.

Deretter kan man starte appen lokalt med kommandoen:

`npm run start`
`npm run dev`

Appen vil da åpnes i standard nettleseren på adressen *http://localhost:3000/*
Appen vil da åpnes i standard nettleseren på adressen *http://localhost:5173/*
med mindre denne porten er opptatt (Node vil da finne en annen ledig port)
eller noe annet er spesifisert.

## Struktur
Applikasjonen starter i filen `App.js`, dette er 'roten' for alle komponenter og
Applikasjonen starter i filen `App.tsx`, dette er 'roten' for alle komponenter og
underkomponenter i prosjektet.
Her initialiseres og vises de mest grunnleggende komponentene:
*Header*,*Footer*,*Request Pane* og *Response pane* disse ligger direkte under `/src/components`
Underkomponentene som rendres inne i *Header* ligger i mappen `/src/components/navigation`
Konsollfunksjonen som skriver til *Footer* komponenter ligger under `/src/components/footerconsole`

Underkomponentene som rendres inne i *Header* ligger i mappen `/src/components/navigation`

Konsollfunksjonen som skriver til *Footer* komponenter ligger under `/src/components/ConsoleLog.tsx`

Innholdet i *Request- og ResponsePane* komponentene genereres av en rekursiv algoritme
slik at endringer i modellen ikke trenger å kodes i frontend.
Denne rekursive algoritmen er todelt, først brukes `JsonParser.js` til å identifisere rot-element i
JSON-objektet. Deretter delegeres rendering av rot-elementet til den samsvarende komponent funksjonen.
Inne i komponent funksjonen kalles`JsonParser.js` igjen på alle under-elementer.
Denne rekursive algoritmen er todelt, først brukes `JsonParser.js` til å identifisere rot-element i
JSON-objektet. Deretter delegeres rendering av rot-elementet til den samsvarende komponent funksjonen.
Inne i komponent funksjonen kalles`JsonParser.js` igjen på alle under-elementer.

`JsonParser.js` og alle underkomponentene som bygger opp GUI-modellen ligger i mappen
`src/components/GUIElements`
`JsonParser.js` og alle underkomponentene som bygger opp GUI-modellen ligger i mappen
`src/components/guielements`

## Intern Informasjonsflyt
## Intern Informasjonsflyt

Når en request åpnes via pensjon-regler-logviewer kommer den med en ID i URL'en
Denne ID'en brukes i et api-kall som kjøres med en gang applikasjonen åpnes
og har som hensikt å hente selve responsen i JSON format samt informasjon om
hvilket miljø responsen er fra og hvilken tjeneste som er brukt.
hvilket miljø responsen er fra og hvilken tjeneste som er brukt.

*Request- og ResponsePane* rendres ikke før enten **RUN** eller **ÅPNE** knappene er blitt
trykket da det er disse som gjør api-kallet til pensjon-regler for å konvertere requesten
trykket da det er disse som gjør api-kallet til pensjon-regler for å konvertere requesten
og den tilhørende responsen til en gui-model.
26 changes: 0 additions & 26 deletions app/.gitignore

This file was deleted.

16 changes: 0 additions & 16 deletions app/Dockerfile

This file was deleted.

Loading

0 comments on commit 816052d

Please sign in to comment.