|
1 | 1 | # LocalNetAppChat Szenarien |
2 | 2 |
|
3 | | -Diese Sammlung zeigt praktische Anwendungsbeispiele für LocalNetAppChat. Jedes Szenario demonstriert, wie Sie die verschiedenen Features des Systems nutzen können, um verteilte Anwendungen zu bauen. |
| 3 | +Diese Sammlung zeigt praktische Anwendungsfälle für LocalNetAppChat. Jedes Szenario hat seinen eigenen Ordner mit allen benötigten Dateien. |
4 | 4 |
|
5 | | -## 📚 Verfügbare Szenarien |
| 5 | +## Verfügbare Szenarien |
6 | 6 |
|
7 | | -### 1. [Mathe-Berechnungen mit mehreren Bots](math-calculation-bots.md) |
8 | | -Ein spielerisches Beispiel mit drei Bots: |
9 | | -- Bot 1 generiert zufällige Additionsaufgaben |
10 | | -- Bot 2 berechnet die Ergebnisse |
11 | | -- Bot 3 jubelt bei Ergebnissen > 10 |
| 7 | +### 1. [Math Calculation Bots](math-bots/README.md) |
| 8 | +Ein System mit mehreren Bots, die mathematische Aufgaben generieren, lösen und feiern. |
| 9 | +- **Schwierigkeit**: Einfach |
| 10 | +- **Komponenten**: Emitter, Bot, Listener |
| 11 | +- **Besonderheit**: Vollständige Beispiel-Dateien vorhanden |
12 | 12 |
|
13 | | -**Lerninhalte**: Bot-zu-Bot-Kommunikation, Nachrichtenverarbeitung, Scripting |
| 13 | +### 2. [Distributed Build System](distributed-build/README.md) |
| 14 | +Verteiltes Kompilieren von Projekten über mehrere Maschinen. |
| 15 | +- **Schwierigkeit**: Mittel |
| 16 | +- **Komponenten**: Task-System, Worker-Pool |
| 17 | +- **Besonderheit**: Skalierbar auf viele Worker |
14 | 18 |
|
15 | | -### 2. [Verteiltes Build-System](distributed-build-system.md) |
16 | | -Ein produktionsnahes Build-System mit Task-Verteilung: |
17 | | -- Build Master erstellt Build-Tasks |
18 | | -- Multiple Worker führen Builds parallel aus |
19 | | -- Notification System für Build-Status |
| 19 | +### 3. [Monitoring & Alerting](monitoring-alerting/README.md) |
| 20 | +Überwachung von Servern mit automatischen Benachrichtigungen. |
| 21 | +- **Schwierigkeit**: Mittel |
| 22 | +- **Komponenten**: Emitter, Bot, Alert-Manager |
| 23 | +- **Besonderheit**: Echtzeit-Metriken |
20 | 24 |
|
21 | | -**Lerninhalte**: Task-System, Worker-Pools, Parallelverarbeitung |
| 25 | +### 4. [File Sync & Backup](file-sync/README.md) |
| 26 | +Automatische Dateisynchronisation und Backup-System. |
| 27 | +- **Schwierigkeit**: Fortgeschritten |
| 28 | +- **Komponenten**: File-API, Watcher, Bot |
| 29 | +- **Besonderheit**: Nutzt File-Storage-API |
22 | 30 |
|
23 | | -### 3. [Monitoring und Alerting System](monitoring-alerting-system.md) |
24 | | -Ein umfassendes Monitoring-System: |
25 | | -- Website-Monitoring |
26 | | -- System-Metriken (CPU, RAM, Disk) |
27 | | -- Alert-Management mit Eskalation |
28 | | -- Dashboard und Reporting |
| 31 | +## Struktur |
29 | 32 |
|
30 | | -**Lerninhalte**: Kontinuierliche Überwachung, Metriken-Aggregation, Alert-Handling |
31 | | - |
32 | | -### 4. [Dateisynchronisation und Backup](file-sync-backup.md) |
33 | | -Ein automatisches Backup-System: |
34 | | -- Automatische Datei-Backups |
35 | | -- Versionsverwaltung |
36 | | -- Ordner-Synchronisation zwischen Clients |
37 | | -- Wiederherstellung mit Versionsauswahl |
38 | | - |
39 | | -**Lerninhalte**: File Storage API, Automatisierung, Versionierung |
40 | | - |
41 | | -## 🚀 Schnellstart |
42 | | - |
43 | | -### Voraussetzungen |
44 | | -- LocalNetAppChat Server, Client und Bot installiert |
45 | | -- PowerShell (Windows) oder Bash (Linux/Mac) für Skripte |
46 | | -- Basis-Kenntnisse in Scripting |
47 | | - |
48 | | -### Grundlegende Schritte |
49 | | - |
50 | | -1. **Server starten**: |
51 | | -```bash |
52 | | -LocalNetAppChat.Server --port 5000 --key "YourSecretKey" |
| 33 | +Jedes Szenario hat folgende Struktur: |
53 | 34 | ``` |
54 | | - |
55 | | -2. **Bots einrichten**: |
56 | | -```bash |
57 | | -LocalNetAppChat.Bot --server localhost --port 5000 --key "YourSecretKey" --clientName "Bot1" --scriptspath "./scripts" |
| 35 | +szenario-name/ |
| 36 | +├── README.md # Übersicht und Anleitung |
| 37 | +├── scripts/ # PowerShell-Scripts für Bots |
| 38 | +├── python/ # Python-Scripts für Emitter |
| 39 | +└── config/ # Konfigurationsdateien (optional) |
58 | 40 | ``` |
59 | 41 |
|
60 | | -3. **Client für Interaktion**: |
61 | | -```bash |
62 | | -LocalNetAppChat.ConsoleClient chat --server localhost --port 5000 --key "YourSecretKey" --clientName "Admin" |
63 | | -``` |
| 42 | +## Schnellstart |
64 | 43 |
|
65 | | -## 💡 Tipps für eigene Szenarien |
| 44 | +1. **Wählen Sie ein Szenario** - Empfehlung: [Math-Bots](math-bots/README.md) für Einsteiger |
66 | 45 |
|
67 | | -### 1. Modularität |
68 | | -- Teilen Sie komplexe Aufgaben auf mehrere spezialisierte Bots auf |
69 | | -- Jeder Bot sollte eine klar definierte Aufgabe haben |
| 46 | +2. **Kopieren Sie den Szenario-Ordner** in Ihr Arbeitsverzeichnis |
70 | 47 |
|
71 | | -### 2. Fehlerbehandlung |
72 | | -```powershell |
73 | | -try { |
74 | | - # Ihre Logik |
75 | | -} catch { |
76 | | - Write-Output "/msg AdminBot error: $_ at $(Get-Date)" |
77 | | -} |
78 | | -``` |
| 48 | +3. **Folgen Sie der README** im jeweiligen Szenario-Ordner |
79 | 49 |
|
80 | | -### 3. Logging |
81 | | -- Nutzen Sie strukturierte Nachrichten für einfaches Parsing |
82 | | -- Beispiel: `metric: type=cpu value=45.2 host=server1` |
| 50 | +## Eigene Szenarien erstellen |
83 | 51 |
|
84 | | -### 4. Skalierung |
85 | | -- Verwenden Sie Tags für Task-Routing |
86 | | -- Starten Sie mehrere Worker für Parallelverarbeitung |
| 52 | +### Vorlage für neues Szenario |
87 | 53 |
|
88 | | -### 5. Sicherheit |
89 | | -- Verwenden Sie starke Keys |
90 | | -- Begrenzen Sie Bot-Berechtigungen auf notwendige Skripte |
91 | | -- Validieren Sie alle Eingaben in Ihren Skripten |
| 54 | +1. Erstellen Sie einen neuen Ordner unter `scenarios/` |
| 55 | +2. Fügen Sie eine `README.md` mit folgender Struktur hinzu: |
| 56 | + - Übersicht |
| 57 | + - Komponenten |
| 58 | + - Schnellstart |
| 59 | + - Dateibeschreibungen |
| 60 | + - Erweiterungsmöglichkeiten |
92 | 61 |
|
93 | | -## 🛠️ Erweiterte Konzepte |
| 62 | +3. Organisieren Sie Scripts in Unterordnern: |
| 63 | + - `scripts/` für PowerShell |
| 64 | + - `python/` für Python |
| 65 | + - `config/` für Konfiguration |
94 | 66 |
|
95 | | -### Message Patterns |
| 67 | +### Best Practices |
96 | 68 |
|
97 | | -1. **Request-Response**: |
98 | | -``` |
99 | | -Client: /msg ServiceBot process: data123 |
100 | | -ServiceBot: /msg Client result: processed_data123 |
101 | | -``` |
| 69 | +1. **Keine Unicode-Zeichen** in Scripts verwenden |
| 70 | +2. **Python mit `-u` Flag** für unbuffered Output |
| 71 | +3. **Klare Bot-Namen** verwenden |
| 72 | +4. **Fehlerbehandlung** in allen Scripts |
| 73 | +5. **Dokumentation** für jedes Script |
102 | 74 |
|
103 | | -2. **Publish-Subscribe**: |
104 | | -``` |
105 | | -MonitorBot: CPU Alert: 95% usage on Server1 |
106 | | -(Alle Listener erhalten die Nachricht) |
107 | | -``` |
| 75 | +## Tipps |
108 | 76 |
|
109 | | -3. **Task-Queue**: |
110 | | -``` |
111 | | -Master: /task "Process file" tags:processing |
112 | | -Worker1: (claims task) |
113 | | -Worker1: (processes and completes task) |
| 77 | +### Python Emitter |
| 78 | +```bash |
| 79 | +# Wichtig: -u für unbuffered output! |
| 80 | +LocalNetAppChat.ConsoleClient emitter --command "python -u script.py" |
114 | 81 | ``` |
115 | 82 |
|
116 | | -### Integration mit externen Systemen |
117 | | - |
118 | | -LocalNetAppChat kann als Brücke zwischen verschiedenen Systemen dienen: |
119 | | -- Webhook-Empfänger für GitHub/GitLab |
120 | | -- Slack/Teams Integration |
121 | | -- Datenbank-Monitoring |
122 | | -- Cloud-Service-Integration |
123 | | - |
124 | | -## 📝 Eigene Szenarien entwickeln |
125 | | - |
126 | | -1. **Identifizieren Sie wiederkehrende Aufgaben** in Ihrer Infrastruktur |
127 | | -2. **Definieren Sie klare Schnittstellen** zwischen Komponenten |
128 | | -3. **Implementieren Sie schrittweise** - beginnen Sie einfach |
129 | | -4. **Testen Sie in isolierter Umgebung** bevor Sie produktiv gehen |
130 | | -5. **Dokumentieren Sie Ihre Lösung** für andere Team-Mitglieder |
131 | | - |
132 | | -## 🤝 Beitragen |
133 | | - |
134 | | -Haben Sie ein interessantes Szenario entwickelt? Wir freuen uns über Beiträge! |
| 83 | +### Bot-Kommunikation |
| 84 | +```python |
| 85 | +# Bot-Name muss exakt übereinstimmen |
| 86 | +print(f'/msg BotName exec script.ps1 "parameter"', flush=True) |
| 87 | +``` |
135 | 88 |
|
136 | | -1. Erstellen Sie eine neue Markdown-Datei in diesem Verzeichnis |
137 | | -2. Folgen Sie der Struktur der bestehenden Szenarien |
138 | | -3. Fügen Sie funktionierende Code-Beispiele hinzu |
139 | | -4. Erstellen Sie einen Pull Request |
| 89 | +### PowerShell Scripts |
| 90 | +```powershell |
| 91 | +param([string]$parameter) |
| 92 | +# Immer Parameter validieren |
| 93 | +if ([string]::IsNullOrEmpty($parameter)) { |
| 94 | + Write-Output "Fehler: Parameter fehlt" |
| 95 | + exit 1 |
| 96 | +} |
| 97 | +``` |
140 | 98 |
|
141 | | -## 📚 Weiterführende Ressourcen |
| 99 | +## Beitragen |
142 | 100 |
|
143 | | -- [Server API Dokumentation](../Server/README.md) |
144 | | -- [Client Dokumentation](../Client/README.md) |
145 | | -- [Bot Dokumentation](../Bot/README.md) |
146 | | -- [GitHub Repository](https://github.com/stho32/LocalNetAppChat) |
| 101 | +Neue Szenarien sind willkommen! Bitte: |
| 102 | +1. Erstellen Sie einen eigenen Ordner |
| 103 | +2. Fügen Sie funktionierende Beispiele hinzu |
| 104 | +3. Dokumentieren Sie alle Schritte |
| 105 | +4. Testen Sie auf Windows und Linux |
| 106 | +5. Erstellen Sie einen Pull Request |
0 commit comments