Files
owlibou_tavern/README.md

109 lines
4.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Owlibou Tavern
Ein flexibles Management-Tool für Tabletop-RPGs (TTRPG), mit dem du Kampagnen-, Welt- und Spieldaten zentral verwaltest. Im Frontend kannst du Daten aus der Datenbank komfortabel anlegen, bearbeiten, importieren und exportieren ideal für Spielleitungen, Weltbauer:innen und Orga-Teams.
## Ziele und Nutzen
- Einheitliche Verwaltung von TTRPG-Daten wie Charaktere, NSCs, Orte, Items, Quests, Regeln und Sessions.
- Datenpflege direkt im Browser mit validierten Formularen und Listenansichten.
- Revisionssichere Änderungen sowie Import/Export für Backups, Systemwechsel oder öffentliche Datenpakete.
- Erweiterbar und systemagnostisch: nutzbar für verschiedene TTRPG-Systeme und Hausregeln.
## Hauptfunktionen (geplant/initial)
- Datenverwaltung
- CRUD für zentrale Entitäten (z. B. Charaktere, Orte, Items, Quests, Sessions)
- Tagging, Relationen und Referenzen (z. B. Item gehört zu Charakter, Quest findet in Ort statt)
- Versionierung/Änderungshistorie (optional)
- Import/Export
- JSON- und CSV-Importe mit Mapping/Validierung
- JSON- und CSV-Exporte (vollständig oder gefiltert)
- Vorlagen für gängige Datenstrukturen
- Qualität und Sicherheit
- Validierungen, Duplikat-Erkennung, Konfliktauflösungen beim Import
- Rollen-/Rechtekonzept für Lesende/Schreibende (optional)
- UX
- Filter, Suche, Sortierung, Paginierung
- Bulk-Aktionen (z. B. Massen-Tagging, Sammellöschung mit Undo)
## Architekturüberblick
- Frontend
- Web-App zur Verwaltung, Visualisierung und zum Import/Export von Daten
- Formulare mit Validierung, Listenansichten, Detailseiten
- API/Backend
- Endpunkte für CRUD, Batch-Operationen, Import/Export und Authentifizierung
- Datenvalidierung serverseitig und konfliktarme Merges bei Importen
- Datenbank
- Relational oder dokumentenorientiert, je nach finalem Design
- Migrationskonzept, Seeds und Beispiel-Datasets
- Authentifizierung/Autorisierung (optional)
- Nutzerkonten, Rollen, API-Tokens
Hinweis: Die konkrete Technologieauswahl kann projektabhängig variieren. Dieses README bleibt bewusst technologie-agnostisch.
## Datenmodell (Beispiel-Ideen)
- Kern-Entitäten: Character, NPC, Location, Item, Quest, Session, Faction, Rule
- Relationen: Character—Item (1:n), Location—Quest (n:m), Session—Participant (n:m)
- Metadaten: Tags, Notizen, Quellenangaben, Zeitstempel, Besitzer:in
## Import/Export
- Formate
- JSON: vollständige Strukturen inkl. Relationen
- CSV: tabellarische Views je Entität
- Import-Workflow
- Vorschau mit Validierungsfehlern und Warnungen
- Mapping-Assistent (z. B. Spaltenzuordnung bei CSV)
- Konflikt-Strategien: Überschreiben, Zusammenführen, Duplikate überspringen
- Export-Workflow
- Auswahl von Entitäten/Filtern, optional Anonymisierung bestimmter Felder
- Versionierte Exporte als Backup
## Entwicklungs-Setup
- Voraussetzungen
- Git, eine aktuelle Laufzeitumgebung für Frontend/Backend, Paketmanager, Datenbank-Server
- Quickstart (generisch)
1. Repository klonen
2. Umgebungsvariablen konfigurieren (z. B. DB-URL, Ports, Auth-Secret)
3. Abhängigkeiten installieren
4. Datenbank migrieren und Seed-Daten einspielen (optional)
5. Entwicklungsserver starten (Frontend und Backend)
- Skripte (Platzhalter)
- start-dev: Startet Frontend und Backend im Watch-Modus
- migrate: Führt Datenbankmigrationen aus
- seed: Spielt Beispiel-/Demo-Daten ein
- test: Führt Tests aus
- build: Erzeugt produktionsfertige Artefakte
Füge konkrete Befehle hinzu, sobald die Technologie-Stacks final sind.
## Deployment (Beispielfluss)
- Konfiguration über Umgebungsvariablen/Secrets
- Datenbank bereitstellen und Migrationen ausführen
- Backend deployen
- Frontend als statische App oder über denselben Server ausliefern
- Optional: Containerisierung und Orchestrierung
## Qualitätssicherung
- Tests: Unit-, Integrations- und E2E-Tests für Import/Export und CRUD
- Linting/Formatting und CI-Pipelines
- Backups: regelmäßige Exporte und DB-Snapshots
## Roadmap (Entwurf)
- M0: Basis-CRUD für zentrale Entitäten, einfache JSON-Exporte
- M1: CSV-Importe mit Mapping + Validierung, Filter/Suche im UI
- M2: Relationen-Management im UI, Konfliktauflösung beim Import
- M3: Rollen/Rechte, Änderungsverlauf, Bulk-Aktionen
- M4: Plugins/Erweiterungen für system-spezifische Felder und Regelwerke
## Beitragen
- Issues eröffnen: Bugreports, Featurewünsche, Fragen
- Pull Requests: Bitte mit kurzer Beschreibung, Repro-Schritten und Tests
- Coding Guidelines: Einheitlicher Stil, aussagekräftige Commits
## Lizenz
- AGPLv3
## Kontakt
- Projektpflege: bitte Kontaktmethode/Team hinzufügen
- Diskussionen/Ideen: Issue-Tracker oder Diskussionsforum verwenden
Viel Spaß beim Bauen deiner TTRPG-Welt mit Owlibou Tavern!