[docs] update README with project overview and add .idea
to .gitignore
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -20,6 +20,8 @@ target/
|
|||||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
||||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||||
|
|
||||||
|
.idea
|
||||||
|
|
||||||
# User-specific stuff
|
# User-specific stuff
|
||||||
.idea/**/workspace.xml
|
.idea/**/workspace.xml
|
||||||
.idea/**/tasks.xml
|
.idea/**/tasks.xml
|
||||||
|
108
README.md
108
README.md
@@ -1,2 +1,108 @@
|
|||||||
# owly_tavern
|
# 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!
|
||||||
|
Reference in New Issue
Block a user