Work Breakdown Structure

Phân chia công việc phát triển

OPTIMUS Core - Hệ thống tự động hóa sản xuất tin tức truyền hình. Phân chia rõ ràng theo module, sprint và người phụ trách.

5
Modules
40
Tasks
4
Sprints
8
Tuần

Kiến trúc tổng quan

4 thành phần chính của hệ thống OPTIMUS

OPTIMUS Core (.NET 10)

Trung tam xu ly chinh

Quản lý Playlist, Rundown, Timeline. Xử lý Trigger, Macro, Automation. Ghi As-Run Log. Kết nối PostgreSQL. Hỗ trợ System Manager, Rundown Designer và Active-Standby.

Playlist Manager Timeline Generator Trigger/Macro As-Run Log Active-Standby SignalR Hub

System Manager

Quản lý trường quay và thiết bị

Đăng ký và quản lý nhiều trường quay (Studio). Mỗi trường quay chứa danh sách thiết bị với driver, địa chỉ kết nối, giao thức. Giám sát trạng thái kết nối real-time và cảnh báo sự cố.

Studio Registry Device Registry Health Monitor Multi-Studio System Config

Rundown Designer

Ánh xạ Rundown với thiết bị trường quay

Thiết kế ShowStyle — định nghĩa cách thông dịch dữ liệu NRCS thành Segment/Part/Piece. Ánh xạ từng loại Piece với thiết bị cụ thể trong trường quay. Tái sử dụng cấu hình cho nhiều chương trình.

ShowStyle Device Mapping Rundown Interpreter Timeline Generator

2 Gateways (SignalR)

Kết nối hệ thống ngoài

Import Gateway: HDStation (RundownAPI REST). Playout Gateway: LAN, Timeline Resolver, điều khiển thiết bị qua AMCP và HTTP.

Import Gateway Playout Gateway TSR AMCP HTTP

Automation Client

Giao dien web-based

Truy cập qua HTTPS + WebSocket (SignalR). React 19 + TypeScript 5.7. Timeline Canvas, Rundown List, Quick Deck, Configure Automation Panel. Phân quyền người dùng.

React 19 TypeScript 5.7 Vite 8 Timeline Canvas Quick Deck SignalR

Thông số kỹ thuật

Hiệu năng, giao thức, tech stack và yêu cầu hạ tầng chính xác

Hiệu năng
Độ trễ kích hoạt Trigger≤ 500 mili giây
Đồng bộ trạng thái Client≤ 1 giây
Đồng bộ thay đổi từ NRCS≤ 2 giây
Timeout phát hiện lỗi thiết bị5 giây
Heartbeat Active-Standby1 giây
Thời gian failover tự động≤ 3 giây
Giao thức thiết bị (V1)
AMCPVideo Server ×2, Audio Server ×2, Video Mixer (HDMixer), Audio Mixer (HDAudioMixer), Graphics Server, Backscreen, Videowall, Record Server
HTTP APICue Prompter (HDCue)
HDStation RundownAPIImport Gateway — đồng bộ Rundown
Tech Stack
Backend Core.NET 10 LTS (C# 14)
DatabasePostgreSQL
ORMEntity Framework Core 10
Real-timeSignalR WebSocket
FrontendReact 19 + TypeScript 5.7
BuildVite 8 + Rolldown
Yêu cầu hạ tầng
Automation Server8 CPU cores, 16GB RAM, Windows Server / Linux
DatabasePostgreSQL, SSD
Playout Gateway4 CPU cores, 8GB RAM, LAN đến thiết bị
ClientChrome / Edge / Firefox
Mạng LAN1 Gbps

5 Modules phát triển

Bấm vào tiêu đề module để mở rộng / thu gọn. Tick checkbox để theo dõi tiến độ.

M1

Core Backend

Dev 1 - Senior .NET - Trung tâm xử lý chính của hệ thống

0 / 10
0%
  • M1.1
    Khởi tạo solution .NET 10, project structure, DI container
    EF Core + migrations cho PostgreSQL
  • M1.2
    Data models - Playlist, Rundown, Segment, Part, Piece
    PartInstance, PieceInstance, Studio, ShowStyle, AdLib
  • M1.3
    Playlist Manager - CRUD, Take Point (On Air / Next)
    Tao PartInstance / PieceInstance, AdLib / Bucket
  • M1.4
    Timeline Generator - tao Timeline document tu Pieces
    TimelineObject voi relative references
  • M1.5
    Trigger Manager - timecode trigger, event trigger
    Clip sap ket thuc, logic conditions, kich hoat ≤ 500ms
  • M1.6
    Macro Manager - tao / luu / thuc thi macro
    Chuoi lenh tuan tu, tai su dung da chuong trinh
  • M1.7
    As-Run Logger - ghi log real-time voi timestamp ms
    Planned vs actual time, xuat CSV / PDF / XML
  • M1.8
    SignalR Hub - đồng bộ trạng thái Core - Client - Gateway
    Đồng bộ ≤ 1 giây, reconnect logic
  • M1.9
    REST API endpoints day du
    Playlist, Rundown, Studio, ShowStyle, Devices, Macros, Triggers, As-Run Log
  • M1.10
    Active-Standby 1+1 - heartbeat 1s, failover ≤ 3s
    State replication qua SignalR, PostgreSQL Streaming Replication, manual failover API
M2

System Manager

Dev 2 - .NET + React - Quản lý trường quay và thiết bị

0 / 6
0%
  • M2.1
    Studio Manager - CRUD trường quay (Studio)
    Tên, mô tả, múi giờ, cấu hình hệ thống toàn cục
  • M2.2
    Device Registry - đăng ký và quản lý thiết bị trong trường quay
    Driver, địa chỉ kết nối (IP/COM), giao thức, tham số cấu hình
  • M2.3
    Device Health Monitor - giám sát trạng thái kết nối real-time
    Ping, độ trễ, cảnh báo sự cố, timeout 5 giây
  • M2.4
    System Config service - cấu hình hệ thống toàn cục
    Múi giờ, ngôn ngữ, thông số vận hành
  • M2.5
    System Manager UI - giao diện quản lý trường quay và thiết bị
    Danh sách thiết bị, trạng thái kết nối, form cấu hình
  • M2.6
    Seed data - Studio A với thiết bị thực tế
    Video Server ×2 (AMCP), Audio Server ×2 (AMCP), Video Mixer HDMixer (AMCP), Audio Mixer HDAudioMixer (AMCP), Graphics Server (AMCP), Backscreen (AMCP), Videowall (AMCP), Record Server (AMCP), Cue Prompter HDCue (HTTP)
M2B

Rundown Designer

Dev 2 - .NET + React - Ánh xạ Rundown với thiết bị trường quay

0 / 6
0%
  • M2B.1
    ShowStyle Manager - CRUD ShowStyle và Variant
    Định nghĩa cách thông dịch dữ liệu NRCS thành Segment / Part / Piece
  • M2B.2
    Device Mapping - ánh xạ loại Piece với thiết bị trong trường quay
    Camera → Video Mixer, Graphics → Graphics Server, VT → Video Server, Voice Over → Audio Server…
  • M2B.3
    Rundown Interpreter - thông dịch dữ liệu NRCS thành Segment / Part / Piece
    InterpretRundownData, GenerateParts, GeneratePieces, GenerateAdLibPieces
  • M2B.4
    Timeline Object Generator - tạo TimelineObjects từ Pieces
    GenerateTimelineObjects với relative references và timing offset
  • M2B.5
    Rundown Designer UI - giao diện thiết kế ShowStyle
    Kéo thả ánh xạ thiết bị, preview cấu trúc Segment / Part / Piece
  • M2B.6
    Sample ShowStyle - VTV1 "Bản tin thời sự 19h"
    Thông dịch HDStation thành Segment / Part / Piece với đầy đủ Pieces cho 9 thiết bị AMCP + HDCue
M3

Gateway

Dev 3 - .NET - Import Gateway + Playout Gateway + Device Drivers

0 / 7
0%
  • M3.1
    Core Integration Library
    ICoreConnection, ICoreIntegrationApi, SignalR client, retry / reconnect logic
  • M3.2
    Import Gateway - kết nối HDStation
    HDStation RundownAPI (REST) — đồng bộ Rundown ≤ 2 giây, polling + webhook
  • M3.3
    Playout Gateway - nhận Timeline từ Core qua SignalR
    Quản lý device drivers, health monitoring, reconnect logic
  • M3.4
    Timeline State Resolver (TSR)
    Resolve timeline-objects, calculate target states, generate commands, timing chính xác ms
  • M3.5
    AMCP Driver - tất cả thiết bị HDServer / HDMixer / HDAudioMixer
    Video Server ×2, Audio Server ×2, Video Mixer, Audio Mixer, Graphics Server, Backscreen, Videowall, Record Server — play / stop / load / cue / mixer commands qua TCP
  • M3.6
    HTTP Driver - HDCue Prompter
    REST API: cuộn kịch bản, chuyển trang, đồng bộ timecode
  • M3.7
    Device health monitoring - timeout 5s, reconnect logic
    Status reporting về Core, cảnh báo mất kết nối
M4

Frontend

Dev 4 - React / TypeScript - Giao diện người dùng web-based

0 / 10
0%
  • M4.1
    Project setup - Vite 8 + Rolldown, React 19, TypeScript 5.7
    Zustand, Ant Design 5, @microsoft/signalr
  • M4.2
    Layout chinh - Topbar va Quick Deck bar
    Logo OPTIMUS, playlist info, clock, server status Active / Standby
  • M4.3
    Rundown List panel - danh sach Parts
    Trang thai On Air / Next / Ready, type badges (LIVE / VT / CG / BREAK), timecode
  • M4.4
    Timeline Canvas - vis-timeline integration
    Device rows: Video Server / Audio Server / Graphics / Video Mixer / Audio Mixer / Backscreen / Videowall / Record Server / Prompter — blocks màu sắc, playhead real-time, zoom, TAKE on double-click
  • M4.5
    Configure Automation Panel
    Tabs OnCue / Steps / Timecode / Next / Blur / Settings, device + function + params + delay + conditions
  • M4.6
    Bottom Panel - tabs Script / As-Run Log / Device Status
    Real-time log viewer (planned vs actual time)
  • M4.7
    Devices Panel - danh sách thiết bị
    IP / driver / latency, trạng thái kết nối real-time, thêm / sửa / xóa
  • M4.8
    Quick Deck buttons - cau hinh nut bam nhanh
    CAM1 / CAM2 / VT / CG / Macro, trang thai active, keyboard shortcuts
  • M4.9
    SignalR real-time sync - kết nối Hub
    Nhận push updates ≤ 1s, reconnect logic, đồng bộ state Zustand
  • M4.10
    Studio Mode view - part-based layout thay timeline
    Expand / collapse device rows per part
M5

DevOps & Integration

Dev 5 - Full-stack / DevOps - Hạ tầng, CI/CD, testing, monitoring

0 / 7
0%
  • M5.1
    Docker Compose - toàn bộ hệ thống
    Core (Active + Standby), Import Gateway, Playout Gateway, PostgreSQL, Nginx
  • M5.2
    Database setup - schema migrations EF Core
    PostgreSQL, Streaming Replication cho Active-Standby
  • M5.3
    Nginx reverse proxy - HTTPS, WebSocket proxy cho SignalR
    Virtual IP / load balancer cho failover
  • M5.4
    Integration testing - end-to-end
    HDStation → Import Gateway → Core → Rundown Designer → Timeline → Playout Gateway → AMCP devices + HDCue
  • M5.5
    Seed data & demo - "Bản tin thời sự 19h VTV1"
    10 Parts (P001-P010), Studio A với 9 thiết bị AMCP + HDCue Prompter
  • M5.6
    CI/CD pipeline - build .NET + React, test, Docker image
    Deploy scripts
  • M5.7
    Monitoring & logging
    ASP.NET Core Health Checks, Serilog structured logging, heartbeat dashboard

Sprint Timeline

Kế hoạch 4 sprint - 8 tuần phát triển

Sprint Thời gian Tasks Kết quả đạt được
Sprint 1
Tuần 1-2
2 tuần
M1.1 M1.2 M1.3 M1.4 M3.1 M4.1 M4.2 M5.1 M5.2
Solution chạy được, DB schema, UI skeleton, Docker Compose
Sprint 2
Tuần 3-4
2 tuần
M1.5 M1.6 M1.7 M1.8 M3.2 M3.3 M3.4 M4.3 M4.4 M2.1 M2.2 M2.3
Trigger / Macro hoạt động, TSR resolve, Timeline Canvas hiển thị, Import Gateway kết nối HDStation
Sprint 3
Tuần 5-6
2 tuần
M1.9 M1.10 M3.5 M3.6 M3.7 M4.5 M4.6 M4.7 M2.4 M2.5 M2.6 M2B.4 M2B.5 M2B.6
AMCP driver hoạt động toàn bộ thiết bị, HTTP driver HDCue, REST API đầy đủ, System Manager + Rundown Designer hoàn chỉnh, Active-Standby
Sprint 4
Tuần 7-8
2 tuần
M4.8 M4.9 M4.10 M5.3 M5.4 M5.5 M5.6 M5.7
Hệ thống hoàn chỉnh, demo VTV1 "Bản tin thời sự 19h", CI/CD, monitoring

Sơ đồ phụ thuộc

Luồng dữ liệu và phụ thuộc giữa các thành phần

+-----------------------+ | HDStation | | RundownAPI (REST) | +-----------+-----------+ | REST polling / webhook v +-----------+-----------+ | Import Gateway | (M3.2) | HDStation connector | +-----------+-----------+ | SignalR v +------------------++-----------+-----------++------------------+ | System Manager || OPTIMUS Core || Web Client | | Studio Registry || Playlist Manager || React 19 | | Device Registry || Timeline Generator || Timeline Canvas | | Health Monitor || Trigger / Macro || Rundown List | | Rundown Designer|| As-Run Log || Quick Deck | | ShowStyle || Active-Standby || (M4.1-M4.10) | | Device Mapping || SignalR Hub || | | (M2.1-M2B.6) || REST API || SignalR <=1s | +------------------++-----------+-----------++------------------+ | SignalR + Timeline v +-----------+-----------+ | Playout Gateway | (M3.3, M3.4) | Timeline State | | Resolver (TSR) | +-----------+-----------+ ______|___________|_______ | | v v +------------------+ +------------------+ | AMCP Driver | | HTTP Driver | | (M3.5) | | (M3.6) | +--------+---------+ +--------+---------+ | | v v Video Server A/B (HDServer) HDCue Prompter Audio Server A/B (HDServer) Video Mixer (HDMixer) Audio Mixer (HDAudioMixer) Graphics Server (HDServer) Backscreen (HDServer) Videowall (HDServer) Record Server (HDServer)

Roadmap - V1 và V2

Phạm vi phát triển theo phiên bản

V1
Phiên bản đầu tiên - 8 tuần
2 drivers
Điều khiển thiết bị qua AMCP (tất cả HDServer / HDMixer / HDAudioMixer) và HTTP (HDCue Prompter)
Tích hợp NRCS: HDStation (RundownAPI REST)
Timeline CanvasQuick Deck
Trigger, Macro, As-Run Log
Dự phòng Active-Standby tự động
System Manager — quản lý trường quay và thiết bị
Rundown Designer — ánh xạ Rundown với thiết bị trường quay
Truy cập web-based, phân quyền
V2
Phiên bản nâng cao - sau V1
No-code
Export Gateway — upload file record + As-Run Log lên MAM sau sản xuất
Tích hợp NRCS mở rộng: ENPS, iNEWS, Octopus (MOS Protocol)
Thêm drivers: MIDI (Audio Mixer, Lighting), VDCP, RossTalk, OSC, NDI, VISCA
Flow Designer no-code — thiết kế luồng automation bằng kéo thả
Multi-studio — quản lý nhiều trường quay độc lập
Desktop App — Windows / Mac (Electron)
Thiết bị ngoại vi: Stream Deck, bàn phím chuyên dụng, control surface