Dokument vize » Historie » Revize 21
Revize 20 (Lukáš Moučka, 2021-03-22 12:31) → Revize 21/24 (Lukáš Moučka, 2021-04-06 11:54)
h1. Dokument vize h2. Stakeholders * *zadavatel:* Ing. Michal Kepka, Ph.D. (mkepka@kgm.zcu.cz) * *technický konzultant:* Ing. Lukáš Černý (luccerny@ntis.zcu.cz) * *mentor:* Ing. Petr Pícha (ppicha@ntis.zcu.cz) * *administrátor*: Ing. Luboš Matějka, Ph.D. (lmatejka@kiv.zcu.cz) * *členové týmu:* Štepán Červenka, Jakub Hlaváč, Martin Lácha, Lukáš Moučka * *uživatelé*: NTIS – projekt SensLog: solution for sensors and VGI, veřejnost a farmři, odborná veřejnost h2. Zadaní NTIS je výzkumné centrum na Fakultě aplikovaných věd Západočeské univerzity v Plzni. Výzkumný tým vyvíjí API *SensLog*, které poskytuje komplexní funkce pro správu různých senzorů (vlhkost, teplota atd.). Zadáním pro náš vývojový tým je vytvoření webové aplikace, která bude zobrazovat data z jednotlivých senzorů pomocí grafů v rámci zvolené knihovny. Aplikace musí obsahovat administraci pro správu senzorů a přístup pro uživatele, aby mohli sledovat data ze svých senzorů. h2. Primární cíle Hlavním cílem je vytvořit webovou aplikaci splňující zmíněné požadavky v rámci zadání a popisu projektu, viz [[O projektu]]. V současné chvíli je vizualizace dat také zprostředkovávána pomocí webové aplikace. Aplikace však není pod správou NTISu a její případné modifikace nejsou příliš operativní. Dalším problémem jsou implementované knihovny pro vizualizaci dat ze senzorů, protože nekorektně zobrazují data zpožděná v čase (data přijatá se zpožděním). h2. Požadavky na aplikaci * webová aplikace s administrativním přístupem pro správu jednotlivých senzorů * uživatelský přístup pro zobrazení dat z omezené množiny senzorů * vizualizace dat ze senzorů h2. Stack aplikace * Angular/Angular CLI 11.2.3 * HTML * CSS (preprocesor SASS/SCSS) h2. Vizualizace dat * data ze senzorů budou vizualizovaná v rámci vlastní webové aplikace používající framework *Bootstrap* * samotná vizualizace dat bude realizovaná pomocí knihovny [[Knihovna Vega| Vega]] nebo [[Knihovna d3.js| d3.js]] – finální výběr jedné z nich bude závislý na jejich analýze h2. Využívaná API * [[SensLog v1]] – využití pro interní procesy jako je přihlášení, registrace uživatele, administrátorská správe senzorů apod. * [[SensLog Lite v2]] – získání dat v úsporném (komprimovaném) formátu * [[OGC SensorThingsAPI standard]] – endpointy pro veřejně dostupné informace h2. Rizika Nejsme schopni ovlivnit kvalitu dat získávaných ze senzorů. Pokud např. přijdou data zpožděná v čase, tak v ideálním případě jejich korekci provede příslušná knihovna pro vizualizaci. V opačném případě bude nutné data předzpracovat a až poté je vizualizovat. Dalším rizikem je změna formátu zasílaných dat z API. Nicméně při správném návrhu aplikace by neměl být problém tyto modifikace provést i na této straně. V neposlední řadě je to velké množství dat. h2. Produkční prostředí Responzivní webová aplikace bude s největší pravděpodbností nasazena na virtuálním serveru KIV FAV ZČU. Jako *staging server* pro prezentaci aktuálně odvedené práce bude sloužit server na CIV ZČU, který si budeme spravovat sami pomocí této webové aplikace: https://nuada.zcu.cz/. Na tomto serveru bude vždy deploy aktuální stabilní verze dané iterace – zadavatel a technický konzultant se budou moci na aplikaci podívat bez potřeby instalace dalších závislostí. h2. Diagram aplikace Diagram znázorňuje využití jednotlivých API. Po přihlášení do aplikace získáme roli *admina* nebo *uživatele*. V rámci administrátorského účtu je využíváno hlavně API [[SensLog v1]], které poskytuje interní funkcionality. Uživatelé budou využívat API [[SensLog Lite v2]], které jim bude poskytovat data o senzorech v komprimovaném tvaru. Uživatelům bez autorizace bude [[OGC SensorThingsAPI standard]] poskytovat veřejně dostupné informace o senzorech. !diagram_aplikace.png!