Popis architektury » Historie » Revize 4
Revize 3 (Jakub Heidtke, 2017-04-18 17:12) → Revize 4/6 (Miroslav Soukup, 2017-05-22 12:09)
h1. Popis architektury h2. Úvod Webová aplikace je napsána v programovacím jazyce Python 3 a je využíván Flask mikro framework. Flask je populární framework založený na Wekzeuk toolkitu a Jinja2 enginu. Architektura aplikace je MVC (Model View Controller). h2. Technologie Python HTML5 Python36-32 CSS3 Flask-0.12 Flask Sqlalchemy Postgre SQL PostgreSQL-9.6.2-1a h2. Databáze Pro ukládání dat je využita databáze Postgre SQL. Všechna data jsou strukturována Architektura aplikace po našem zásahu zůstává neměnná. Změny, které jsme prováděli, byli zavedeny přímo do ORM (Objektově relační model), který poskytuje SqlAlchemy framework. Třídy vytvořené v Pythonu jsou transformovány do SQL tabulek. h2. Moduly Aplikace je založena poskytnutého kódu zákazníkem, podle jeho přání. Ve webové aplikaci, na modulech, pro jednoduché rozšíření funkčnosti. Nové funkčnosti mohou být přidány jako pluginy. h2. General modul General modul zahrnuje sadu funkčností pro nepřihlášené uživatele. h2. Admin modul Skrze administrační modul lze spravovat uživatele záložce data, jsme přidali k experimentům sloupce Stats a nastavovat aplikaci. h2. Auth modul Autorizační modul je zodpovědný za registraci uživatelů a jejich přihlašování. Zahrnuje část databáze, která uchovává data o uživatelích jako Export. V těchto sloupcích jsou jméno, login, heslo, datum registrace atd. h2. Measurement modul Největší modul této webové aplikace. Má hojný počet funkčností jako například plánování jednotlivých měření, nahrávání naměřených dat, zobrazování dat a statistik a jejich spravování. h2. Experiments modul Experiment modul obsahuje funkčnosti pro přidávání, mazání a upravování jednotlivých experimentů. h2. Equipment modul Pro každý experiment je potřeba jiné zařízení, které měří požadovaná data. Tento modul uchovává data o těchto zařízeních v databázi a umožňuje jejich spravování. h2. QR Generator QR generátor generuje QR kódy do PDF dokumentů. Každá osoba má své identifikační číslo, které je zakódované do QR kódu. h2. Mobile services Pro sbírání dat pomocí mobilních zařízení je vytvořeno Rest API, které umožňuje ukládat data pomocí mobilní aplikace. h2. Server Aplikační server je hostován virtuálním serverem KIV ZČU. Operačním systémem je Debian 8.4 jsou odkazy, kdy při kliknutí na tlačítko xls ve sloupci Export proběhne stažení souboru s kernelem 2.6. Webový server NGINX naslouchá daty. Při kliknutí na dvou portech. První číslo portu tlačítko stats, je 80 pro stabilní verzi a druhý port 8080 je určen pro vývoj aplikace. NGNIX rozšiřuje HTTP požadavky pro nestandardní hlavičky CORS (Cross-origin resource sharing), technologie, která je důležitá pro komunikaci s mobilními zařízeními. NGINX předává požadavky aplikaci pomocí FastCGI protokolu. uživatel přesměrován na novou stránku, kde jsou vypsány statistiky. Architektura by se dle zákazníka zatím nijak měnit neměla.