# Obsidian | RP Plattform **Obsidian** ist ein modernes, webbasiertes Dashboard für Minecraft Roleplay-Server. Es dient als "Immersive Interface" für Spieler und Admins, um Charakterdaten, Inventare, Städte, Organisationen und wirtschaftliche Aktivitäten außerhalb des Spiels darzustellen. Das Projekt zielt darauf ab, die Lücke zwischen In-Game-Geschehen und Web-Präsenz zu schließen, ohne ein komplexes Backend (PHP/Python/Node) zwingend vorauszusetzen. --- ## ✨ Features ### 👤 Bürger & Charakterakten * **Visuelles Inventar**: Darstellung von Items, Rüstung und NBT-Daten in einem Grid-Layout. * **Story-Engine**: Markdown-Rendering für Charakter-Hintergrundgeschichten. * **Identity Linking**: (Mockup) Discord-Login zur Verknüpfung von Spielern mit ihren RP-Charakteren. ### 🏙️ Geopolitik & Organisationen * **Städte-Profile**: Banner, Statistiken (Steuern, Verteidigung), Bewohnerlisten und politische Strukturen. * **Wirtschaftssystem**: Spielergeführte Unternehmen mit integrierten Produkt- und Dienstleistungskatalogen. * **Hierarchie**: Darstellung von Gilden, Firmen und Fraktionen. ### 🛠️ Technische Tools (Simuliert) * **Datapack Generator**: Erstellt automatisch `.mcfunction`-Dateien für den Minecraft-Server, um Daten sicher via "Item-Umbenennung" (Non-OP Input) zu erfassen. * **SQL-Konsole**: Eine simulierte Datenbank-Oberfläche, um SQL-Queries auf den lokalen Datensätzen auszuführen (für Immersion und Admin-Feeling). * **Telemetry Dashboard**: Echtzeit-ähnliche Statistiken über Server-Aktivitäten. --- ## 🚀 Installation & Start Da dieses Projekt auf modernen Web-Standards (ES Modules & React 19 via CDN) basiert, ist **kein Build-Prozess** (kein `npm run build`) zwingend erforderlich, um die Demo zu starten. ### Voraussetzungen * Ein moderner Browser (Chrome, Firefox, Edge). * Ein lokaler Webserver (z.B. VS Code "Live Server", Python `http.server` oder `npx serve`). ### Starten 1. Repository klonen oder herunterladen. 2. Öffne den Ordner im Terminal. 3. Starte einen statischen Server. Beispiel mit Python: ```bash python3 -m http.server 8000 ``` 4. Öffne `http://localhost:8000` im Browser. --- ## ⚙️ Architektur & Datenfluss (Konzept) Obsidian ist als "Serverless"-Viewer konzipiert. In einer echten Produktionsumgebung funktioniert der Datenfluss wie folgt: 1. **Minecraft Server**: Ein Datapack (siehe Generator im Tool) exportiert Inventare und Spielerdaten in JSON-Formate in den Server-Log oder via Plugin. 2. **Sync-Script**: Ein einfaches Shell/Batch-Skript lädt diese JSON-Dateien per FTP auf den Webserver hoch. 3. **Frontend**: Obsidian liest die statischen JSON-Dateien (`fetch('/api/players.json')`) und stellt sie dar. *Aktueller Status:* In dieser Demo-Version werden alle Daten aus `constants.ts` und `MockDatabaseService.ts` geladen, um die Funktionalität ohne echten Server zu demonstrieren. --- ## 🎨 Tech Stack * **Framework**: React 19 (via ESM Imports) * **Styling**: Tailwind CSS (CDN Runtime für Demo / Buildless Setup) * **Icons**: Custom SVG Set (Lucide-Style) * **Type Safety**: TypeScript (JSDoc/Interfaces im Code) --- ## 📸 Projektstruktur * `index.html`: Entry Point & Import Maps. * `App.tsx`: Haupt-Routing und Layout-Logik. * `pages/`: Einzelne Ansichten (Dashboard, Profile, SQL-Manager). * `components/`: Wiederverwendbare UI-Elemente (InventoryGrid, Layout). * `services/`: Simulierte Backend-Logik (Database, Auth). * `constants.ts`: Mock-Daten für Spieler, Städte und Items. --- ## 📄 Lizenz Entwickelt als Konzeptstudie für immersive RP-Communities. Frei verwendbar.