Nástroj pro analýzu a vizualizaci dat z hlasování Zastupitelstva města Brna
Kristýna Zaklová (kristyna.zaklova@gmail.com), 2022

Tento nástroj vznikl ve spolupráci s Magistrátem města Brna a jeho hlavním cílem 
bylo zpracovat a vizualizovat data z reálných hlasování členů Zastupitelstva 
města Brna (ZMB). Pro účely analýzy správnosti dat mi byly poskytnuty přímo 
hlasovací protokoly, jež jsou veřejně dostupné v rámci jednotlivých zápisů ze ZMB. 
Rovněž existuje veřejná datová sada publikující tato data ve formátu JSON 
- https://data.brno.cz/documents/f3c663acc9c047cfa898afea94ea3711/about.

Jedná se o první verzi aplikace, která byla koncipována tak, aby vyhovovala 
potřebám města Brna, a podporuje zobrazení dat pouze z jednoho zastupitelstva, 
přičemž vytvářena byla pro 8. ZMB, které bylo aktivní v letech 2018-2022.

V případě zájmu o využití nástroje mě, prosím, kontaktujte ohledně licenčních 
podmínek.

----------
Využité technologie:
	* MySQL - SŘBD pro relační databáze
			  https://www.mysql.com/
	* Flask - framework v programovacím jazyce Python
			  https://flask.palletsprojects.com/en/2.2.x/
	* React - JavaScriptová knihovna pro tvorbu uživatelského rozhraní
			  https://reactjs.org/
	* PrimeReact - JavaScriptová knihovna s komponentami pro uživatelské rozhraní
				   https://www.primefaces.org/primereact/

----------
Obsah odevzdaného adresáře:
	* api/ ................... složka obsahující jednotlivé endpointy
	* zmb-hlasovani/ ......... složka obsahující frontendovou část aplikace
	* app.py ................. soubor řídicí backendovou část aplikace
	* data_insert.py ......... skript pro vložení dat z hlasovacích protokolů
	                           do databáze (po zasedáních)
	* db.sql ................. skript pro inicializaci databáze
	* requirements.txt ....... seznam balíčků prostředí

----------
Lokální spuštění aplikace:
1) vytvoření databáze pomocí skriptu 'db.sql'

2) spuštění backendu
	* vyžadované závislosti jsou součástí souboru 'requirements.txt'
	* příkaz 'flask run'
	* testovací endpoint - http://localhost:5000/flask/hello
	* v souboru 'api/DatabaseHandler.py' je třeba upravit přihlašovací údaje 
	  do databáze, a poté otestovat jakýkoliv endpoint komunikující s databází, 
	  např. http://localhost:5000/flask/generalData

3) spuštění frontendu
	* nutné upravit konfiguraci v souboru 'zmb-hlasovani/.env'
	* příkaz 'npm start'
	* homepage je dostupná pod odkazem - http://localhost:3000/