# Info-Board Neu - Erste Test-Checkliste fuer den Entwicklungsrechner ## Ziel Diese Liste beschreibt die ersten sinnvollen Verifikationsschritte auf einem Entwicklungsrechner mit installiertem `go` und optional `make`. ## 1. Tooling pruefen ```bash go version make --version docker --version docker compose version ``` Erwartung: - `go` ist in Version `1.24.x` verfuegbar - `make` ist vorhanden oder die Kommandos werden direkt mit `go` ausgefuehrt ## 2. Repository holen und Status pruefen ```bash git clone git.az-it.net:az/morz-infoboard.git cd morz-infoboard git status ``` Erwartung: - sauberer Working Tree ## 3. Backend bauen Mit Make: ```bash make build-backend ``` Oder direkt: ```bash cd server/backend go build ./... ``` Erwartung: - Build ohne Fehler ## 4. Backend-Tests laufen lassen ```bash cd server/backend go test ./... ``` Erwartung: - Tests fuer `messagewall` und HTTP-Bausteine laufen gruen durch ## 5. Backend lokal starten ```bash cd server/backend go run ./cmd/api ``` Dann pruefen: ```bash curl http://127.0.0.1:8080/healthz curl http://127.0.0.1:8080/api/v1 curl http://127.0.0.1:8080/api/v1/meta ``` Erwartung: - `healthz` liefert `status=ok` - `api/v1` liefert Basisinfos - `api/v1/meta` listet den Tool-Endpunkt auf ## 6. `message_wall`-Resolver testen ```bash curl -X POST http://127.0.0.1:8080/api/v1/tools/message-wall/resolve \ -H 'Content-Type: application/json' \ -d '{ "source": "/media/banner.png", "duration_seconds": 30, "load_timeout_seconds": 15, "on_error": "skip", "layout": { "version": 1, "coordinate_space": { "width": 300, "height": 100, "unit": "grid" }, "fit_mode": "cover", "slots": [ { "slot_id": "wall-r1-c1", "x": 0, "y": 0, "width": 100, "height": 100 }, { "slot_id": "wall-r1-c2", "x": 100, "y": 0, "width": 100, "height": 100 }, { "slot_id": "wall-r1-c3", "x": 200, "y": 0, "width": 100, "height": 100 } ] } }' ``` Erwartung: - valide JSON-Antwort - drei aufgeloeste Szenen mit passenden `crop`-Werten ## 7. Agent bauen Mit Make: ```bash make build-agent ``` Oder direkt: ```bash cd player/agent go build ./... ``` ## 8. Agent-Tests laufen lassen ```bash cd player/agent go test ./... ``` Erwartung: - Konfigurationstest laeuft erfolgreich ## 9. Agent lokal mit Beispielkonfiguration starten ```bash cd player/agent MORZ_INFOBOARD_CONFIG=../config/config.example.json go run ./cmd/agent ``` Erwartung: - Agent startet - Log zeigt Screen-ID, Server-URL, MQTT-Broker und Heartbeat-Ticks ## 10. Compose-Grundgeruest pruefen ```bash docker compose -f compose/server-stack.yml config ``` Optional starten: ```bash docker compose -f compose/server-stack.yml up -d ``` Erwartung: - Compose-Datei ist syntaktisch gueltig - PostgreSQL und Mosquitto starten lokal ## 11. Ansible-Dateien kurz pruefen ```bash ansible-playbook --syntax-check -i ansible/inventory.example.yml ansible/site.yml ``` Erwartung: - Syntax ok ## 12. Falls etwas fehlschlaegt Dann zuerst pruefen: - Go-Version korrekt? - lokale Pfade korrekt? - `MORZ_INFOBOARD_CONFIG` richtig gesetzt? - Port `8080` frei? - Docker/Compose installiert? - Ansible installiert? ## Reihenfolge fuer sinnvolle erste Fehlerbehebung 1. `go test ./...` in `server/backend` 2. `go test ./...` in `player/agent` 3. Backend-Endpunkte per `curl` 4. Agent mit Beispielconfig 5. Compose-Check 6. Ansible-Syntaxcheck