2024-09-02 09:07:06 +02:00
# Game Collection API
2024-09-03 21:14:54 +02:00
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.
2024-09-02 09:07:06 +02:00
## Endpunkte
2024-09-03 21:14:54 +02:00
### Benutzerverwaltung
2024-09-02 09:07:06 +02:00
2024-09-03 21:14:54 +02:00
- **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.
2024-09-02 09:07:06 +02:00
2024-09-03 21:14:54 +02:00
### Spieleverwaltung
2024-09-02 09:07:06 +02:00
2024-09-03 21:14:54 +02:00
- **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.
2024-09-02 11:12:54 +02:00
2024-09-02 09:07:06 +02:00
## Installation
2024-09-03 21:14:54 +02:00
1. Klone das Repository:
```bash
git clone < repository-url >
cd game_collection
```
2024-09-02 09:07:06 +02:00
2. Installiere die Abhängigkeiten:
```bash
pip install -r requirements.txt
```
2024-09-03 21:14:54 +02:00
2024-09-02 09:07:06 +02:00
3. Starte die Anwendung:
```bash
2024-09-03 21:14:54 +02:00
flask run
2024-09-02 09:07:06 +02:00
```
2024-09-03 21:14:54 +02:00
## Datenbank
2024-09-02 09:07:06 +02:00
2024-09-03 21:14:54 +02:00
Die Anwendung verwendet SQLite zur Speicherung von Benutzern und Spielen. Die Datenbank wird beim ersten Start der Anwendung automatisch erstellt.
2024-09-02 10:35:36 +02:00
2024-09-03 21:14:54 +02:00
## Sicherheit
2024-09-02 10:35:36 +02:00
2024-09-03 21:14:54 +02:00
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.
2024-09-02 10:48:07 +02:00
2024-09-03 21:14:54 +02:00
## Lizenz
2024-09-02 10:48:07 +02:00
2024-09-03 21:14:54 +02:00
Dieses Projekt ist unter der MIT-Lizenz lizenziert.