Skip to content

# 🛠 Databas & Modeller – Migrationer och relationer #20

Closed
@jhelgodt

Description

@jhelgodt

đź›  Issue 1: Databas, Eloquent Modeller, Controllers & Routes

đź“ť Beskrivning

Vi behöver skapa migrationer, modeller, controllers och routes för att hantera användare, spel, recensioner och listor enligt vårt ER-diagram. Målet är att kunna skapa, läsa, uppdatera och radera objekt i databasen via våra webbroutes.

âś… Uppgifter

🔹 1. Skapa migrationer för:

  • games
  • reviews
  • lists
  • game_list (pivot-tabell mellan games och lists)
  • users

🔹 2. Definiera relationer i Eloquent-modellerna:

  • User har mĂĄnga reviews och lists.
  • Review tillhör User och Game.
  • List tillhör User och har mĂĄnga games genom game_list.
  • Game kan ha mĂĄnga reviews och kan finnas i mĂĄnga lists genom game_list.

🔹 3. Uppdatera befintliga controllers & skapa nya

Vi har redan GameController och GenreController, men vi behöver mer funktionalitet samt fler controllers:

GameController

  • âś… Visa alla spel
  • âś… Sök pĂĄ spel
  • âž• Skapa ett nytt spel (admin)
  • âž• Uppdatera ett spel (admin)
  • âž• Ta bort ett spel (admin)

GenreController

  • âś… Visa alla genrer
  • âś… Visa alla spel inom en genre

ReviewController (Ny)

  • âž• Skapa en recension (inloggad användare)
  • âž• Redigera en recension (inloggad användare, bara egna recensioner)
  • âž• Ta bort en recension (inloggad användare, bara egna recensioner eller admin)
  • âž• Visa alla recensioner för ett spel

ListController (Ny)

  • âž• Skapa en lista (inloggad användare)
  • âž• Lägg till och ta bort spel frĂĄn en lista
  • âž• Redigera en lista
  • âž• Radera en lista
  • âž• Visa en användares listor

UserController (Ny)

  • âž• Visa användarprofil
  • âž• Visa en användares recensioner
  • âž• Visa en användares listor
  • âž• Ta bort en användare (admin)

🔹 4. Skapa webbroutes

Lägg till routes i web.php för alla controllers. Routes ska följa denna struktur:

Inloggning & autentisering (Breeze hanterar)

/login
/logout
/register
/password/reset

Spel & recensioner

/game/{game_id}
/game/{game_id}/reviews

Användarprofiler & listor

/user/{user_id}
/user/{user_id}/lists
/user/{user_id}/reviews

Genrer

/genre/{genre}

Adminpanel

/admin/login
/admin/dashboard
/admin/users
/admin/games
/admin/reviews

🔹 5. Testa och verifiera

  • Se till att php artisan migrate körs utan fel.
  • Skapa en seeder för att fylla databasen med testdata.
  • Testa alla routes manuellt i webbläsaren och/eller Postman.

🔹 6. Kommunikation med Breeze-teamet

  • När users-tabellen är klar med isAdmin, meddela autentiseringsteamet sĂĄ att de kan använda det i sin logik.
  • Se till att adminroutes är skyddade sĂĄ att bara admins kan använda dem.

⏳ Deadline

🗓 Måndag 2025-02-03 (innan nästa veckomöte).


🔄 Nästa steg

  • När migrationerna och modellerna är klara, meddela Breeze-teamet.
  • Se till att CRUD-funktionaliteten fungerar och att routes returnerar korrekt data.
  • Förbered backend för att kopplas till front-end.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions