You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: Rapport beskrivelser
+21-5
Original file line number
Diff line number
Diff line change
@@ -107,16 +107,32 @@ Oversikt over frontend-backend-database strukturen.
107
107
Bruk av Javalin for API, PostgreSQL for datalagring og Kotlin for backend.
108
108
109
109
3.2.3 Tekniske utfordringer
110
-
Under utviklingen av URL-forkorteren oppstod utfordringer knyttet til databasehåndtering, autentisering, API-kommunikasjon og responsiv UI-design. For å sikre unike korte URL-er vurderte vi flere genereringsmetoder og implementerte en sjekk i databasen for å hindre duplisering. Autentiseringsløsningen måtte tilpasses tidsbegrensninger, og vi gikk fra OAuth 2.0 til en enklere token-basert løsning før vi senere optimaliserte sikkerheten. Frontend-design møtte utfordringer med responsivitet, som ble løst gjennom iterasjoner med grid-layout og Tailwind CSS. API-feilhåndtering ble forbedret med logging og tydelige statuskoder, mens klikkstatistikk ble implementert ved hjelp av en egen tabell med asynkron oppdatering for å redusere belastningen på databasen.
110
+
Under utviklingen av URL-forkorteren oppstod utfordringer knyttet til databasehåndtering, autentisering,
111
+
API-kommunikasjon og responsiv UI-design. For å sikre unike korte URL-er vurderte vi flere genereringsmetoder og
112
+
implementerte en sjekk i databasen for å hindre duplisering. Autentiseringsløsningen måtte tilpasses tidsbegrensninger,
113
+
og vi gikk fra OAuth 2.0 til en enklere token-basert løsning før vi senere optimaliserte sikkerheten.
114
+
Frontend-design møtte utfordringer med responsivitet, som ble løst gjennom iterasjoner med grid-layout og Tailwind CSS. API-feilhåndtering ble forbedret med logging og tydelige statuskoder,
115
+
mens klikkstatistikk ble implementert ved hjelp av en egen tabell med asynkron oppdatering for å redusere belastningen på databasen.
111
116
112
117
3.3 Utviklingsprosessen
113
-
Backend-utviklingen ble prioritert i tidlig fase for å sikre stabilitet i databasekommunikasjon og API-håndtering før frontend-integrasjon. Vi etablerte en klar systemarkitektur, med PostgreSQL som database og H2 for lokal testing. API-strukturen ble designet for enkelhet og sikkerhet, mens GitHub ble brukt til versjonskontroll med separate grener for utvikling og testing. Frontend-teamet startet utviklingen etter at backend-funksjonaliteten var stabil, noe som muliggjorde raskere testing og iterasjoner. Vi brukte Javalin for API-håndtering og bygde en sømløs frontend-backend-integrasjon.
118
+
Backend-utviklingen ble prioritert i tidlig fase for å sikre stabilitet i databasekommunikasjon og API-håndtering før frontend-integrasjon.
119
+
Vi etablerte en klar systemarkitektur, med PostgreSQL som database og H2 for lokal testing. API-strukturen ble designet for enkelhet og sikkerhet,
120
+
mens GitHub ble brukt til versjonskontroll med separate grener for utvikling og testing. Frontend-teamet startet utviklingen etter at backend-funksjonaliteten var stabil,
121
+
noe som muliggjorde raskere testing og iterasjoner. Vi brukte Javalin for API-håndtering og bygde en sømløs frontend-backend-integrasjon.
114
122
115
123
3.3.1 UI/UX Design og skisser
116
-
For å skape en intuitiv brukeropplevelse utviklet vi tidlige skisser i Figma. Designet fokuserte på enkelhet og tydelig informasjonsstruktur. Tidlige iterasjoner viste behov for forbedret skalering, noe som førte til justeringer i layout, farger og typografi. Designet ble tilpasset NAVs retningslinjer for å sikre god brukervennlighet og tilgjengelighet. Endelige skisser viste forbedringer i struktur, navigasjon og responsivitet sammenlignet med første versjon.
124
+
For å skape en intuitiv brukeropplevelse utviklet vi tidlige skisser i Figma.
125
+
Designet fokuserte på enkelhet og tydelig informasjonsstruktur. Tidlige iterasjoner viste behov for forbedret skalering,
126
+
noe som førte til justeringer i layout, farger og typografi. Designet ble tilpasset NAVs retningslinjer for å sikre god brukervennlighet og tilgjengelighet.
127
+
Endelige skisser viste forbedringer i struktur, navigasjon og responsivitet sammenlignet med første versjon.
117
128
118
129
3.3.1.2 Utvikling av flyten
119
-
Et Use Case-diagram ble utviklet for å tydeliggjøre interaksjonen mellom brukere og systemet. Diagrammet viste hvordan brukere kan generere korte URL-er, mens NAV-ansatte har administrative rettigheter. Et aktivitetsdiagram illustrerte den tekniske arbeidsflyten fra innsending av en lang URL til lagring og henting av korte URL-er i databasen. Dette ga en strukturert oversikt over hvordan systemet håndterer brukernes forespørsler.
130
+
Et Use Case-diagram ble utviklet for å tydeliggjøre interaksjonen mellom brukere og systemet.
131
+
Diagrammet viste hvordan brukere kan generere korte URL-er, mens NAV-ansatte har administrative rettigheter.
132
+
Et aktivitetsdiagram illustrerte den tekniske arbeidsflyten fra innsending av en lang URL til lagring og henting av korte URL-er i databasen.
133
+
Dette ga en strukturert oversikt over hvordan systemet håndterer brukernes forespørsler.
120
134
121
135
3.3.1.3 Databaseutforming
122
-
Databasen ble designet med fokus på effektiv lagring av forkortede URL-er og tilhørende metadata. PostgreSQL ble valgt som primær database, mens H2 ble brukt for testing. Vi implementerte indeksering for raskere oppslag, samt en dedikert tabell for logging av klikk på URL-er. Databaseoppsettet inkluderer tabeller for brukere, forkortede URL-er, klikkstatistikk og systemlogging for å sikre sporing og vedlikehold av data.
136
+
Databasen ble designet med fokus på effektiv lagring av forkortede URL-er og tilhørende metadata. PostgreSQL ble valgt som primær database,
137
+
mens H2 ble brukt for testing. Vi implementerte indeksering for raskere oppslag, samt en dedikert tabell for logging av klikk på URL-er.
138
+
Databaseoppsettet inkluderer tabeller for brukere, forkortede URL-er, klikkstatistikk og systemlogging for å sikre sporing og vedlikehold av data.
0 commit comments