Skip to content

Commit fd8576c

Browse files
stho32claude
andcommitted
refactor: reorganize scenarios into structured directories
- Created separate directories for each scenario with scripts/ and python/ subdirs - Moved math-bots quickstart into scenario folder - Removed Unicode symbols from all Python examples - Added complete example files for math-bots scenario - Updated all README references to new structure - Added best practices and tips to main scenarios README Each scenario now has: - README.md with overview and instructions - scripts/ folder for PowerShell scripts - python/ folder for Python scripts - All necessary files ready to use 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent b528225 commit fd8576c

21 files changed

+409
-1368
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ Usage Scenarios include:
4242

4343
- [CI/CD-Pipeline](./docs/usage-cicd-pipeline.md)
4444
- [Central Log](./docs/usage-central-log.md)
45-
- [Math Calculation Bots](./docs/scenarios/math-calculation-bots.md)
46-
- [Distributed Build System](./docs/scenarios/distributed-build-system.md)
47-
- [Monitoring & Alerting](./docs/scenarios/monitoring-alerting-system.md)
48-
- [File Sync & Backup](./docs/scenarios/file-sync-backup.md)
45+
- [Math Calculation Bots](./docs/scenarios/math-bots/README.md)
46+
- [Distributed Build System](./docs/scenarios/distributed-build/README.md)
47+
- [Monitoring & Alerting](./docs/scenarios/monitoring-alerting/README.md)
48+
- [File Sync & Backup](./docs/scenarios/file-sync/README.md)
4949
- [More Scenarios...](./docs/scenarios/README.md)
5050

5151
## Features

Requirements/R011 Emitter Mode.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ Statt eines Bots mit Script kann ein einfacher Emitter verwendet werden:
5858
```bash
5959
# generator.exe gibt alle 3 Sekunden eine Aufgabe aus
6060
client.exe emitter --server localhost --port 8080 --command "generator.exe"
61+
62+
# Für Python-Scripts: Wichtig ist das -u Flag für unbuffered output!
63+
client.exe emitter --server localhost --port 8080 --command "python -u generator.py"
6164
```
6265

6366
generator.exe:

docs/scenarios/README.md

Lines changed: 78 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -1,146 +1,106 @@
11
# LocalNetAppChat Szenarien
22

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.
44

5-
## 📚 Verfügbare Szenarien
5+
## Verfügbare Szenarien
66

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
1212

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
1418

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
2024

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
2230

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
2932

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:
5334
```
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)
5840
```
5941

60-
3. **Client für Interaktion**:
61-
```bash
62-
LocalNetAppChat.ConsoleClient chat --server localhost --port 5000 --key "YourSecretKey" --clientName "Admin"
63-
```
42+
## Schnellstart
6443

65-
## 💡 Tipps für eigene Szenarien
44+
1. **Wählen Sie ein Szenario** - Empfehlung: [Math-Bots](math-bots/README.md) für Einsteiger
6645

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
7047

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
7949

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
8351

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
8753

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
9261

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
9466

95-
### Message Patterns
67+
### Best Practices
9668

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
10274

103-
2. **Publish-Subscribe**:
104-
```
105-
MonitorBot: CPU Alert: 95% usage on Server1
106-
(Alle Listener erhalten die Nachricht)
107-
```
75+
## Tipps
10876

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"
11481
```
11582

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+
```
13588

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+
```
14098

141-
## 📚 Weiterführende Ressourcen
99+
## Beitragen
142100

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

Comments
 (0)