No description
Find a file
2026-05-23 14:56:26 +02:00
backend Stabilize deployed e2e user lookups 2026-04-25 01:19:16 +02:00
frontend Copy Bun install policy into Docker build 2026-05-23 14:56:26 +02:00
.env.example Upgrade speedrun frontend and deployment stack 2026-04-24 23:07:36 +02:00
.gitattributes Removed gitattr 2024-12-07 17:53:56 +01:00
.gitignore Moved compose file to top level and removed duplicate compose file to simplify long term maintenance 2025-10-13 14:51:15 +02:00
bunfig.toml Add Bun supply chain install policy 2026-05-23 14:48:03 +02:00
docker-compose.yml Upgrade speedrun frontend and deployment stack 2026-04-24 23:07:36 +02:00
README.md Fixed inconsistencies 2024-12-13 01:36:52 +01:00

Integrasjonsprosjekt

MVP

Link til fungerende MVP: https://speedrun.hanasand.com

Oversikt

Dette prosjektet er et integrasjonsprosjekt som består av to hoveddeler: en backend-tjeneste og en frontend-brukergrensesnitt. Backend er bygget med Go og tilbyr API-er for funksjoner som brukerpålogging, spillmekanismer og topplister. Frontend er utviklet med React Native og TypeScript, og gir brukergrensesnittet for spillet og relaterte funksjoner.

Prosjektstruktur

Backend

Backend er bygget i Go og tilbyr REST-API-er for:

  • Autentisering
  • Spillhåndtering (starte spill, avslutte spill, hente poengsummer)
  • Topplister
  • Brukerhåndtering Nøkkelfiler:
  • api/: Inneholder API-endepunkter som game.go, leaderboard.go, oauth2.go, server.go og users.go.
  • cmd/main.go: Hovedinngangspunktet for backend-tjenesten.
  • service/: Inneholder tjenester for datalagring, som mongostore.go og redisstore.go.
  • Dockerfile: Definerer containerbildet for backend.
  • docker-compose.yml: Brukes for å sette opp og kjøre tjenesten med Docker Compose.

Frontend

Frontend er bygget med React Native og gir et plattformuavhengig grensesnitt for iOS, Android og web. Den inkluderer funksjoner for:

  • Pålogging og brukerpålogging
  • Spillgrensesnitt og interaksjoner
  • Butikk for kjøp av in-game-elementer
  • Innstillinger og tilpasning
  • Visning av topplister
    Nøkkelfiler:
  • src/: Inneholder kildekoden for forskjellige skjermer som game, login, menu og shop.
  • redux/: Håndterer global tilstandshåndtering ved hjelp av Redux.
  • styles/: Gir globale og skjermspesifikke stiler.
  • utils/: Inneholder hjelpefunksjoner for forskjellige funksjoner.

Forutsetninger

Backend

Docker og Docker Compose
Go 1.18 eller nyere

Frontend

Node.js 16 eller nyere
npm
Expo CLI for å kjøre React Native-prosjektet

Oppsett

Backend

Installer Go-avhengigheter:

cd backend
go mod tidy

Kjør med Docker Compose:

docker-compose up

Backend vil være tilgjengelig på https://speedrun-api.hanasand.com/api.

Frontend

cd frontend

Installer Node.js-avhengigheter:

npm Install
npx expo prebuild

Kjør frontend:

npx expo start

Følg instruksjonene fra Expo for å kjøre på iOS/Android-emulatorer eller på web.