Prakisoppgave hos Wide Assessment høsten 2023
This repository has been archived on 2024-12-07. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
haraldnilsen d4b53e9912 🏗️ structured files for testing
Co-authored-by: Sindre Kjelsrud <kjelsrudsindre@gmail.com>
2023-10-03 10:03:36 +02:00
backend 🏗️ structured files for testing 2023-10-03 10:03:36 +02:00
frontend migrations get automatically applied when running proj 2023-10-03 09:25:38 +02:00
.gitignore 🙈 update gitignore for backend 2023-09-13 09:35:02 +02:00
README.md 📝 Update README 2023-10-02 09:47:48 +02:00

WA.works praksisoppgave

Høst semester 2023

📝 Oppgavetekst

➡️ Oppgave 1

  1. Lag en webside som viser en tabell av informasjon fra et API online.

1.5. API-kravspesifikasjon:

  1. Støtte for pagination i api'et
  2. Støtte for en søk funksjon
  3. Bonus om api'et har filter / sortering
  1. Må kunne sortere hver tabellheader utifra ascending/descending ved trykk.

  2. Lett mulighet for filtrering på tabellen.

3.5. Bonus om man bare henter riktig data fra databasen.

  1. 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

  1. Legg til støtte for pagination, gjennom å bruke api'et.

➡️ Oppgave 2

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:

  1. Ved å kjøre en migration og legge til dummy data

  2. 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år kan dere også legge til støtte for sortering.

Legg til støtte for å kunne legge til og slette filmer i databasen.

Lag en enkel innloggingsside og autentisering på nettsiden.

Bonus: Legg gjerne til Swagger i oppgaven, da dette er noe som er veldig vanlig å bruke.

🏗️ Teknologier

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.

🛠️ Hvordan kjøre lokalt

Frontend

  1. NodeJS må være installert
  2. Klon prosjektet og gå inn i frontend-mappen
    git clone https://github.com/SindreKjelsrud/Cinemateket.git
    cd Cinemateket/frontend
    
  3. Installer nødvendige pakker med: npm install
  4. For å kjøre prosjektet bruk: npm run dev

Backend

  1. Følgende teknologier må være installert:
  2. Klon prosjektet og gå inn i backend-mappen
    git clone https://github.com/SindreKjelsrud/Cinemateket.git
    cd Cinemateket/backend
    
  3. Enten kan du kjøre ./start.sh eller følge stegene under selv:

3.5.1. Først må docker-containeren kjøres med: docker-compose up -d

3.5.2. Deretter start opp backenden med: dotnet run