.. | ||
app.py | ||
database.py | ||
models.py | ||
README.md | ||
requirements.txt | ||
user_management.py |
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 (nur für Administratoren).
- 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" } ]
6. Benutzer bearbeiten
- URL:
/users/<user_id>
- Method:
PUT
- Body:
{ "username": "Neuer Benutzername", "role": "user/admin" # Optional }
- Antwort:
- Status 200: Benutzer erfolgreich aktualisiert (nur für Administratoren).
- Beispiel:
{ "message": "User updated!" }
- Status 401: Unbefugter Zugriff.
- Beispiel:
{ "message": "Unauthorized access! Only admins can edit users." }
- Status 404: Benutzer nicht gefunden.
- Beispiel:
{ "message": "User not found!" }
7. Benutzer löschen
- URL:
/users/<user_id>
- Method:
DELETE
- Antwort:
- Status 200: Benutzer erfolgreich gelöscht (nur für Administratoren).
- Beispiel:
{ "message": "User deleted!" }
- Status 401: Unbefugter Zugriff.
- Beispiel:
{ "message": "Unauthorized access! Only admins can delete users." }
- Status 404: Benutzer nicht gefunden.
- Beispiel:
{ "message": "User not found!" }
Installation
- Klone das Repository.
- Installiere die Abhängigkeiten:
pip install -r requirements.txt
- 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-IDusername
: Eindeutiger Benutzernamepassword
: 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. Nur Administratoren können neue Benutzer erstellen.