Жарыс күні
Fitofan іс-шаралары үшін чек-ин, судьялық, есеп жүргізу және тікелей трансляция
Турнирді орнында жүргізетін бес қолданба: десктопта чек-ин мен судьялық, телефон мен планшеттердегі судья консольдері, есеп жабдығына көпір, тікелей табломен трансляциялайтын телефон камералары және көп камералы қайта көрсету.
- Рөл
- Жетекші инженер: Flutter, нативті iOS және Android, десктоп
- Кезең
- 2024 – 2026


Контекст
Турнирлер Wi-Fi тұрақсыз, жабдық уақытша алынған және орнатуға уақыт жоқ спорт залдарында өтеді. Fitofan экожүйесіне жарыс орнына арналған өз бағдарламасы керек болды, және мен оның әр бөлігін нөлден жасадым.
Міндет
Интернет үзілгенде де чек-ин, судьялық және трансляцияны тоқтатпау, кез келген телефон мен планшеттің QR кодты сканерлеп қосылуына мүмкіндік беру және нәтижелерді платформаға және үшінші тарап есеп жүйелеріне қайтару.
Бүкіл стек бойынша құрылған
- Fitofan Core, macOS, Windows және Chromebook үшін Flutter десктоп: төлемдері және QR бедж басып шығаруы бар чек-ин, дзюдо мен MMA судьялығы, жеребе мен торлар, екінші ТВ экран процесі
- Fitofan Touch, телефон мен планшеттер үшін Flutter: WT және ITF таеквондо мен WKF каратэден гимнастика мен брейкингке дейін 10 ереже жинағы бар судья консолі, хаптика және байланыс күйін ескеретін енгізу моделі
- Fitofan Connect, Flutter десктоп: SQLite нәтижелер базасы және үшінші тарап электронды есеп жүйелеріне көпір болатын жергілікті HTTP API
- LiveOn, нативті Swift және Kotlin: QR арқылы бапталатын Amazon IVS трансляциясы, камера, логотип және тікелей табло қабатынан тұратын үш қабатты микшермен
- VR, Electron: WebRTC арқылы төртке дейін телефон, USB немесе RTSP камера, ffmpeg-пен лездік қайта көрсету және клип қию, YouTube-қа рестрим, офлайн лицензиялау, macOS, Windows және Linux үшін қол қойылған және нотаризацияланған билдтер
Инженерлік акценттер
- Offline-first: сақталған шығыс кезегі байланыс оралғанда платформаға жөнелтіледі
- Қолмен жазылған LAN протоколы: UDP broadcast іздеу, қайта қосылатын TCP сессиялары, ТВ терезесіне loopback байланысы
- Табло қабаттары нативті рендерленіп, бейне ағынына секунд сайын енгізіледі
- Socket.IO арқылы тікелей есеп ағыны iOS-тағы қабатты және қайта көрсету қолданбасында жекпе-жек шекараларын автоматты анықтауды басқарады
Не береді
Ұйымдастырушы ноутбуктер мен телефондармен келіп, тіркеуді, судьялықты, есеп жүргізуді және трансляцияны бір экожүйеден басқарады — интернет бар-жоғына қарамастан.