feat: add monitoring dashboard under /monitor/
Status page and JSON API read from private/data; root index.php stays a placeholder. Mark todo 06 done. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,30 +1,35 @@
|
||||
# 06 — Landing Page 0012.de (Status Beacon)
|
||||
# 06 — Status-Dashboard unter `/monitor/`
|
||||
|
||||
**Priorität:** medium
|
||||
**Status:** erledigt (2026-06-12)
|
||||
**Abhängigkeiten:** 03 (liefert `last-checks.json`)
|
||||
**Konzept:** [`../SITE.md`](../SITE.md)
|
||||
|
||||
## Ziel
|
||||
|
||||
Öffentliche, minimale Startseite — Live-Status aus Monitoring-Daten, kein Leer-Domain-Eindruck.
|
||||
Öffentliche, minimale Statusseite unter `/monitor/` — Live-Status aus Monitoring-Daten. Root (`index.php`) bleibt Baustellen-Platzhalter für eine spätere eigenständige Website.
|
||||
|
||||
## Checkliste
|
||||
|
||||
- [ ] `public/index.php` — liest `data/last-checks.json` + `data/boka-status.json`
|
||||
- [ ] Raster: ~12 Kacheln, Farbe nach Status (ok / warn / down)
|
||||
- [ ] boka-Heartbeat-Zeile („last push X min ago“)
|
||||
- [ ] Dark-Theme CSS inline oder eine `assets/style.css`
|
||||
- [ ] Graceful fallback wenn JSON fehlt („Monitoring not initialized“)
|
||||
- [ ] Keine sensiblen Daten (Tokens, interne Fehlerdetails)
|
||||
- [ ] Optional: `public/status.json` read-only API
|
||||
- [ ] Meta: `noindex` erwägen (Ops-Seite, keine SEO)
|
||||
- [x] `public/monitor/index.php` — liest `private/data/last-checks.json` + `boka-status.json`
|
||||
- [x] `config/status-view.php` — gemeinsame Aufbereitung für HTML + JSON
|
||||
- [x] Raster: Kacheln, Farbe nach Status (ok / warn / down)
|
||||
- [x] boka-Heartbeat-Zeile („last push X min ago“)
|
||||
- [x] Dark-Theme CSS inline
|
||||
- [x] Graceful fallback wenn JSON fehlt („Monitoring not initialized“)
|
||||
- [x] Keine sensiblen Daten (Tokens, IPs, interne Test-Targets `_…`)
|
||||
- [x] `public/monitor/status.php` read-only JSON-API (+ `.htaccess` → `status.json`)
|
||||
- [x] Meta: `noindex` (Ops-Seite, keine SEO)
|
||||
|
||||
## Akzeptanzkriterien
|
||||
|
||||
- `https://0012.de/` zeigt aktuellen Status nach Cron-Lauf
|
||||
- `https://0012.de/monitor/` zeigt aktuellen Status nach Cron-Lauf
|
||||
- `https://0012.de/` bleibt unveränderte Baustellenseite
|
||||
- Seite lädt ohne JavaScript
|
||||
- Mobile lesbar
|
||||
|
||||
## Nicht im Scope
|
||||
|
||||
- Monitoring auf `public/index.php`
|
||||
- Blog, CMS, WordPress
|
||||
- Link von Root zur Ops-Seite
|
||||
|
||||
Reference in New Issue
Block a user