Aplikace vznikla jako školní dílo / bakalářská práce v rámci mého studia softwarového inženýrství na Fakultě informačních technologií ČVUT v Praze ve spolupráci s Fakultou biomedicínského inženýrství ČVUT v Praze. Aplikace je určena k praktickému použití, je plně funkční včetně podpůrných procesů jako je obnova hesla uživatele a podobně, ale z nasazení v produkčním prostředí nemám bezprostřední informace.
Aplikace umožňuje definovat formuláře sestavené z políček více typů s určeným pořadím a popisy. Tyto formuláře mohou obsahovat pole pro přiložení souboru nebo pořízení videonáhrávky webovou kamerou (nahrávání je založeno na využití Media Recording API prohlížeče, aplikace je tedy multiplatformní a její funkčnost byla otestována na Microsoft Windows, tabletech a mobilech s iOS (iPhone, iPad) nebo Androidem). Při původním nasazení aplikace exportuje obsah formulářů s přílohami pro analýzu návaznou aplikací a uživateli zobrazuje výsledky vyhodnocení, ale s minimálními úpravami je aplikaci možné použít ke sběru i velmi objemných dat přes uživatelsky definované formuláře v jiném kontextu.
V aplikaci vystupují uživatelé v následujících rolích:
- Klient:
- Vybírá formulář ze seznamu aktivních formulářů, vybraný formulář vyplní (eventuálně pořídí videonahrávku nebo videonahrávky) a odešle.
- Má přístup k odeslaným formulářům. Pokud je formulář vyhodnocen, může si vyhodnocení zobrazit.
- Terapeut:
- Spravuje uživatelské účty klientů.
- Má přístup k odeslaným formulářům a vyhodnoceným formulářům svých klientů.
- Správce:
- Definuje formuláře pro klienty.
- Konfiguruje systémová nastavení aplikace.
- Nastavuje jazykovou podobu uživatelského rozhraní ve více jazycích.
- Spravuje účty všech uživatelů.
Při přenosu dat z webového formuláře na server je použito vlastní řízení přenosu dat tak, aby nedošlo k zahlcení linky při pomalém nebo nekvalitním připojení k internetu. Základní metodou řízení datového toku je dynamické nastavení vhodné velikosti a frekvence odesílaných aplikačních datových rámců o velikost 8 kB až 8 MB s periodou odesílání 125 ms až 250 ms podle aktuální propustnosti datové linky stanovené podle měření doby odezvy při přenosu dat. Aplikace byla úspěšně testována na linkách s rychlostí 100 kb/s až 50 Mb/s a se zpožděním cca 10 ms (přímé připojení k serveru) až řádově 500 ms (spojení Praha – Aucland – Hluboká nad Vltavou s využitím VPN). Přenos jednoho nebo více souborů o velikosti cca 250 MB přes pomalou ADSL nebo VDSL linku s rychlostí cca 0,5 Mb/s není žádným problémem.
Součástí aplikace jsou lokalizační funkčnosti – uživatelské rozhraní obsahuje cca 600 textových polí rozčleněných do cca 50 stránek nebo jejich komponent a obsah všech těchto polí může správce aplikace definovat v českém a anglickém jazyce. Přidání dalšího jazyka vyžaduje pouze dílčí aplikační změny.
Aplikace je naprogramována v Javě s využitím frameworků Spring Boot a Spring Security. Databáze je PostgreSQL, Uživatelské rozhraní je naprogramováno v HTML s JavaScriptem s využitím Bootstrapu a jQuery.
Funkční verze webu běží na adrese https://telecam.petrzilka.cz. V případě zájmu aplikaci rád předvedu.
Bakalářská práce
Posudek vedoucího práce
Posudek oponenta
Prezentace práce
Navštívit web...