Eine Flask-basierte Webanwendung zur Verwaltung und Analyse von Brettspielen und Spielrunden.
- 📊 Spieler-Statistiken - Verfolge Siege, Niederlagen und Spielverhalten
- 🎮 Spiel-Management - Verwalte Brettspiele mit BGG-Integration
- 📅 Event-Verwaltung - Organisiere Spieleabende
- 📱 Mobile-optimiert - Responsive Design für alle Geräte
- 🔐 Admin-Interface - Verwaltungssystem auf Webinterface
- Python 3.10+
- UV (Python Package Manager)
# Repository klonen
git clone <repository-url>
cd bogan
# Dependencies installieren
uv sync
# virtual environment aktivieren
Windows:
```bash
.venv\Scripts\activateLinux
source .venv/bin/activateuv run ".\bogan\db\update_db.py"uv run flask run# .env Datei aus .env_template erstellen
FLASK_DEBUG=False
SECRET_KEY=your-secret-key
# aktuell wird eine lokale DB verwendet, dann sind nur diese Felder nötig
DB2USE='local'
DB_URL=sqlite:///instance/bogan_app.db
# servereitige DB bitte restl. Felder ausfüllenFür den Zugriff auf das Admin-Interface über ssh:
# Interaktives Script ausführen
uv run python create_admin.py
# Folge den Anweisungen:
# 1. Benutzername eingeben
# 2. Email eingeben (optional)
# 3. Passwort eingeben und bestätigenDas Script bietet folgende Optionen:
- ✅ Neuen Admin-Benutzer erstellen
- ✅ Existierende Admin-Benutzer anzeigen
- ✅ Sichere Passworteingabe
- ✅ Benutzervalidierung
# Alle Admin-Benutzer anzeigen
uv run python create_admin.py
# Dann Option 2 wählen# Stelle sicher, dass du im richtigen Verzeichnis bist
cd /pfad/zu/deiner/bogan-app# Erstelle die Datenbank zuerst
uv run python -c "from bogan.db.models import db; db.create_all()"bogan/
├── bogan/ # Hauptanwendung
│ ├── admin/ # Admin-Interface
│ ├── auth/ # Authentifizierung
│ ├── db/ # Datenbankmodelle
│ ├── main/ # Hauptrouten
│ ├── static/ # CSS, JS, Bilder
│ └── tools/ # Hilfswerkzeuge
├── instance/ # Datenbankdateien
├── logs/ # Log-Dateien
├── tests/ # Tests
├── create_admin.py # Admin-Benutzer erstellen
└── wsgi.py # WSGI Entry Point
- Hauptseite:
http://localhost:3181/ - Login:
http://localhost:3181/auth/login - Admin-Panel:
http://localhost:3181/admin/
Das Admin-Interface bietet:
- 📊 Dashboard - Systemstatistiken und Übersicht
- 👥 Benutzer-Verwaltung - Benutzerrollen verwalten
- 📅 Event-Management - Events erstellen, bearbeiten, löschen
- 💾 Datenbank-Übersicht - Tabelleninhalt anzeigen
- 🔐 Registrierung/Login - Sichere Benutzeranmeldung
- 👤 Profil-Management - Persönliche Daten verwalten
- 🎲 Spiele-Browser - Brettspiele durchsuchen
- 📈 Statistiken - Persönliche Spielstatistiken
- aktuell noch nicht implementiert
-
Umgebung vorbereiten:
# Produktions-Dependencies uv sync --only-prod # Umgebungsvariablen setzen export FLASK_ENV=production export SECRET_KEY=your-production-secret
-
Admin-Benutzer erstellen:
uv run python create_admin.py
-
Webserver starten:
# Mit Gunicorn uv run gunicorn -w 4 -b 0.0.0.0:<port> wsgi:app # Oder direkt mit Flask (nur für Entwicklung) uv run flask run --host=0.0.0.0 --port=8000
Siehe LICENSE Datei für Details.
Bei Problemen oder Fragen:
- 📝 Erstelle ein Issue im Repository
- 📧 Kontaktiere den Entwickler