Complete overview of all system features, organized by module.
Modules
| Module | What it does | Language | Platform |
|---|---|---|---|
| Backend API | REST + WebSocket server | TypeScript / Node.js | Debian 12 |
| Control Room UI | Operator panel | Vue.js 3 | Browser (nginx) |
| Flutter App | iPad video player | Dart / Flutter | iPadOS |
| License Key | HMAC key generation | TypeScript / Node.js | Isolated Mac |
| Deploy | Provisioning + deploy | Bash | Mac → Server |
The modules in detail
Backend API (zerolatency-live-player-api)
Fastify + WebSocket API module on port 3002, the only active backend of the system (the legacy olimpico-live-backend has been removed). It manages devices (iPads), streaming links, events and the license, with MongoDB as the database and Swagger UI at /docs.
→ See Backend API
Control Room UI (zerolatency-live-player-regia)
Standalone Vue 3 control room interface (extracted from the legacy Nuxt monolith, now removed), operator dashboard: create/activate/block links, monitor devices and manage streams in real time via WebSocket.
→ See Control Room UI
Flutter App (zerolatency-live-player-app)
DVR/HLS player for iPad tablets with multi-slot support (MAIN/FEED/ALT) and real-time WebSocket. Based on VLCKit (MobileVLCKit) with a custom native VLC player (MethodChannel + direct VLCKit).
→ See Flutter App
License Key (zerolatency-live-player-keygen)
Standalone CLI tool to generate HMAC-SHA256 signed license keys, kept separate from the backend for security: only authorized staff should be able to generate valid keys. The backend only handles validation.
→ See License Keygen
Deploy (zerolatency-live-player-deploy)
Remote provisioning and deploy scripts for Debian 12 servers, multi-tenant: the same script deploys to multiple stadiums/servers (targets) selectable via targets.conf, with nginx, PM2, MongoDB and automatic backups.
→ See Deploy Module
Where to go next
| If you want to… | Go to… |
|---|---|
| Understand the features in detail | Features |
| Prepare the first deploy | Pre-deploy |
| Generate a license key | Generate License Key |
| Distribute the app to iPads | MDM Setup |
| Configure the Apple Developer account | Complete Guide |