TeleCam – webová aplikace pro telerehabilitaci

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.

Jan Petržílka, webová aplikace, Telecam - webová aplikace pro telerehabilitaci, vyplňování formuláře

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... 

 

Šablony úloh

Správce definuje šablony úloh. Pokud je šablona aktivní, je klientovi nabízena k vyplnění. Pořadí šablon určuje pořadí, v jakém jsou šablony klientovi nabízeny. Právě jedna aktivní šablona je vyhrazena pro editaci osobních dat klienta, její výběr stejně jako její obsah je ale možné změnit.

Šablony jsou použity také pro formátování zobrazených výsledků vyhodnocení formuláře.

Každá šablona má systémový identifikátor používaný návazným systémem a popis v alespoň jednom aplikačním jazyce.

 

Šablona úlohy

Každá šablona může obsahovat více polí různých typů v určeném pořadí. Formulář není možné odeslat, pokud nejsou vyplněna povinná pole. Pole označená jako předvyplněná jsou aplikací předvyplněna podle osobních údajů klienta nebo podle posledního formuláře stejného typu, který daný klient vyplnil.

 

Nastavení pole šablony

Každé pole šablony má identifikátor, popis v alespoň jednom jazyce a další metadata, jako například minimální a maximální hodnota vyplňovaného pole.

 

Lokalizace

Správce nastavuje jednotlivá pole uživatelského rozhraní ve všech aplikačních jazycích. Výchozí nastavení obsahuje češtinu a angličtinu.

 

Formulář úlohy

Formulář úlohy se skládá ze dvou částí. V části "Osobní údaje" jsou údaje ze šablony pro klientská data, v části "Údaje úlohy" jsou pole podle vybraného formuláře.

 

Pořízení videonahrávky

Součástí formuláře může být pořízení videonahrávky. Obraz kamery je zobrazen v bílém čtverci nad ovládacími prvky.

 

Vyhodnocení úlohy

Jakmile je formulář vyhodnocen, jsou klientovi zobrazeny informace z vyhodnocení spolu s údaji, které do formuláře sám vložil.

 

MOJE SILNÉ STRÁNKY

  • Záleží mi na tom, aby moje práce měla pro zákazníka adekvátní hodnotu.
  • Chci dělat věci správně. Opravdu správně.
  • Jsem připraven přijímat odpovědnost a zvládat těžké úkoly.

KONFLIKTNÍ OBLASTI

  • Potřebuji být u toho, když se přijímají rozhodnutí o mojí práci. Vadí mi být na druhé koleji a v závislém postavení.
  • Říkám, co si myslím, a očekávám fér jednání. Jinak spolupracuji jen s obtížemi nebo vůbec ne.
  • Jsem "studený čumák". Soustředím se na práci a na legraci mě moc neužije.

A KDYŽ ZROVNA NEPRACUJI...

  • Studuji. Chci obnovit rozšířit svoji nabídku a zahrnout nové znalosti. Také potřebuji nové obzory, nová témata a inspiraci.
  • Rád chodím po horách. Jak vidím kopec, musím nahoru. Zatracený covid.
  • Moji oblíbení herci jsou Tony Shalhoub, Clint Eastwood a Bruce Willis. Víte, proč právě tito?