2024-09-02 09:07:06 +02:00
# 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
2024-09-02 10:32:59 +02:00
}
]
```
### 3. Benutzer erstellen
- **URL:** `/users`
- **Method:** `POST`
- **Body:**
```json
{
"username": "Benutzername",
"password": "Passwort",
"role": "user/admin" # Optional, Standard ist 'user'
}
```
- **Antwort:**
2024-09-02 11:10:57 +02:00
- **Status 201:** Benutzer erfolgreich erstellt (nur für Administratoren).
2024-09-02 10:32:59 +02:00
- **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"
}
2024-09-02 09:07:06 +02: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.
2024-09-02 10:35:36 +02:00
## Datenbankstruktur
Die Datenbank enthält zwei Tabellen: `games` und `users` . Die `users` -Tabelle hat die folgenden Spalten:
- `id` : Eindeutige Benutzer-ID
- `username` : Eindeutiger Benutzername
2024-09-02 10:48:07 +02:00
- `password` : Passwort des Benutzers (verschlüsselt gespeichert)
2024-09-02 10:35:36 +02:00
- `role` : Rolle des Benutzers (user oder admin)
- `last_login` : Zeitstempel der letzten Anmeldung
2024-09-02 10:48:07 +02:00
## Standardbenutzer
2024-09-02 11:10:57 +02:00
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.