Utvikling av API og databasehåndtering mellom server og klient

Denne sommeren har jeg vært med på utviklingen til «Spillbasert omvendt undervisning». Min deltagelse i prosjektet har vært forbeholdt å utvikle applikasjonen med kodespråkene: javaScript og SQL.

Min primære deltagelse har skjedd mot prosjektets mellomfase og sluttfase i utviklingen av første modul. Mine arbeidsoppgaver har vært å utvikle lagringsmetodene fra bruker-input, game states, databasehåndtering og utvikle API for å koble databasen sammen med spillkoden.

Da jeg fikk tilgang til å delta på prosjektet brukte jeg en del tid på å gå gjennom den eksisterende koden, og fikk oppgaver om å endre små funksjonaliteter. Senere ble arbeidsoppgavene splittet opp mellom meg og en annen student som skulle samarbeide med utviklingen, og jeg fikk back-end utvikling som fokus.
Det var her jeg fikk min første store oppgave om å utvikle API som skulle snakke med PGLite databasen for å håndtere endringer i spillet mellom klient og server.
Å utvikle noe som skal kommunisere mellom server og klient er noe som jeg ikke har gjennomført før, og ble noe ekstra å forholde seg til. Det var her jeg lærte mest om å skrive kode på så robust måte som mulig, for at systemet i sin helhet fungerer. Det var her jeg også lærte om viktigheten av error logging for feilsøking hvis eventuelle feil skulle oppstå.
Min andre oppgave ble å flytte all lagringskode fra JSON preset filer til databasen slik at all lagring skjer på 1 sted på en organisert måte.
Min tredje og siste deltagelse ble å oppdatere databasen til å bruke caching for å lagre spesifik informasjon hos klienter for å redusere belastning på server-forespørsler fra flere brukere på en gang. På denne oppgaven brukte jeg en del av det jeg lærte med API utviklingen for å håndtere oppdatering av klient fra databasen.

Læringsutbyttet for meg har vært enormt, da jeg har fått brukt det jeg har lært i databasefaget i vårsemesteret og sett hvordan database fungerer i helt andre miljøer. Jeg har også fått prøvd meg på API utvikling som jeg skal ha i høst semesteret, samt fått en dypere innføring i å programmere i javaScript.
Å delta i prosjektet «Spillbasert omvendt undervisning» har gitt meg god repitisjon og videreutvikling av mine ferdigheter innenfor programmering, og nyttig erfaring jeg tar med meg videre ut til arbeidslivet.