Phase 6 (F2): detectDoorVisits() erkennt die drei Anlaesse aus den Detailantworten
(neues per Codeberg-Sync angelegtes Backlog-Ticket, Ticket erreicht "fertig", Ticket
erreicht "done") durch Diff zweier Ticket-Snapshots. office-render.js laesst dafuer
einen "user"-Besucher durch die linke Tuer hereinkommen, zum Board laufen, kurz
interagieren und wieder hinausgehen - unabhaengig vom Daten-Refresh-Takt, damit ein
Besuch auch bei einem zwischenzeitlichen Refresh sauber zu Ende animiert.
Phase 7 (F16): html/mon.html, script.js und styles.css sind entfallen ("kann
entfallen" laut Detailantworten); check_fds.sh/mail_fds.py/status.txt speisen
weiterhin unveraendert den System-Monitor. Unit-Tests fuer die neue Tuer-Logik
ergaenzt (weiterhin 100% Line-Coverage, node --test). E2E-Tests bleiben bewusst
ausserhalb dieser Phase.
Ausserdem: update.sh (holt die neueste Version vom konfigurierten Git-Remote und
faehrt die Docker-Compose-Entwicklungsumgebung hoch) und register-agent.sh
(Hilfsskript zur Agenten-Registrierung per API) ergaenzt.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
58 lines
2.7 KiB
Markdown
58 lines
2.7 KiB
Markdown
# 🖥️ monitor
|
|
|
|
**monitor** überwacht mehrere Systeme (per Ping und/oder per REST-API-Meldungen entfernter
|
|
Agenten) und zeigt den Zustand als interaktive **Büro-Visualisierung** (Kanban-Board +
|
|
Monitor-Wand mit Agenten an Schreibtischen).
|
|
|
|
Der vollständige Umbauplan steht in [Visualization.md](Visualization.md) (Roadmap Phase 0-7),
|
|
die dazugehörigen Klärungen in [Detailfragen.md](Detailfragen.md) und
|
|
[Detailantworten.md](Detailantworten.md).
|
|
|
|
---
|
|
|
|
## 🚀 Features
|
|
|
|
- REST-API (`api/`, siehe [API.md](API.md)) für Tickets, Events, Systeme, KPIs und
|
|
Agenten-Aktivität, mit statischen API-Keys pro Agent
|
|
- Büro-Visualisierung (`html/office.html`) als Vanilla-SVG-Szene: Kanban-Board, Monitor-Wand
|
|
(Events/Systeme/KPIs), 8 Schreibtische - zeigt live die Daten aus der REST-API (Push per
|
|
Server-Sent Events, Polling-Fallback), Klick auf Board/Monitore öffnet Detail-Modals,
|
|
Agenten laufen animiert zwischen Schreibtisch/Board/Monitor-Wand/Kaffee-Ecke (Phase 3-5,
|
|
siehe Visualization.md Abschnitt 9). Ist die API nicht erreichbar, zeigt die Szene
|
|
ersatzweise Demo-Daten.
|
|
- Weiterhin: klassische Ping-Überwachung (`check_fds.sh`, `hosts.conf`, `mail_fds.py`) als
|
|
eine Datenquelle für den System-Monitor; die alte tabellarische Statusseite ist mit
|
|
Phase 7 entfallen (F16), `status.txt` speist weiterhin den System-Monitor
|
|
|
|
---
|
|
|
|
## 📁 Projektstruktur
|
|
|
|
- `api/` — REST-API (PHP, SQLite), siehe [api/README.md](api/README.md)
|
|
- `html/` — Frontend: `office.html` (Büro-Visualisierung), `js/`, `css/`
|
|
- `tests/frontend/` — Node-Tests für die Frontend-Layoutlogik (`node --test`)
|
|
- `check_fds.sh`, `mail_fds.py`, `hosts-sample.conf` — bestehende Ping-Überwachung
|
|
- `docker-compose.yml` — komplette Entwicklungsumgebung (siehe unten)
|
|
- `update.sh` — holt die neueste Version vom konfigurierten Git-Remote und aktualisiert die
|
|
Docker-Compose-Umgebung (Abhängigkeiten, Images, Dienste, Tests)
|
|
- `register-agent.sh` — Hilfsskript, um einen neuen Agenten per `POST /api/v1/agents` zu
|
|
registrieren (siehe [API.md](API.md) Abschnitt "Agenten")
|
|
|
|
---
|
|
|
|
## 🐳 Entwicklung (nur Docker, kein lokales PHP/Node nötig)
|
|
|
|
Analog zum NC-Gantt-Projekt läuft die gesamte Ausführung (Bauen, Entwickeln, Testen) in
|
|
Docker-Compose-Containern; auf dem Host muss nichts installiert werden.
|
|
|
|
```bash
|
|
cp .env.example .env # einmalig, MONITOR_ADMIN_API_KEY anpassen
|
|
|
|
docker compose up --build # API auf :8091, Buero-Visualisierung auf :8090
|
|
docker compose run --rm api composer test # PHPUnit (API)
|
|
docker compose run --rm frontend # Node-Tests (Frontend-Layoutlogik)
|
|
```
|
|
|
|
Details zur API: [api/README.md](api/README.md). Details zu den Endpunkten: [API.md](API.md).
|
|
|
|
|