Projekt

Obecné

Profil

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!