A projektről egy mondatban
A rendszer előre kitűzött pályán zajló sportversenyek résztvevőinek nyomkövetésére, és versenyrendezői funkcióinak megvalósítására készült. Az esettanulmány a Magyar Vitorlás Szövetséggel való együttműködést, és a Kékszalag vitorlásverseny nyomkövetésének megvalósítását mutatja be.
Ügyfél
Magyar Vitorlás Szövetség (MVSZ)
Érdekesség: ma az MVSZ-nek közel négyezer tagja van. Magyarország tavain a tagegyesületek évente összesen több mint kétszáz vitorlás versenyt rendeznek. A versenyzők 50-55 különböző kategóriában, hajóosztályokban mérkőzhetnek az országos bajnoki címekért.
A kihívás
Megbízásunkat megelőző években nem volt olyan nyomkövetési megoldás, mely megfelelően támogatta volna a versenyrendezőket, valamint képes lett volna nagymennyiségű résztvevő, és nagymennyiségű néző zökkenőmentes kiszolgálására.
A projectben tehát egy stabil, skálázható felhő infrastruktúrára tervezett, speciális funkciókkal felvértezett megoldás fejlesztése volt az elsődleges cél.
A Vitorlás Szövetség szerette volna elkerülni a speciális cél-hardware-ek nyomkövetésben való alkalmazását, tehát nem szeretett volna nyomkövető eszközöket kiosztani és visszagyűjteni a versenyek során.
A megoldásunk
A fentiek miatt egy speciális mobil alkalmazás fejlesztését tűztük ki célul a versenyzők számára, ami a jelenleg piacon levő mobiltelefonok minél szélesebb skáláján stabilan üzemel, nagyon keveset fogyaszt, mégis folyamatos és sűrű adatfolyammal látja el a háttérrendszert.
A kiszolgáló rendszert skálázható felhő infrastruktúrára terveztük, Kubernetes és Docker konténertechnológia alkalmazásával. Microservices architektúrában gondolkodtunk, és NoSQL adatbázisokat, valamint különböző gyorsítótárakat vetettünk be, ezek komplex architektúráját terveztük meg.
Különválasztottuk a nézői és a versenyszervezői felületek kiszolgálóit, hogy a nagymennyiségű nézőszám ne zavarhassa a versenyszervezői munkát.
A versenyszervezők munkatársai saját jogosultságaik mentén managelhetik a verseny előtt és alatt a különböző pálya és résztvevői adatokat, funkciókat, automatikusan detektált részeredményeket és végeredményeket…stb.
A hosszú távú tárolásra különálló architektúra került kidolgozásra, ezen keresztül van lehetőség a versenyek, események utólagos visszajátszására.
A rendszert ezen kívül úgy terveztük meg, hogy harmadik fél számára (pl. TV társaságok, esemény közvetítők) megfelelő jogosultsági beállítások mentén valósidejű adatokat legyen képes átadni, biztonságos és hatékony módon. Így volt lehetőség a 2021-es Kékszalag versenyen a rendszerünk, az Airmoniq Tracking, valamint az MTVA közötti együttműködésre, és így valós idejű adatok jelenhettek meg az M4 Sport TV-közvetítésében.
Alkalmazott kulcs technológiák
-
Natív iOS alkalmazás fejlesztés – Swift
-
Natív Android alkalmazás fejlesztés – Kotlin
-
NodeJS, Java, PHP backend microservice-ek fejlesztése
-
MongoDB – NoSQL adatbázisok
-
Redis
-
RestAPI
-
MQTT
-
React JS frontend fejlesztés
-
OpenSeaMap – tile-server
-
Websockets
-
Kubernetes
-
Docker
Fejlesztési csapat
-
Product Owner
-
Scrum Master
-
UI/UX designerek
-
Swift és Kotlin mobilfejlesztők
-
Frontend fejlesztők
-
Backend fejlesztők
-
Tesztmérnökök
-
DevOps rendszer-mérnökök
Eredmény
A fenti munka során elmondhatjuk, hogy az elmúlt évek legsikeresebb Kékszalag nyomkövetése valósult meg, és a siker következményeképpen a Magyar Vitorlás Szövetséggel egy hosszabb távú együttműködést írtunk alá.
A 2021-es Kékszalag vitorlásverseny nyomkövetésének statisztikájából néhány adat:
-
A tracking rendszer átlagosan 451 hajót követett a Kékszalag esemény során (ennyi hajóról érkezett átlagosan adat, ill. ennyien indították el a nyomkövető alkalmazást).
-
48 óra alatt 18.460 különböző eszközről indították el a verseny nyomkövető rendszert, ennyi önálló nézőt tartottunk nyilván.
-
A 48 óra alatt átlagosan 1.200 egyidejű élő néző (időszaktól függően 600-3.000 egyidejű élő néző) figyelte a tracking rendszeren keresztül a hajók pozícióit, állását.
-
A tracking rendszer összesen 405.198 online megtekintési eseményt regisztrált, melyek átlagos hossza 8 perc és 42 másodperc volt (tehát a legtöbb készüléken folyamatosan, hosszabb ideig nyitva volt a tracking képernyő).
-
Ez összesen 3.525.222 perc összes megtekintési időt jelent (nagyságrendileg 58.000 óra összes nézői idő)
-
Ezek alapján egy néző átlagosan 191 percen keresztül futtatta a tracking rendszert az eszközén.
-
A megtekintők 95,4%-a Magyarországról érkezett, ezen kívül a következő országokból követték az eseményeket: Ausztria, Németország, Horvátország, Lengyelország, Egyesült Királyság, Szlovákia, Svájc, Olaszország, Hollandia.
-
A leghosszabban a lengyelországi nézők figyelték az eseményt, megtekintésenként átlagosan 17 perc 28 másodpercig.
-
A legtöbb néző Budapestről követte az eseményt (67,1%), ezen kívül nagyságrendileg 12% Balatonfüredről, valamint kb. 5% Siófokról. További kiemelkedő városok néhány százalékkal: Veszprém, Győr, Balatonalmádi, Székesfehérvár, Keszthely és Pécs.
-
A nézők 70%-a valamilyen mobiltelefont használt, 27,9%-a PC-n követte az eseményt, és 2,1%-uk tabletről.
-
A nyomkövetést indító hajók 45,5%-a Android, 54,5%-a iOS készüléket használt.
-
Összesen 34.900.348 koordináta érkezett be a rendszerbe a nyomkövetett készülékektől, ami készülékenként átlagosan kb. 77.300 koordináta.
Csapatunk örömmel vállal hasonló megbízásokat, amikor valamilyen rendszer, folyamat, esemény folyamatos, valós idejű megfigyelésére van szükség. A rendszerünk képes szenzoradatok, vagy akár kameraképek továbbítására is, így széleskörű alkalmazási lehetőséget látunk rendszerünkben, pl. egyéb technikai versenyek és eszközök nyomkövetése, ipari folyamatok nyomkövetése, járműtesztelések során pozíció és szenzoradatok élő nyomkövetése…stb.