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:**
|
|
|
|
- **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"
|
|
|
|
}
|
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
|
|
|
|
- `password`: Passwort des Benutzers
|
|
|
|
- `role`: Rolle des Benutzers (user oder admin)
|
|
|
|
- `last_login`: Zeitstempel der letzten Anmeldung
|