diff --git a/README.md b/README.md index c92ca49f..c2f177e0 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,83 @@ -# T02-Project-2 +# Bruk av GitHub -Repository for team IT2810-H26-T02 in IT2810-H26. +Retningslinjer for hvordan vi jobber med Git og GitHub i prosjektet. -## Working in this repository +## Branches -`main` is protected — you cannot push to it directly. Work on a branch and -open a pull request: +All utvikling skjer ut fra `dev`. Hver ny feature eller fiks får sin egen branch, som merges inn i `dev` når vi mener den er ferdig. -```bash -git checkout -b my-feature -git push -u origin my-feature -``` +| Type | Navneformat | Eksempel | +| ------- | ------------------------ | ------------------------ | +| Feature | `feature/navn-på-feature` | `feature/movie-search` | +| Fiks | `fix/navn-på-fix` | `fix/broken-pagination` | + +### Arbeidsflyt + +1. Hent siste versjon av `dev`: + ```bash + git checkout dev + git pull + ``` +2. Opprett en ny branch fra `dev`: + ```bash + git checkout -b feature/navn-på-feature + ``` +3. Gjør endringer og commit (se [Commits](#commits)). +4. Push branchen og opprett en pull request mot `dev`. +5. Merge inn i `dev` når featuren er ferdig. + +## Commits + +- Vi bruker en felles mal for commit-meldinger. +- **Én fil per commit.** Stage og push kun den filen du jobber i: + ```bash + git add sti/til/fil + git commit + ``` + Ikke bruk `git add .` +- Endringer i felles filer som flere er avhengige av, samles i en egen felles commit senere. + +Målet er å unngå at flere jobber i samme fil samtidig, og å holde god oversikt over endringene. + +## Issues + +- Alle issues opprettes med issue-malen. +- Hver issue skal beskrive hva den tar for seg. +- Hver issue skal ha en assignee. +- Hver issue skal ta i bruk tags. + + +# Prosjektet + +## Datasett + +Vi bruker [RAWG-datasettet](https://huggingface.co/datasets/atalaydenknalbant/video-games-dataset) fra Hugging Face, som inneholder data om videospill. + +Datasettet har rundt 900 000 spill, så søk, filtrering og sortering må skje i databasen og ikke på klienten. + +## Arkitektur + +Datasettet lastes ned og importeres i en PostgreSQL-database som kjører på serveren. Klienten henter ikke data direkte fra databasen, men går via et GraphQL-API på serveren. + +## Skisse + +![Skisse av applikasjonen](documents/game-showcase.png) + +[Åpne skissen som PDF](documents/game-showcase.pdf) + + +## Funksjonalitet (planlagt) + +- Søk etter spill på navn +- Resultatliste som laster inn flere spill når man scroller +- Detaljside for hvert spill +- Filtrering og sortering, f.eks. på sjanger, plattform, utgivelsesår og rating +- Brukere kan gi spill en vurdering, som lagres i databasen + +## Teknologi + +- **Frontend:** React og TypeScript, satt opp med Vite +- **Backend:** GraphQL-server i Node og TypeScript +- **Database:** PostgreSQL på gruppas VM -Before a pull request can be merged: -1. **A member of IT2810-H26-T02 must approve it.** You cannot approve your own pull - request, and approvals from staff do not count — you review each other's - code. -2. **Every review comment must be marked resolved.** Reply to each one, fix it - or explain why not, then click *Resolve conversation*. -3. **Pushing new commits dismisses the approval**, so if you change something - after being approved, ask for another review. This is deliberate: what was - approved is what gets merged. \ No newline at end of file