mirror of
https://github.com/ceratic/project_vollidioten_website.git
synced 2026-05-14 00:16:47 +02:00
82 lines
3.6 KiB
Markdown
82 lines
3.6 KiB
Markdown
# 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.
|