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)