From 483386b2b1ae5689dca0cc412224153ba92e67a7 Mon Sep 17 00:00:00 2001 From: Thomas Dannenberg Date: Wed, 15 Oct 2025 21:57:53 +0000 Subject: [PATCH] README.md aktualisiert --- README.md | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 73 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4e7834b..8d99bd2 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,74 @@ -# Multichat +# 🦉 Multichat +Zentraler Multiplattform-Chatserver mit lokaler GUI und Plugin-Schnittstelle +## 🧩 Übersicht +**Multichat** ist ein eigenständiges System zur Verwaltung und Anzeige mehrerer Chat-Plattformen in einer Oberfläche. +Es ermöglicht das gleichzeitige Empfangen und Senden von Nachrichten über **Twitch**, **YouTube**, **Kick** und weitere Dienste. +Das Projekt besteht aus einem gemeinsamen Code-Kern, einer universellen GUI und zwei Laufzeitvarianten: + +> **Server-Version (LXC / Linux):** +> Dauerhaft laufender Dienst mit Web-GUI und API für externe Tools. + +> **Desktop-Version (Windows / macOS / Linux):** +> Electron-basierte Anwendung mit integrierter GUI, ideal für Streamer ohne Serverumgebung. + +## ⚙️ Aufbau +Die Projektstruktur ist modular aufgebaut, um Server- und Desktop-Variante auf derselben Codebasis zu betreiben. + +``` +core/ +├─ adapters/ → Plattformadapter (Twitch, YouTube, Kick, Generic) +├─ messageHandler/ → Verarbeitung, Parsing und Routing von Chatnachrichten +├─ storage/ → Temporäre Speicherung (Redis / Lokale JSON-Dateien) +├─ api/ → REST- und WebSocket-Schnittstellen +└─ utils/ → Logging, Error Handling, Helper-Funktionen + +gui/ +├─ components/ → UI-Elemente (Chatfenster, Tabs, Einstellungsdialoge) +├─ views/ → Reiter / Seiten (Chat, Verbindungen, Einstellungen) +├─ services/ → Verbindung zur Core-API via WebSocket +└─ assets/ → Icons, CSS, Branding + +server/ +├─ index.js → Einstiegspunkt für Headless-Start +├─ webserver.js → Express-Server für Web-GUI +└─ config.json → Serverkonfiguration (Ports, Tokens, Plattformen) + +desktop/ +├─ main.js → Electron-Main-Prozess +├─ preload.js → Brücke zwischen GUI und Node.js-Core +└─ package.json → App-Metadaten und Build-Skripte + +config/ +├─ connections.yml → Plattform-Logins und Tokens +├─ preferences.yml → GUI-Layout, Sprache, Moderationsoptionen +└─ license.json → Lizenz- und Aktivierungsinformationen +``` + +## 🎛️ Funktionen +- Gleichzeitige Verbindung zu mehreren Plattformen +- Einheitliche Darstellung aller Chats +- Live-Moderation (Clear, Timeout, Mods-Only, Ban) +- Reconnect- und Fehlerhandling +- Plugin-Schnittstelle (WebSocket / API) für **OBS** und **TouchPortal** +- Lizenzmodell: **Light** (Anzeige) und **Premium** (volle Steuerung) +- Erweiterbare Plattformadapter über `core/adapters/` + +## 🧠 Zielsetzung +Ziel ist eine stabile, lokal ausführbare Lösung zur Chatverwaltung für Streamer, +die unabhängig von Cloud-Diensten und externer Software arbeiten möchten. +Alle Daten verbleiben ausschließlich auf der eigenen Instanz oder im lokalen System. +Der modulare Aufbau ermöglicht langfristig auch die Einbindung zusätzlicher Dienste oder APIs. + +## 📦 Lizenz / Versionen +| Variante | Beschreibung | +|-----------|--------------| +| **Light** | Nur Anzeige des Chats (lesend) | +| **Premium** | Voller Funktionsumfang inkl. Verwaltung und Moderation | +| **Server** | Für LXC / Homelab-Installationen | +| **Desktop** | Für Windows / macOS / Linux (Electron) | + +## 🔧 Status +> **Projektphase:** Initialentwicklung (Core-Struktur + Basis-Adapter) +> **Laufzeitumgebung:** Node.js 20 LTS +> **Maintainer:** Thomas Dannenberg \ No newline at end of file