WA.works praksisoppgave
Høst semester 2023
- Lag en webside som viser en tabell av informasjon fra et API online.
1.5. API-kravspesifikasjon:
- Støtte for pagination i api'et
- Støtte for en søk funksjon
- Bonus om api'et har filter / sortering
-
Må kunne sortere hver tabellheader utifra ascending/descending ved trykk.
-
Lett mulighet for filtrering på tabellen.
3.5. Bonus om man bare henter riktig data fra databasen.
- Det skal gå an å gå inn på hvert item for å få mer detaljer om daten.
4.5. Bonus om ekstradata hentes kun når det trengs / skal vises
- Legg til støtte for pagination, gjennom å bruke api'et.
Sett opp ett .NET REST API prosjekt. Dette må kunne koble seg på en PostgreSQL database. Helst med code first logikk, og bruke migrations for å gjøre endringer på databasen. For å snakke med databasen brukes Entity Framework og LINQ.
Legg til filmer i databasen. Dette kan gjøres på følgende 2 måter:
-
Ved å kjøre en migration og legge til dummy data
-
Gjøre ett API kall til API'et fra oppgave 1, og så lagre det i deres egne databasee.
Erstatt API-kallene i oppgave 1, med deres egne kall. API'et skal ha støtte for pagination og alt annet dere har brukt. Nå kan dere også legge til støtte for sortering.
Legg til støtte for å kunne legge til og slette filmer i databasen.
Bonus: Legg gjerne til Swagger i oppgaven, da dette er noe som er veldig vanlig å bruke.
Ettersom vi skulle bruke React i oppgave 1 så har vi valgt å bruke Vite React med Typescript for dette prosjektet.
I oppgave 2 bruker vi C# med dotNET rammeverket, og har PostgreSQL database i en Docker-container.
-
Følgende teknologier må være installert:
- dotNET
- Docker eller Docker Desktop
-
Klon prosjektet:
git clone https://github.com/SindreKjelsrud/Cinemateket.git
-
For å sette opp resten så kan du kjøre:
bash start.sh
Dette setter opp både frontenden og backenden for deg.