... | ... | @@ -2,7 +2,7 @@ |
|
|
Servertjenester opfatter en rekke oppgaver, fra levering av nettsider og e-post til lagring og administrasjon av filer eller kjøring av applikasjoner (Monteclaro, Allan J, 2023). Disse serverne fungerer på en klient-server-modell, der klienter ber om spesifikke tjenester eller ressurser, og serveren svarer på disse forespørslene.
|
|
|
|
|
|
## Databaseserver
|
|
|
Dette prosjektet bruker en MySQL database for lagring av data. Her lagres både data til mock banken og sparesti sine egne tabeller. Se [ER-diagramet](https://gitlab.stud.idi.ntnu.no/scrum_team_3/idatt2106_2024_03_backend/-/wikis/Databasemodell) for database oppsett. Databasen er deployert på en virtuel maskin hostet av NTNU Trondheim. Prosjektet er satt til å benytte denne databasen ved standard, men har også mulighet til å kjøre databasen lokalt. Se [installasjosnguiden](https://gitlab.stud.idi.ntnu.no/scrum_team_3/idatt2106_2024_03_backend/-/wikis/Installasjon) for å endre til lokal database. JPARepository-modulen, støttet av Hibernate, benyttes i backend for å utføre spørringer mot databasen. Hibernate gjør det enklere å utføre databaseoperasjoner ved å tilby objekt-relasjonell mapping og automatisk håndtering av SQL-spørringer (Hibernate.org, 2024).
|
|
|
Dette prosjektet bruker en MySQL database for lagring av data. Her lagres både data til mock banken og sparesti sine egne tabeller. Se [ER-diagramet](Databasemodell) for database oppsett. Databasen er deployert på en virtuel maskin hostet av NTNU Trondheim. Prosjektet er satt til å benytte denne databasen ved standard, men har også mulighet til å kjøre databasen lokalt. Se [installasjosnguiden](Installasjon) for å endre til lokal database. JPARepository-modulen, støttet av Hibernate, benyttes i backend for å utføre spørringer mot databasen. Hibernate gjør det enklere å utføre databaseoperasjoner ved å tilby objekt-relasjonell mapping og automatisk håndtering av SQL-spørringer (Hibernate.org, 2024).
|
|
|
|
|
|
## Webserver
|
|
|
For backend brukes Spring Boot rammeverk for å kjøre en localhostet server med standard port 8080. Frontend benytter Node.js for å starte klienten lokalt. Frontend (klient) og backend (server) kommuniserer via HTTP-protokollen. Der frontend sender HTTP-forespørsler til backend som behandler forespørselen og sender et svar tilbake. Webserveren (backend) er satt opp med kontroller klasser som definerer endepunktene klienter (frontend) kan koble seg til. Se [swagger](likb) for dokumentasjon av endepunkter. Applikasjonen bruker token autentisering ved hjelp av JWT-tokens, auth0 og spring-security.
|
... | ... | @@ -10,10 +10,10 @@ For backend brukes Spring Boot rammeverk for å kjøre en localhostet server med |
|
|
> Applikasjonen benytter ikke krypterte HTTP-forespørsler. Vær obs på at data sendes i klartekst mellom klient og server, og er derfor ikke passende for sensitiv data overføringer i nåværende versjon.
|
|
|
|
|
|
## Docker
|
|
|
Applikasjonens backend kan kjører ved hjelp av Docker. Dette muliggjør enkel og forutsigbar kjørring av prosjektet uten ytterligere nødvendigheter enn Docker. [Installasjonsguiden](https://gitlab.stud.idi.ntnu.no/scrum_team_3/idatt2106_2024_03_backend/-/wikis/Installasjon) viser både hvordan programmet kan kjøres via en Docker container, men også instruksjoner for kjøring uten Docker. Den lokale databasen kjøres også ved hjelp av en Docker container.
|
|
|
Applikasjonens backend kan kjører ved hjelp av Docker. Dette muliggjør enkel og forutsigbar kjørring av prosjektet uten ytterligere nødvendigheter enn Docker. [Installasjonsguiden](Installasjon) viser både hvordan programmet kan kjøres via en Docker container, men også instruksjoner for kjøring uten Docker. Den lokale databasen kjøres også ved hjelp av en Docker container.
|
|
|
|
|
|
## Swagger
|
|
|
Verktøyet swagger benyttes for å holde oversikt over API endepunktene for prosjektet. Se [installasjonsguiden](https://gitlab.stud.idi.ntnu.no/scrum_team_3/idatt2106_2024_03_backend/-/wikis/Installasjon) for fremgangsmåte for å se oversikt over endepunktene.
|
|
|
Verktøyet swagger benyttes for å holde oversikt over API endepunktene for prosjektet. Se [installasjonsguiden](Installasjon) for fremgangsmåte for å se oversikt over endepunktene.
|
|
|
|
|
|
## Ressurser
|
|
|
- Databasemodell: https://gitlab.stud.idi.ntnu.no/scrum_team_3/idatt2106_2024_03_backend/-/wikis/Databasemodell
|
... | ... | |