projekt KiTraffic Digital v .NET a C++ | Coderama
Remote / Rotace v projektech / Bonus za doporučení 2000 € / Práce a cestování.
Získej odhad platu

Víme, že jsi nejlepší, a můžeš pracovat pro kohokoli.

Proto ti nabízíme kromě skvělých VÝHOD i adekvátní finanční ohodnocení. Vyplň náš dotazník a na základě tvých zkušeností ti spočítáme odhad tvé budoucí mzdy v CODERAMA.

Napiš nám:

KiTraffic Digital
projekt

KiTraffic Digital

Na projektu KiTraffic Digital spolupracujeme s firmou Kistler Bratislava na vývoji produktu, který slouží k měření hmotnosti a dalších parametrů vozidel pohybujících se po dálnicích.

Klient
Kistler (Slovensko)
Typ projektu
mikroslužby .NET, vestavěný software, webová aplikace
Technologie
NET
Rok
od 2021

Zadání

KiTraffic Digital, nebo zkráceně KiTD, je systém WIM (Weight in Motion), který vyvinula a prodává společnost Kistler. Účelem tohoto výrobku je měření hmotnosti a dalších parametrů vozidel pohybujících se po dálnicích a jiných rychlostních silnicích, se speciálním zaměřením na nákladní vozidla. Systém je založen na sadě senzorů instalovaných přímo na silnici, které fungují jako samostatná zařízení a přenášejí data. Tato data jsou zpracovávána pomocí stacku mikroslužeb .NET, který běží na průmyslovém počítači. Tato část je zároveň hlavním zaměřením projektu. Data ze senzorů je nutné důkladně zpracovat a vyhodnotit tak, aby výstupem systému byly komplexní informace o každém jednotlivém vozidle. Tato data je nutné ukládat a zároveň k nim přistupovat z vlastního systému zákazníka. Zákazník musí mít k dispozici také uživatelské rozhraní, ve kterém může systém uvést do provozu, ovládat a monitorovat.

Popis realizace

Data jsou zpracovávána na backendu (označovaném jako TDA - Traffic Data Analyzer) postaveném na architektuře mikroslužeb, kde je většina dat implementována v prostředí .NET Framework/Core (s výjimkou několika, které jsou implementovány v C++). Pro propojení mikroslužeb se používá zprávová sběrnice Kafka, přičemž většina datových toků se šíří přes vrstvy od nejabstraktnější manipulace s daty až po nejkonkrétnější výpočty. Vlastní verze Kafky zajišťuje také příjem dat ze senzorů. Výstupem zpracování je objekt obsahující všechny informace o hmotnosti vozidla a jeho dalších fyzikálních vlastnostech. Pro ukládání těchto objektů se používá databáze ElasticSearch. Celý stack běží v Dockeru po přechodu potrubím CI/CD pomocí Jenkins. Backend je připojen přes Rest API k uživatelskému rozhraní postavenému na React. V tomto uživatelském rozhraní zákazník spravuje svou polohu - registruje aktivní senzory, zadává kalibrační údaje, monitoruje stav systému, sleduje detekovaná vozidla a může si prohlížet a exportovat svá data, stejně jako nastavit možnosti připojení ke kterémukoli vlastnímu externímu systému. LogStash se používá k monitorování stavu celého stacku s vizualizací v prostředí Grafana.

Výsledek

Současný stav: Systém KiTD je obecně vyvinutý do funkčního stavu a momentálně se nachází v jakési poloprodukční fázi. Je náhradou za předchozí systém WimDL, který je založený na analogových senzorech a na trhu je velmi rozšířený. KiTD je vlastně nástupcem a způsobem modernizace řešení jako reakce na omezení analogové technologie. V budoucnu se očekává, že novým zákazníkům bude nabízen pouze systém KiTD. Aby se tak ale stalo, musí být v dokonalém stavu, což je ještě v nedohlednu. Vývojáři vědí o některých slabých místech a různé funkce je ještě potřeba rozšířit nebo upravit na robustnější řešení a zároveň přidat mechanismy pro lepší monitorování celého stacku a diagnostiku problémů. Když v budoucnu dojde k masivnímu rozšíření KiTD, přibude mnoho práce s údržbou.

Co na to jeden z vývojářů?

"Jsem na projektu teprve krátce, ale už teď jsem spokojený. Líbí se mi, že je jasné, s čím pracujeme a co je naším cílem. Řešení je na dobré úrovni a dá se z něj hodně naučit, přitom je stále dost prostoru na jeho vylepšení vlastními nápady. Obzvláště ve spolupráci s profesionálními kolegy se vždy najde způsob, jak pokračovat. Zároveň oceňuji, že mezi námi vývojáři a zákazníkem není velká zeď, ale několik schopných lidí, kteří se s námi dělí o informace. Celá práce má větší smysl, když přesně vím, proč dělám to, co dělám."

– Vojtěch, .NET developer

DALŠÍ PROJEKT

Nezávislé testování baterií pro elektrická vozidla

Aviloo (Rakousko)