Ovládání aplikace

Aplikace je navržena pro snadnou orientaci a intuitivní ovládání. Funkcionalita ikon a tlačítek je doplněna rychlou nápovědou (tooltipem). Uživatel má velkou volnost při práci s grafy a výběrem množiny respondentů a vzájemném srovnání výsledků.

Vzhledem k interaktivitě aplikace se nedoporučuje obnovovat/znovunačítat stránku, protože se aplikace načte do výchozího stavu. Uživatel je upozorněn vyskakovacím oknem.

Význam použitých ikon

Technologie internetové aplikace

Aplikace je navržena jako multi-tier (vícevrstvá) s důrazem na komfort uživatele a vysokou interaktivitu vzhledem k potřebě generování srovnávacích grafů a interaktivním nastavením výběrové množiny.

Jednotlivé vrstvy aplikace jsou:

Datová vrstva

Data z dotazníkových šetření jsou importována do relační databáze (RDBMS). Jednotlivé dimenze (věk, pohlaví, odvětví, region apod.) jsou modelovány jako číselníky, indexované pro rychlý výběr množiny dat pro zpracování a prezentaci. Dotazníky jsou modelovány jako relace s číselníky, otázkami a hodnotami odpovědí a indexů dotazníků.

Jako relační databáze je použit otevřený databázový systém PostgreSQL, v češtině http://www.postgresql.cz.

Aplikační kontejner / API

Data z dotazníků jsou v aplikaci modelována datovými typy dle principů objektově orientovaného návrhu: datový typ pro číselníky, dotazníky, otázky, odpovědi a indexy a vzájemné vazby odpovídající jednotlivým tabulkám z databáze. Přístup k datům a funkcím aplikace je realizován pomocí otevřeného rozhraní HTTP JSON REST API (http://jsonapi.org, http://cs.wikipedia.org/wiki/Representational_State_Transfer.

Implementačním prostředím je JEE (Java enterprise) s nadstavbou jazyka Scala (http://scala-lang.org) a aplikačním kontejnerem akka-http (https://doc.akka.io/docs/akka-http). Veškeré použité technologie jsou otevřené.

Prezentační vrstva

V souvislosti s požadavkem na vysoce interaktivní výběr a zobrazování výsledků ve formě grafů jsou grafy vytvářeny přímo v prohlížeči uživatele na základě dotazů přes HTTP API. Výběr množiny dat je implementován pomocí standardních formulářových prvků (výběrové menu, zaškrtávací tlačítko atd.) a zobrazování v různých typech grafů (paprskový, sloupcový,...), aby uživatel mohl snadno interpretovat a porovnávat výsledky.

Jako aplikační framework fungující napříč různými typy a verzemi prohlížečů je použit otevřený framework AngularJS (https://angularjs.org) a technologie pro tvorbu grafů d3 (http://d3js.org), resp. nvd3 (http://nvd3.org).