Projekt

Obecné

Profil

Dokument vize » Historie » Verze 22

Lukáš Moučka, 2021-04-06 12:07

1 1 Lukáš Moučka
h1. Dokument vize
2
3
h2. Stakeholders
4
5
* *zadavatel:* Ing. Michal Kepka, Ph.D. (mkepka@kgm.zcu.cz) 
6
* *technický konzultant:* Ing. Lukáš Černý (luccerny@ntis.zcu.cz)
7
* *mentor:* Ing. Petr Pícha (ppicha@ntis.zcu.cz)
8 3 Lukáš Moučka
* *administrátor*: Ing. Luboš Matějka, Ph.D. (lmatejka@kiv.zcu.cz)
9 1 Lukáš Moučka
* *členové týmu:* Štepán Červenka, Jakub Hlaváč, Martin Lácha, Lukáš Moučka
10 21 Lukáš Moučka
* *uživatelé*: NTIS – projekt SensLog: solution for sensors and VGI, veřejnost a farmři, odborná veřejnost
11 2 Lukáš Moučka
12
h2. Zadaní
13
14
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ů.
15 4 Lukáš Moučka
16
h2. Primární cíle
17
18 7 Lukáš Moučka
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).
19 8 Lukáš Moučka
20
h2. Požadavky na aplikaci
21
22
* webová aplikace s administrativním přístupem pro správu jednotlivých senzorů
23
* uživatelský přístup pro zobrazení dat z omezené množiny senzorů
24 9 Lukáš Moučka
* vizualizace dat ze senzorů
25 8 Lukáš Moučka
26 17 Lukáš Moučka
h2. Stack aplikace
27
28
* Angular/Angular CLI 11.2.3
29 22 Lukáš Moučka
* HTML 5.0
30
* CSS 3.0 (preprocesor SASS/SCSS)
31 17 Lukáš Moučka
32 8 Lukáš Moučka
h2. Vizualizace dat
33
34
* data ze senzorů budou vizualizovaná v rámci vlastní webové aplikace používající framework *Bootstrap*
35
* 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
36 10 Lukáš Moučka
37
h2. Využívaná API
38 11 Lukáš Moučka
39
* [[SensLog v1]] – využití pro interní procesy jako je přihlášení, registrace uživatele, administrátorská správe senzorů apod.
40
* [[SensLog Lite v2]] – získání dat v úsporném (komprimovaném) formátu 
41
* [[OGC SensorThingsAPI standard]] – endpointy pro veřejně dostupné informace
42 12 Lukáš Moučka
43
h2. Rizika
44
45 21 Lukáš Moučka
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.
46 15 Lukáš Moučka
47
h2. Produkční prostředí
48
49 18 Lukáš Moučka
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í.
50
51
h2. Diagram aplikace
52
53 20 Lukáš Moučka
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.
54 19 Lukáš Moučka
55 18 Lukáš Moučka
!diagram_aplikace.png!