# 🖥️ 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 - aktuell Phase 2 (statisches Layout mit Demo-Daten, siehe Visualization.md Abschnitt 9) - Weiterhin: klassische Ping-Überwachung (`check_fds.sh`, `hosts.conf`, `mail_fds.py`) als eine Datenquelle für den System-Monitor; die alte Tabellenansicht (`html/mon.html`) bleibt bis zur Migration in einer späteren Phase bestehen (F16) --- ## 📁 Projektstruktur - `api/` — REST-API (PHP, SQLite), siehe [api/README.md](api/README.md) - `html/` — Frontend: `office.html` (neue Büro-Visualisierung), `mon.html` (alte Tabellenansicht), `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) --- ## 🐳 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 :8080, Buero-Visualisierung auf :8081 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).