---
# System prepended metadata

title: Lkautioeuwiotu MVP

---

# Lkautioeuwiotu MVP

https://jamboard.google.com/d/1q_tQNqZ3C9jhqBR1KmdXCEY0nAiqogwd_XvR7YsTr64/viewer?f=0

### Datenstrukturen

```js=
// Player.ts
{
    id: string;
    name: string;
}

// GameRole.ts
enum {
    HOST,
    PLAYER,
}

// GameState.ts
enum {
    LOBBY,
    RUNNING,
}

// Game.ts
{
    id: string;
    players: string[];
    roles: Map<string, GameRole>;
    state: GameState;
    createdAt: number;
    updatedAt: number;
    gameData?: object;
}
```

### GameMaster

- `POST` /games
  Registriert ein neues Game
- `DELETE` /games/:id
  Entfernt ein Game
- `GET` /games
  Listet alle Games auf
- `GET` /games/:id
  Holt Information eines bestimmten Spiels
- `POST` /games/:id/players
  Fügt einen Spieler zu dem Game hinzu
- `DELETE` /games/:id/players/:id
  Entfernt den Spieler aus dem Game
- `PUT` /games/:id/state
  Aktualisiert den Status des Games
  
### Hangman

```js=
// HangmanMode.ts
enum {
    DEMOCRACY,
    DEMOCRAZY
}

// HangmanGameData.ts
{
    mode: HangmanMode;
}

```
