# 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:** ```json { "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:** ```json { "message": "Game added!" } ``` ### 2. Alle Spiele abrufen - **URL:** `/games` - **Method:** `GET` - **Antwort:** - **Status 200:** Liste aller Spiele. - **Beispiel:** ```json [ { "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:** ```json { "username": "Benutzername", "password": "Passwort", "role": "user/admin" # Optional, Standard ist 'user' } ``` - **Antwort:** - **Status 201:** Benutzer erfolgreich erstellt. - **Beispiel:** ```json { "message": "User created!" } ``` ### 4. Benutzeranmeldung - **URL:** `/users/login` - **Method:** `POST` - **Body:** ```json { "username": "Benutzername", "password": "Passwort" } ``` - **Antwort:** - **Status 200:** Anmeldung erfolgreich. - **Beispiel:** ```json { "message": "Login successful!", "role": "user/admin" } ``` - **Status 401:** Ungültige Anmeldedaten. - **Beispiel:** ```json { "message": "Invalid credentials!" } ``` ### 5. Alle Benutzer abrufen - **URL:** `/users` - **Method:** `GET` - **Antwort:** - **Status 200:** Liste aller Benutzer. - **Beispiel:** ```json [ { "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: ```bash pip install -r requirements.txt ``` 3. Starte die Anwendung: ```bash 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 - `role`: Rolle des Benutzers (user oder admin) - `last_login`: Zeitstempel der letzten Anmeldung