Die Website soll als Portfolio für meine privaten Projekte dienen.
Ich selbst bin kein großer Schreiber, deshalb wird sie automatisch aus meinem Gitlab aufgebaut.
Sie selbst dient auch gleich als Projekt, um meine Kenntnis in Symfony zu erweitern
und mehr Erfahrung mit c# zu bekommen.
Warum C# 😀 siehe.
Alexander Malk E-Mail: alex@guerilla-coding.com
Es gibt derzeit 12 Projekte in 4 Kategorien. Das zuletzt Aktualisierte Project ist ModGallery in der Kategorie Python und es wurde am 02.11.2026 aktualisiert.Es warten z.Zt. noch ca. 1 Projekte eingefügt zu werden.
ModGallery ist eine Web- und Desktop-Anwendung, mit der du Mods für deine Spiele sammeln, organisieren und beschreiben lassen kannst. Statt dutzende Mod-Seiten und Readme-Dateien im Kopf zu behalten, bekommst du eine zentrale Übersicht mit Bildern, Versionen, Abhängigkeiten und einer von einer KI erzeugten Zusammenfassung pro Mod. Die Software wurde vollständig mit KI generiert.



Backend
Frontend
Desktop
ModGallery besteht aus zwei Teilen, die über run.py gemeinsam gestartet werden:
/api/v1, die die SQLite-Datenbank verwaltet und die Mod-/Spiel-Assets (Bilder, Beschreibungen, Versions-ZIPs) auf der Festplatte ablegt.PROVIDER_NEXUS_SECRET mit deinem Nexus Mods API-Key setzen.LLM_OPENROUTER_SECRET mit deinem OpenRouter API-Key setzen.DB_PATH und MODS_DIR setzen, um den Speicherort der SQLite-Datenbank bzw. des Mods-Ordners zu ändern. Ohne diese Variablen werden die Standardpfade im Api-Ordner verwendet (db.sqlite3 und Mods).python run.py
Startet API und Frontend gemeinsam für den produktiven Einsatz. Mit Strg + C beenden.
Ein einzelnes Dockerfile im Projekt-Root baut das Frontend und startet die API zusammen in einem Container. Die API liefert dabei sowohl das gebaute Frontend als auch die /api/v1-Endpunkte über denselben Prozess auf Port 8000 aus.
Image bauen:
docker build -t modgallery .
Container starten (Secrets durch deine eigenen ersetzen):
docker run -d --name modgallery -p 8000:8000 -e PROVIDER_NEXUS_SECRET=dein-nexus-secret -e LLM_OPENROUTER_SECRET=dein-openrouter-secret -v modgallery-mods:/app/Api/Mods -v modgallery-games:/app/Api/Games modgallery
Danach http://localhost:8000 im Browser öffnen.
ModGallery gibt es auch als native Windows-Anwendung auf Basis von Tauri. Das React-Frontend läuft dabei in einem nativen Fenster (WebView2), das Python-Backend wird als gebündelter "Sidecar"-Prozess mitgeliefert - die Endnutzer:innen brauchen also weder Python noch Node noch einen Browser.
Mods-/Games-Ordner werden beim ersten Start neben der .exe angelegt. Die App ist dadurch komplett portabel.%LOCALAPPDATA%\ModGallery, also ohne Administratorrechte.api.json neben der .exe. Sind die gleichnamigen Umgebungsvariablen gesetzt, haben sie weiterhin Vorrang.Die API hat eine automatisierte Testsuite (pytest) unter Api/tests. Sie läuft komplett offline gegen eine SQLite-Wegwerf-Datenbank und temporäre Asset-Ordner, braucht also weder API-Keys noch Internetzugang:
pip install -r Api/requirements-dev.txt
python -m pytest
(ausgeführt mit dem Api-Ordner als Arbeitsverzeichnis).
Die Konfiguration wird in einer SQLite-Datenbank (db.sqlite3) gespeichert, die automatisch beim ersten Start angelegt wird. Die wichtigsten Tabellen:
| Tabelle | Beschreibung |
|---|---|
| games | Die angelegten Spiele, inklusive Farbe und Theme-Bild. |
| categories | Frei vergebbare Kategorien, mit denen Mods getaggt werden können. |
| mods | Die eigentlichen Mods mit Provider, Quelle, verwendeter LLM und Asset-Ordner. |
| mod_games / mod_categories | Verknüpft Mods vielfach mit Spielen bzw. Kategorien. |
| mod_dependencies | Abhängigkeiten zwischen Mods, optional an eine Version gepinnt. |
| mod_versions / mod_images | Hochgeladene Versions-ZIPs bzw. Bilder je Mod. |
| providers | Konfigurierte Provider (z.B. Nexus Mods) samt Secret. |
| llms | Konfigurierte LLMs (Name, URL, Modell, System-Prompt, Secret). |
Mehr Details findest du im Repository unter Api/API.md.