Add complete playout service, chat backend, frontend with HLS player and live chat, Docker integration with health checks, updated CHANGELOG and architecture docs

This commit is contained in:
zwitschi committed 2026-08-02 16:43:12 +02:00
1 parent 0785260689
commit 15a2aaa1a1
23 files changed
+2372 -37

No files matched your search

+12 -10
View File
@@ -1,9 +1,9 @@
# ADR-004: Video Admin Web Interface (Upload, Playlist Management, Schedule Overrides)
**Status:** Proposed
**Status:** Accepted
**Date:** 2026-08-02
**Author:** AI Assistant (following AGENTS.md and ADR-002/ADR-003)
**Related ADRs:** [ADR-001](./ADR-001.md), [ADR-002](./ADR-002-module-structure.md), [ADR-003](./ADR-003-tech-stack.md)
**Author:** AI Assistant (following AGENTS.md, ADR-002, ADR-003, ADR-006, ADR-007)
**Related ADRs:** [ADR-001](./ADR-001.md), [ADR-002](./ADR-002-module-structure.md), [ADR-003](./ADR-003-tech-stack.md), [ADR-005](./ADR-005-admin-moderation-analytics.md), [ADR-006](./ADR-006-data-storage.md), [ADR-007](./ADR-007-redis-usage.md)
## Context
@@ -39,16 +39,18 @@ Create a dedicated **admin web interface** in a new `frontend/admin/` directory
**UI Layout**:
- Sidebar navigation (Dashboard, Upload, Playlist, Schedule, Logs).
- Upload page with progress bar, normalization report, and "Add to Playlist" button.
- Playlist page with reorderable list, preview thumbnails, and "Apply to Live" button.
- Live status dashboard showing current segment, next video, and playout health.
- Schedule override form for inserting emergency content.
- Sidebar navigation (Dashboard, Upload, Playlist, Schedule, Moderation (ADR-005), System (Redis/storage config from ADR-007), Logs).
- Upload page with progress bar, normalization report (ffprobe), and "Add to Playlist" button.
- Playlist page with drag-and-drop editor, preview thumbnails, and "Apply to Live" button.
- Schedule override form for inserting emergency content and metadata.
- Live status dashboard showing current segment, next video, playout health, and R2 usage.
- **System Configuration** tab (from ADR-007): View Redis stats (memory, clients, keys), adjust rate limits, TTLs, presence expiry, and storage settings (ADR-006). All changes audited to ModerationLog.
**Folder Placement** (per ADR-002):
- `frontend/admin/` – Admin-specific HTML/JS components.
- `backend/playout/internal/admin/` – API handlers (or new `backend/admin/` service if complexity grows).
- `frontend/admin/` – Admin-specific HTML/JS components (HTMX + Tailwind).
- `backend/admin/` – Dedicated API handlers for validation, playlist updates, and configuration (or extend playout/chat services).
- Protected route in nginx with authentication (JWT or Cloudflare Access).
- Documentation and API specs added to `docs/architecture/`.
## Rationale
@@ -1,9 +1,9 @@
# ADR-005: Web Admin Interfaces for User Management, Moderation, and Analytics
**Status:** Proposed
**Status:** Accepted
**Date:** 2026-08-02
**Author:** AI Assistant (following AGENTS.md, ADR-002, ADR-003, and ADR-004)
**Related ADRs:** [ADR-001](./ADR-001.md), [ADR-002](./ADR-002-module-structure.md), [ADR-003](./ADR-003-tech-stack.md), [ADR-004](./ADR-004-admin-video.md)
**Author:** AI Assistant (following AGENTS.md, ADR-002, ADR-003, ADR-004, ADR-006, ADR-007)
**Related ADRs:** [ADR-001](./ADR-001.md), [ADR-002](./ADR-002-module-structure.md), [ADR-003](./ADR-003-tech-stack.md), [ADR-004](./ADR-004-admin-video.md), [ADR-006](./ADR-006-data-storage.md), [ADR-007](./ADR-007-redis-usage.md)
## Context