BT
letný semester
5 kreditov
Ak nevieš čo je frontend a backend, tak si to môžeš predstaviť veľmi jednoducho. Frontend, je všetko, čo vidíš na webových stránkach, ako napríklad obrázky, texty, tlačidlá,.. Backend predstavuje všetko, čo sa deje, na pozadí stránky. Napríklad posielanie emailov po odoslaní formulára, pridávanie, editovanie či mazanie článkov. Naučíš sa, ako sa vytvárajú veľké webové aplikácie, ktoré majú svoje administrátorské rozhranie s rolami pre rôznych používateľov. Po absolvovaní predmetu budeš schopný vytvoriť v technológií Laravel akúkoľvek stránku alebo blog, ktorá môže mať svojich správcov.
Na tomto predmete budeš musiť priebežne vypracovávať individuálne zadania. Na finálny projekt budete rozdelení do skupín a spolu so spolužiakmi budete musieť vytvoriť aplikáciu, ktorú na konci semestra odprezentujete. Úspešne absolvuješ predmet, ak celkový súčet bodov za aktívnu účasť a riešenie projektov dosiahneš 70% z celkového počtu bodov, ktoré môžeš získať. Hodnotenie: A = 100 % – 95%, B = 94 % – 90 %, C = 89 % – 85 %, D = 84 % -80 %, E = 79 % – 70 %, FX = 69 % – 0 % .
1. Backendové technológie. Najpoužívanejšie frameworky. Benefity rozdelenia aplikácie na frontend/backend. Nastavenie potrebných nástrojov pre prácu s frameworkom Laravel ako je Composer alebo XAMPP/Docker.
2. Laravel. Integrácia databázových funkcionalít. Konfigurácia aplikácie (spojenie s databázou atď.), vysvetlenie adresárovej štruktúry frameworku Laravel. – domáca príprava: Vytvorenie vývojového prostredia s podporou Composer v domácom prostredí (2 hod.)
3. Architektonický koncept MVC. Štruktúra aplikácie a typické príklady controllerov. Prepojenie vytvorenej funkcionality s konkrétnou URL. – domáca príprava: Oboznámenie sa s konzolovým rozhraním Artisan. Tvorba jednoduchých controllerov. (6 hod.)
4. Router a jeho úloha pri vykonávaní aplikácie. vysvetlenie doplnkových funkcií triedy Illuminate\Routing\Router a jej využitie pri prepájaní funkcionality v controlleroch. – domáca príprava: Tvorba pokročilejších controllerov. (6 hod.)
5. Práca na databázovej úrovni, migrácie. Príprava databázovej štruktúry za pomoci migrácii (vytvorenie schémy s cudzími kľúčmi atď.). Naplnenie databázy údajmi pomocou seederov. Definícia tímov a nastavenie funkčných a nefunkčných požiadaviek na semestrálny tímový projekt – domáca príprava: Príprava ERD pre semestrálny projekt, príprava špecifikácie projektu. (6 hod.)
6. Objektovo relačné mapovanie. Benefity ORM. Tvorba modelov za pomoci Eloquent ORM. Definovanie relačných prepojení 1 k 1 s databázovou schémou. – domáca príprava: Precvičenie optimalizačných techník, ORM príklady. (6 hod.)
7. Návrh aplikácie. Vytvorenie základnej vizuálnej logiky za pomoci šablónovacieho systému Blade a prepojenie tohto vizuálu s metódami v controlleri. – domáca príprava: Príprava dizajnu projektu. (4 hod.)
8. Webové formuláre ako základný prvok aplikácie, manipulácia s údajmi pomocou triedy Illuminate\Http\Request. Koncept Active record. – domáca príprava: Doplnenie jednotlivých CRUD operácií. (6 hod.)
9. Bezpečnosť a ochrana aplikácie pomocou integrovanej validácie a CSRF. Základné koncepty zabezpečenia aplikácie postavenej na frameworku Laravel. – domáca príprava: Ladenie bezpečnosti pripravenej aplikácie (6 hod.)
10. Predstavenie konceptu Middleware a jeho integrácia do existujúcej aplikácie. Využitie servis providerov na registráciu externých balíkov. – domáca príprava: Inregrácia Middleware. (2 hod.)
11. Fasáda Illuminate\Support\Facades\Session a helper funkcií v session() pre manipuláciu s používateľmi. Príklady aplikácie. – domáca príprava: Tvorba používateľského rozhrania. (6 hod.)
12. Unit testovanie v PHP. Vytvorenie jednoduchého HTTP testu pre časť vytvorenie aplikácie pomocou PHPUnit implementácie vo frameworku Laravel. – domáca príprava: Pokrytie vzorovej aplikácie testami na 30%. Finalizácia projektu. (16 hod.)
13. Finalizácia a prezentácia tímového semestrálneho projektu v podobe aplikácie, ktorá musí byť kontajnerizovaná pomocou nástroja Docker – domáca príprava: Finalizácia tímového projektu, príprava prezentácie a prezentácia. (20 hod.)