MikaList/game_collection
2024-09-03 21:14:54 +02:00
..
app.py fix: replace Image.ANTIALIAS with Image.LANCZOS in resize_image function to resolve AttributeError 2024-09-03 14:55:24 +02:00
database.py feat: create default admin user when initializing the database 2024-09-02 10:45:58 +02:00
models.py feat: implement password hashing for user authentication and storage 2024-09-02 10:43:07 +02:00
README.md docs: update README to reflect new features and endpoints 2024-09-03 21:14:54 +02:00
requirements.txt feat: add Pillow to requirements.txt for image resizing functionality 2024-09-03 14:52:17 +02:00
user_management.py feat: add endpoint to change user password with validation for current password 2024-09-03 21:11:02 +02:00

Game Collection API

Dies ist eine Flask-basierte API zur Verwaltung einer Sammlung von Spielen. Die API ermöglicht das Hinzufügen, Abrufen, Bearbeiten und Löschen von Spielen sowie die Benutzerverwaltung.

Endpunkte

Benutzerverwaltung

  • POST /users: Erstellt einen neuen Benutzer (nur für Admins).
  • POST /users/login: Meldet einen Benutzer an und gibt ein JWT-Token zurück.
  • GET /users: Gibt eine Liste aller Benutzer zurück (nur für Admins).
  • PUT /users/int:user_id: Aktualisiert die Informationen eines Benutzers (nur für Admins).
  • DELETE /users/int:user_id: Löscht einen Benutzer (nur für Admins).
  • PUT /users/change_password: Ändert das Passwort des angemeldeten Benutzers. Erfordert das aktuelle Passwort und das neue Passwort.

Spieleverwaltung

  • POST /games: Fügt ein neues Spiel zur Sammlung hinzu. Erfordert ein Bild-URL und den Titel des Spiels.
  • GET /games: Gibt eine Liste aller Spiele in der Sammlung zurück.
  • DELETE /games/int:game_id: Löscht ein Spiel aus der Sammlung.
  • GET /games/search: Sucht nach Spielen basierend auf einem Suchbegriff.

Installation

  1. Klone das Repository:

    git clone <repository-url>
    cd game_collection
    
  2. Installiere die Abhängigkeiten:

    pip install -r requirements.txt
    
  3. Starte die Anwendung:

    flask run
    

Datenbank

Die Anwendung verwendet SQLite zur Speicherung von Benutzern und Spielen. Die Datenbank wird beim ersten Start der Anwendung automatisch erstellt.

Sicherheit

Die API verwendet JWT für die Authentifizierung. Stelle sicher, dass du einen geheimen Schlüssel in deiner Umgebung festlegst, um die Token zu signieren.

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert.