No description
Die Szene war auf volle Fensterbreite ausgelegt und lief im normalen Fenstermodus unten aus dem Bild (bei 1440x700 z.B. um 232px). - body als Flex-Spalte ueber die Viewport-Hoehe. Bewusst height statt min-height: nur eine definite Hoehe laesst die prozentualen max-height-Angaben der Szene aufloesen. - #office-scene nimmt die Resthoehe (flex: 1, min-height: 0) und zentriert das SVG. - Das SVG richtet sich an der jeweils knapperen Achse aus - zwei Media-Queries auf 16/9 schalten zwischen hoehen- und breitenbegrenzt um, max-width/max-height sind das Sicherheitsnetz fuer den Grenzbereich (die Header-Hoehe geht in das Verhaeltnis der Szenenflaeche ein, in die Media-Query aber nicht). - Bei knappem Platz weicht der erklaerende Fliesstext im Header. Gemessen in Chromium ueber 1920x1080 bis 500x900: kein Overflow, Seitenverhaeltnis durchgehend exakt 16:9. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| api | ||
| docker/nginx | ||
| html | ||
| tests/frontend | ||
| .env.example | ||
| .gitignore | ||
| API.md | ||
| check_fds.sh | ||
| credentials-sample.conf | ||
| Detailantworten.md | ||
| Detailfragen.md | ||
| docker-compose.yml | ||
| echo | ||
| hosts-sample.conf | ||
| mail_fds.py | ||
| package.json | ||
| README.md | ||
| Visualization.md | ||
🖥️ 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 (Roadmap Phase 0-7), die dazugehörigen Klärungen in Detailfragen.md und Detailantworten.md.
🚀 Features
- REST-API (
api/, siehe 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 Tabellenansicht (html/mon.html) bleibt bis zur Migration in einer späteren Phase bestehen (F16)
📁 Projektstruktur
api/— REST-API (PHP, SQLite), siehe api/README.mdhtml/— 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-Überwachungdocker-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.
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. Details zu den Endpunkten: API.md.