README 

*******************************************
Carfriend - aplikácia na hlásenie nežiadúcich situácií vzťahujúcich sa k vozidlám
Autor: Tomáš Jakúbek
Dátum: 22.5.2016
Verzia: 1.0
*******************************************

Čo je súčasťou tohto CD:
	1. všetky zdrojové kódy
	2. tento README súbor
	3. inštalačný súbor .apk
	

3 spôsoby spustenia aplikácie:

1.cez aplikáciu Ionic View
	> táto aplikácia je zadarmo dostupná v Android a iOS obchode, stačí ju nainštalovať,
	> prihlásenie do aplikácie pomocou prihlasovacích údajov:
		email: cf@carfriend.cz
		heslo: carfriend
	> výber aplikácie (view app), stiahnutie súborov (poprípade synchronizácia dát so serverom),
	> (poprípade vytvoriť vlastný účet a pridať aplikáciu použitím kódu 4CD714F0 ),
 
2. inštalačný súbor .apk na Android zariadenia
	> súbor carfriend.apk presunúť do Android zariadenia a nainštalovať,
	> inštalovanie aplikácií inak ako cez Google Play môže vyžadovať povolenie v nastaveniach zariadenia,
	> na spustenie aplikácie JE POTREBNÉ BYŤ PRIPOJENÝ NA INTERNETE, lebo ostane len biela obrazovka,
	> inštalačný súbor je možné stiahnuť aj na stránke carfriend.cz

3. webová stránka carfriend.cz/www/
	> aplikácia je okresená o niektoré natívne funkcie (fotoaparát), ktoré nie sú k dispozicii
	  v prehliadači a ich vyvolanie spôsobuje chyby,
	> pre lepší užívateľský zážitok na PC odporúčam zobraziť aplikáciu vo vývojárskom režime a 
	  následne prispôsobiť zobrazenie mobilnému - 320x560 (Chrome klávesa F12 a následne ikona 
	  mobilného telefónu (toggle device mode CTRL + SHIFT + M), Firefox klávesa F12 a následne 
	  ikona responzívneho dizajnu,
	> !pri tejto možnosti ODPORÚČAM použit CHROME, ktorý zobrazuje aplikáciu správne, bez chýb a nelaguje!
	> v inom prehliadači ako chrome, nemusia pracovať všetky CSS štýly správne,
	> chrome môže blokovať prácu s GPS z dôvodu bezpečnosti,
	> v prípade chyby sa môže aplikácia skúsiť "nakopnúť" obnovením stránky (F5) a to LEN V DRUHEJ
	  ZÁLOŽKE. Inde neodporúčam používať ovládacie prvky prehliadača,
	> ak sa v konzole vyhadzajú chyby "Allow control origin", je potrebné si stiahnuť do prehliadača
  	  rozšírenie (popis je na spodu tohto readme).


Poznámky k spusteniu:
	1. inštalačný súbor na iOS nie je k tomuto dňu dispozícii, pretože na jeho vytvorenie je potrebný Mac, avšak
	   aplikáciu bolo možné vyvíjať len na Windows. Namiesto toho odporúčam použiť Ionic View alebo Chrome.



Poznámky k používaniu:
	1. NA POUŽÍVANIE JE POTREBNÉ BYŤ PRIPOJENÝ NA INTERNETE. INAK APLIKÁCIA NEFUNGUJE. Práca s lokalizáciou vyžaduje
	   mať zapnutý GPS modul na zariadení. V opačnom prípade aplikácia upozorní užívateľa na jeho zapnutie,
	2. je možné vytvoriť vlastný účet s vlastným emailom a heslom (prenos je zabezpečený), alebo je možné
	   sa prihlásiť cez testovacích užívateĺov:
		email: chodec@gmail.com
		heslo: chodec
		username: chodec

		email: vodic1@gmail.com
		heslo: vodic1
		ŠPZ vozidla: BRNO1
		farba vozidla: červenkastá
		
		email: vodic2@gmail.com
		heslo: vodic2
		ŠPZ vozidla: BRNO2
		farba vozidla: jantárová
	3. registrácia s reálnym emailom umožňuje po schválení prijímať upozornenia aj na tomto emaily,
	4. na simuláciu posielanie upozornení a správ je vhodné byť prihlásený na 2 účtoch (2 lišty v prehliadači, 
	   prehliadač a mobil, 2 mobily ...),
	5. pri používaní môže nastať situácia, kedy aplikácia dlhšie načítava (indikátor) dáta. Vtedy je potrebné počkať
	   maximálne 15 sekúnd (spomalený BaaS, väčšie množstvo dát) a ak sa dovtedy aplikácia "nespamätá", tak pravdepodobne
	   nastala chyba v aplikácii a nezobrazilo sa chybové hlásenie. Nakoľko sa môže jednať o chybu s údajmi o aktuálnom
	   užívateľovi, tak aplikácia nezobrazuje dáta správne a chová sa nepredpokladane. Vtedy je možné skúsiť aplikáciu 
	  "zresetovať" a to tak, že v druhej záložke (záložka na posielanie upozornení) sa obrazovka potiahne smerom dole a 
	   tým sa vykoná refresh aplikácie. Ak to nepomôže je nutné bohužial aplikáciu zavrieť a spustiť nanovo,
	6. pri posielaní upozornení občas nevyskočí danému vodičovi upozornenie hneď (alebo vôbec). Tento problém je pravdepodobne
	   spôsobený na strane BaaS,
	7. z časových a pracných dôvodov nie sú do systému zatiaľ vložené informácie o blokových čisteniach vo všetkých 
	   mestských častiach. Postupne ich budem dopĺňať,
	8. v každej záložke je možné obsah dát refreshnúť potiahnutím dole. Táto funkcia niekedy v prehliadačoch na PC nefunguje,
	9. aby vodič mohol dostávať "blízke upozornenia" musí najskôr zabezpečiť vozidlo. Doba zabezpečenia je stanovená na hodinu. V 
	   prípade kedy užívateľ medzitým vypne aplikáciu, tak po jej zapnutí sa toto zabezpečenie načíta. Pri týchto upozorneniach je možné
	   (lebo je známa poloha upozornenia a aj vozidla) zobraziť mapu, ktorá vykresľuje vzdialenosť medzi vozidlom a upozornením. Mapu 
	   je možné zobraziť potiahnutím daného upozornenia do ľava (tzv. swipe left),
	10. v aplikácii nie je možné napísať správu alebo poslať upozornenie sám sebe/svojmu vozidlu. Nakoľko na otestovanie blízkych upozornení
	    by bolo potrebné byť prihlásený až na 3 účtoch, tak bol ponechaný jeden spôsob ako je možné dostať upozornenie sám od seba. Keď
	    vodič zabezpečí svoje vozidlo v oblasti, kde ho má zabezpečené aj druhý vodič, tak poslaním upozornenia tomuto vodičovi sa zároveň
	    pošle blízke upozornenie odosielateľovi. Druhému vodičovi príde jedno upozornenie ("Práve dostávate papuču..."), okolitým vodičom
	    príde tiež po jednom upozornení ("V blízkosti vášho vozidla sa rozdávajú papuče..."),
	11. vodič môže hlasovať za prijaté upozornenia (ikona nastavenie prislúchajúca danému upozorneniu), čím sa zvýší/zníži dôveryhodnosť 
	    odosielateľa. Každý užívateľ začína na dôveryhodnosti 5 a v aplikácii je táto hodnota symbolizovaná ikonou srdiečka,
	12. ak užívateľ pri posielaní upozornenia pošle aj svoju identitu, je možné ho spätne kontaktovať,
	13. meniť fotky vozidla/užívateľa je možné po kliknutí na obrázok,
	14. ak sú nastevené termíny EK a TK, tak je možné zobraziť počet dní do tohto termínu kliknutím na dátum a naopak,
	15. farba vozidla je potrebný údaj, ktorý bude v budúcnosti slúžiť na kontrolu, či sa nejedná o spam,
	16. užívateľské rozhranie obsahuje niektoré prvky, ktorých funkčnosť zatiaľ nie je implementovaná (platba, údaje o platbe),
	17. výsledky niektorých akcií užívateľa sa zobrazia až keď "refreshne", zmení záložku alebo po pár sekundách,
	18. vrátenie na predchádzajúcu stránku občas nefunguje správne. Najčastejším problémom je, že sa nevykreslí spätná šípka
	    v otvorenej konverzácii. V tomto prípade  je možné sa vrátiť na Androidoch spätným tlačidlom alebo kliknutím na záložku
	    s chatmi.




Poznámky k zdrojovým kódom:
	1. aplikáciu nie je možné spustiť na localhoste v prehliadači Chrome, ktorý blokuje komunikáciu s treťou stranou. Na spustenie aplikácie zo zdrojových
	   kódov je potrebné použiť iný prehliadač alebo nainštalovať do Chromu rozšírenie "Allow-Control-Allow-Origin: *" so stránky 
	
	   https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi

	   a následne v  nastaveniach tohto rozšírenia vypnúť CORS, čím sa ikona rozšírenia zčervená a bude možné aplikáciu spustiť.
	   Preto odporúčam spúšťat aplikáciu iným spôsobom ako priamo zo zdrojových kódov.
	2. vlastné zdrojové kódy sa nachádzajú hlavne v zložkách /www a /scss. Z týchto kódov neboli odstránené komenty a výpisy do konzoly prehliadača.


	  
