README, DEVELOPMENT und TODO spiegelten noch den Stand vor Ebene 1+2 wider. Checkboxen in TODO von ~18 auf ~70 aktualisiert, drei neue API-Dokumentationsdateien ergänzt. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
87 lines
3.2 KiB
Markdown
87 lines
3.2 KiB
Markdown
# Info-Board Neu
|
|
|
|
Dieses Verzeichnis enthaelt die Planung und spaetere Umsetzung der neuen Info-Board-Plattform.
|
|
|
|
Die Trennung von `/srv/docker/infoboard-netboot` ist sinnvoll, damit:
|
|
|
|
- die bestehende produktive Netboot-Struktur unangetastet bleibt
|
|
- Planung, Prototypen und neue Deployments sauber getrennt sind
|
|
- Server-, Player- und Ansible-Artefakte nicht mit Altbestand vermischt werden
|
|
|
|
## Aktueller Stand
|
|
|
|
- Architekturplan: `PLAN.md`
|
|
- Umsetzungs-Todo: `TODO.md`
|
|
- Datenmodell: `DATENMODELL.md`
|
|
- Schema-Entwurf: `docs/SCHEMA.md`
|
|
- API- und MQTT-Vertrag: `API-MQTT-VERTRAG.md`
|
|
- Technologieentscheidungen: `TECH-STACK.md`
|
|
- Entwicklungsleitfaden: `DEVELOPMENT.md`
|
|
- Erste Dev-Testliste: `docs/TEST-CHECKLIST-DEV.md`
|
|
- Template-/Kampagnenkonzept: `docs/TEMPLATE-KONZEPT.md`
|
|
- `layout_json` fuer `message_wall`: `docs/LAYOUT-JSON.md`
|
|
- Player-Agent-Lifecycle und Health-Modell: `docs/PLAYER-AGENT-LIFECYCLE.md`
|
|
- Erster HTTP-Statuspfad fuer den Player-Agent: `docs/PLAYER-STATUS-HTTP.md`
|
|
- Provisionierungskonzept: `docs/PROVISIONIERUNGSKONZEPT.md`
|
|
- Player-Konzept: `docs/PLAYER-KONZEPT.md`
|
|
- Server-Konzept: `docs/SERVER-KONZEPT.md`
|
|
- Offene Architekturfragen: `docs/OFFENE-ARCHITEKTURFRAGEN.md`
|
|
|
|
## Projektstruktur
|
|
|
|
- `docs/` fuer weitere Architektur- und Betriebsdokumente
|
|
- `server/` fuer Backend, Frontends und Compose-Dateien
|
|
- `player/` fuer Agent, UI und lokale Startlogik
|
|
- `ansible/` fuer Rollen, Inventories und Deployments
|
|
- `compose/` fuer Container-Definitionen und Stack-Bausteine
|
|
- `scripts/` fuer Hilfsskripte
|
|
|
|
## Aktueller Implementierungsstand
|
|
|
|
### Backend (`server/backend/`)
|
|
- Vollstaendiges PostgreSQL-Backend mit Datenbank-Migrations
|
|
- Store-Layer fuer Datenverwaltung
|
|
- REST-API mit Endpunkten:
|
|
- `message_wall` fuer Kampagnenausgabe
|
|
- `player/status` fuer Player-Statusverwaltung
|
|
- `/manage/` API fuer Media-Upload, Playlist-Verwaltung und Vorlagen
|
|
- `/meta` fuer Systemmetadaten
|
|
- HTML-Statusseiten fuer Diagnose
|
|
- Admin-UI mit Medien-Upload und Playlist-Management
|
|
- Tenant-aware Architektur mit Lebenszyklusverwaltung
|
|
|
|
### Player-Agent (`player/agent/`)
|
|
- Funktionaler Go-Agent mit:
|
|
- Selbstregistrierung beim Backend
|
|
- Playlist-Rotation mit Heartbeat
|
|
- Dateibasierter/env-basierter Konfiguration
|
|
- Strukturierte Logs mit journald-Integration
|
|
- Internes Health-Modell fuer Diagnosewerte
|
|
- HTTP-Status-Reporter mit Lebenszyklusstatus
|
|
- MQTT-Integration (optional) mit Authentifizierung
|
|
- Binaries fuer Linux ARM64 vorhanden
|
|
|
|
### Ansible-Automatisierung (`ansible/`)
|
|
- Zwei funktionale Rollen:
|
|
- `signage_player`: Agent-Deployment mit Systemd-Units, Tasks, Templates und Handlers
|
|
- `signage_display`: Display-Kiosk-Setup mit Systemd-Units, Tasks, Templates und Handlers
|
|
- Konfigurierbare Defaults und Host-Variablen
|
|
- Unterstützung für Bildschirm-Setup mit Ansible-Anleitung
|
|
|
|
### Infrastruktur (`compose/`)
|
|
- Docker Compose Setup mit:
|
|
- PostgreSQL-Datenbank
|
|
- Mosquitto MQTT-Broker
|
|
- Backend-Service Integration
|
|
|
|
## Implementierte Features
|
|
|
|
- DB-Migrations und Schema-Management
|
|
- Media-Upload und Speicherverwaltung
|
|
- Playlist-Management und Rotation
|
|
- Player-Registrierung und Status-Tracking
|
|
- Admin-UI für Screensetup
|
|
- Ansible-automatisiertes Deployment auf Raspberry Pi
|
|
- Kiosk-Display-Modus
|
|
- MQTT-basierte Kommunikation
|
|
- HTML-Diagnoseseiten
|