MikaList/game_collection/README.md

2.9 KiB

Game Collection API

Dies ist ein Backend mit Flask, das eine Sammlung von Spielen verwaltet und eine SQLite-Datenbank verwendet.

Endpunkte

1. Spiele hinzufügen

  • URL: /games
  • Method: POST
  • Body:
    {
        "image": "URL zum Bild",
        "title": "Titel des Spiels",
        "date": "Kaufdatum (YYYY-MM-DD)",
        "buyer": "Name des Käufers",
        "owned": true/false
    }
    
  • Antwort:
    • Status 201: Spiel erfolgreich hinzugefügt.
    • Beispiel:
      {
          "message": "Game added!"
      }
      

2. Alle Spiele abrufen

  • URL: /games
  • Method: GET
  • Antwort:
    • Status 200: Liste aller Spiele.
    • Beispiel:
      [
          {
              "id": 1,
              "image": "URL zum Bild",
              "title": "Titel des Spiels",
              "date": "Kaufdatum",
              "buyer": "Name des Käufers",
              "owned": true
          }
      ]
      

3. Benutzer erstellen

  • URL: /users
  • Method: POST
  • Body:
    {
        "username": "Benutzername",
        "password": "Passwort",
        "role": "user/admin"  # Optional, Standard ist 'user'
    }
    
  • Antwort:
    • Status 201: Benutzer erfolgreich erstellt.
    • Beispiel:
      {
          "message": "User created!"
      }
      

4. Benutzeranmeldung

  • URL: /users/login
  • Method: POST
  • Body:
    {
        "username": "Benutzername",
        "password": "Passwort"
    }
    
  • Antwort:
    • Status 200: Anmeldung erfolgreich.
    • Beispiel:
      {
          "message": "Login successful!",
          "role": "user/admin"
      }
      
    • Status 401: Ungültige Anmeldedaten.
    • Beispiel:
      {
          "message": "Invalid credentials!"
      }
      

5. Alle Benutzer abrufen

  • URL: /users
  • Method: GET
  • Antwort:
    • Status 200: Liste aller Benutzer.
    • Beispiel:
      [
          {
              "id": 1,
              "username": "Benutzername",
              "role": "user/admin",
              "last_login": "2023-10-01 12:00:00"
          }
      ]
      

Installation

  1. Klone das Repository.
  2. Installiere die Abhängigkeiten:
    pip install -r requirements.txt
    
  3. Starte die Anwendung:
    python app.py
    

Lizenz

Dieses Projekt ist lizenziert unter der MIT-Lizenz.

Datenbankstruktur

Die Datenbank enthält zwei Tabellen: games und users. Die users-Tabelle hat die folgenden Spalten:

  • id: Eindeutige Benutzer-ID
  • username: Eindeutiger Benutzername
  • password: Passwort des Benutzers (verschlüsselt gespeichert)
  • role: Rolle des Benutzers (user oder admin)
  • last_login: Zeitstempel der letzten Anmeldung

Standardbenutzer

Beim Erstellen der Datenbank wird ein Standardbenutzer mit dem Benutzernamen "admin" und dem Passwort "admin" erstellt. Das Passwort wird verschlüsselt gespeichert.