This section describes how the code is organized and what you need to develop the individual modules.
Requirements
| Tool | Version | Used by |
|---|---|---|
| Node.js | 22+ | Backend API, Keygen, Deploy |
| Flutter | 3.44.4+ | iPad App |
| Dart | 3.12.2+ | iPad App |
| Xcode | 16+ | iOS build (IPA) |
| CocoaPods | — | iOS dependencies |
| MongoDB | 7.0 | Backend (product on the server) |
Monorepo structure
zerolatency-live-player/
├── zerolatency-live-player-api/ # Fastify + WebSocket backend (port 3002)
├── zerolatency-live-player-regia/ # Vue 3 Control Room UI (Tailwind, Vite)
├── zerolatency-live-player-app/ # Flutter iPad player app (VLCKit)
├── zerolatency-live-player-keygen/ # License key generator CLI (HMAC)
├── zerolatency-live-player-deploy/ # Provisioning + multi-tenant deploy (Bash)
├── FEATURES.md # Feature overview (→ docs)
├── DEPLOY.md / PREDEPLOY.md / POSTDEPLOY.md # Deploy guide (→ docs)
└── APPLE_ACCOUNT_*.md / MDM.md # Apple distribution (→ docs)Quick start per module
Backend API
bash
cd zerolatency-live-player-api
npm install
npm run dev # tsx watch → Fastify on :3002Control Room UI
bash
cd zerolatency-live-player-regia
npm install
npm run dev # Vite dev serverFlutter App
bash
cd zerolatency-live-player-app
flutter pub get
cd ios && pod install && cd ..
flutter run # on a physical iPad or simulatorKeygen
bash
cd zerolatency-live-player-keygen
npm install
npx tsx src/generate-license.ts "Client" 2027-12-31Deploy
bash
cd zerolatency-live-player-deploy
bash deploy-remote.sh --list # list targets
bash deploy-remote.sh --target=olimpico # direct deployNext steps
| If you want to… | Go to… |
|---|---|
| Generate a license key | Generate License Key |
| Build the app for iPad | Build Flutter App |
| Understand the APIs | Backend API |
| Deploy the system | Pre-deploy |