Popis implementace - kubadrbohlav/filmcity GitHub Wiki
Architektura
Root aplikace obsahuje následující soubory:
- 404.php - stránka, na kterou je uživatel přesměrován po zadání špatné url adresy
- category.php - zobrazuje kategorizovaný seznam recenzí
- index.php - Domovská stránka
- login.php - přihlašovací formulář
- logout.php - odhlášení uživatele a následné přesměrování na domovskou stránku
- post.php - detail recenze
- register.php - registrační formulář
Dále se v rootu nachází složky:
- assets/ - CSS styly, fonty, Javascript a obrázky pro layout
- core/ - Šablony pro hlavičku a patičku stránky, menu atd. Definice funkcí a připojení k databázi
- profile/ - uživatelské stránky pro správu recenzí a ostatní nastavení (viz dále)
- uploads/ - ilustrační obrázky recenzí
Profile/
Tato složka obsahuje soubor index.php, který slouží jako controller a zobrazuje obsah podle parametru v url. Podsložka pages obsahuje soubory s definicemi struktur jednotlivých uživatelských stránek.
Obsluha formulářů
Všechny formuláře jsou validovány pomocí prohlížeče (required, pattern,..), Javascriptu a PHP. Korektní data jsou poté zpracovány funkcemi definovanými v souboru /core/core.php a uloženy do databáze.
Zabezpečení
Hesla uživatelů jsou ukládána v zašifrované formě - Blowfish (symetrická bloková šifra).
Frameworky
Web používá front-end framework Bootstrap (konkrétně komponentu Grid) pro tvorbu responzivního layoutu.
Zajímavosti
- Vysouvací mobilní menu - jQuery (/assets/js/scripts.js)
- ScrollToTop tlačítko - jQuery (/assets/js/scripts.js)
- Speciální hover efekt v hlavním menu - CSS
- Formulář na detailu recenze odesílán pomocí AJAX (/assets/js/rate-post.js)