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
- 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-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.