Aplikácia je online obchod s IT výrobkami (nie nutne reálnymi). Rozdelená je na použivateľskú časť a administrátorský panel na správu obsahu.
Použivateľská časť je rozdelená na úvodnú stránku, zoznam produktov, nákupný košík a správu použivateľovho konta.
Administrátorský panel je rozdelený na úvodnú stránku, správu produktov, správu objednávok a správu použivateľov.
Použivateľia sa delia na celkom štyri skupiny oprávnení. Každá vyššia skupina použivateľa dedí všetky oprávnenia od nižších skupín. Použivateľské skupiny sú:
Nijaká zvláštna funkcionalita. Zobrazuje úvodný text a zoznam maximálne 5tich náhodných produktov so zvýhodnenou cenou. Produkt je možno rovno vložiť do košíka (1 kus).
Zobrazuje sa zoznam produktov, maximálne 10 na stránku. Naspodu stránky je stránkovací systém na prechádzanie mezdi produktami. Produkt je možno rovno vložiť do košíka (1 kus).
Zobrazuje detail produktu, ak je produkt vybraný. Dovolí vložiť produkt do košíka v špecifikovanom množstve.
Zobrazuje zoznam produktov v košíku. Každý produkt je možné s košíka vyhodiť alebo upraviť počet kusov v košíku.
V prípade, že použivateľova skupina má možnosť odosielať objednávky, je možné pokračovať k pokladni.
V pokladni je nutné vyplniť formulár, súhlasiť s obchodnými podmienkami (lorem ipsum ...) a následne je možné vytvoriť objednávku.
Stránku umožňuje prihlásiť sa, zaregistrovať sa a spravovať konto či objednávky.
Prihlasovanie je realizované klasicky odoslaním prihlasovacieho mena a hesla bez ďalších bezpečnostných opatrení. Meno a heslo je pred kontrolou existencie konta s týmito údajmi zahashované funkciou sha1.
Registrácia vyžaduje správne vyplniť formulár, tj. meno použivateľa, krstné meno a priezvisko, a heslo.
Správa použivateľského konta umožňuje odhlásiť sa, alebo upraviť svoje krstné meno a priezvisko, a heslo.
Správa použivateľského konta taktiež umožňuje spravovať vlastné objednávky. V prípade, že stav objednávky je "prijatá na spracovanie", je možno túto upravovať alebo zmazať. Zmazať objednávku je možné tiež v stave "dokončená". Zoznam objednávok je možné filtrovať podla stavu a rovnako je zobrazovaných iba 10 objednávok naraz, naspodu stránky je stránkovací mechanizmus.
Táto stránka je východzou stránkou panela administrátora, zobrazuje len základné informácie o administrácii.
Zobrazuje sa stránkovaný zoznam produktov (po 10 na stránku) a súčasne je zobrazený formulár na vytvorenie nového produktu.
Po vyplnení formulára sa vytvorí nový produkt. Formulár skontroluje správnosť vyplnených údajov.
Zobrazené produkty je možné vymazať alebo upraviť, na úpravu je samostatný formulár, rovnako kontroluje správnosť údajov.
Zobrazuje objednávky roztriedené podla stavu, na každý stav existuje vlastná tabuľka s vlastným stránkovaním (10 objednávok na stránku v každej tabuľke).
Objednávky je možno upravovať alebo vymazávať.
Úprava objednávok zobrazí formulár, v ktorom možno zmeniť všetky parametre objednávky, tento formulár je aplikáciou validovaný.
Zobrazuje formulár na vytvorenie nového použivateľa a zoznam už existujúcich použivateľov, zobrazuje 10 záznamov na stránke.
Použivateľov je možné upravovať alebo vymazávať.
Nie je dovolené vymazať vlastný účet. Vymazanie účtu vymaže aj všetky objednávky relatívne k tomuto účtu.
Úprava účtu dovoluje meniť všetky parametre použivateľovho účtu. Nie je možné zmeniť skupinu vlastnéhu účtu.
Aplikácia je naprogramovaná na spôsob rozdelenia na modely (programová logika, správa databázy), šablóny vzhladu a ovládače aplikačnej logiky (model-view-controller logika). Aplikácia je plne objektová, vyžaduje PHP verzie 5.x.
Modely existujú v troch druhoch:
Logika a správa šablón obsahu je zabezpečená pomozou Swift template engine (môj ročníkový projekt z minulého obdobia štúdia), popis systému je na http://swift.thelambda.sk/.
Ovládače pracujú na princípe volania akcií. Každá akcia je jedna stánka alebo činnosť, ktorá sa vykoná s následným presmerovaním na inú akciu/ovládač. Ovládače vytvárajú objekty modelov a ich pomocou dotvárajú aplikačnú logiku, taktiež vkladajú dáta do šablón a volajú šablónovací systém na zobrazenie obsahu stránok.
Základný systém je základný objekt celej aplikácie. Realizuje volania ovládačov, pripojenie k databázi, obsahuje pomocné metódy na generovanie liniek, získavanie dát z url, vytvorenie modelov, nastavovanie dát šablón, atď.
Nastavenie je realizované cez konfiguračný súbor. Tento súbor obsahuje konfiguráciu pre databúzu, rovnako umožňuje zapnúť alebo vypnúť podporu pre php rewrite modul a umožňuje zapnúť alebo vypnúť automatické vymazávania skompilovaných šablon (zapína sa pri vývoji aplikácie alebo zmene šablón).
V databázi existujú tri použivateľské kontá, BOL BY SOM MOC RÁD, KEBY NIKTO Z HODNOTIACICH, ČI UŽ ŠTUDENT ALEBO UČITEĽ, NEMENIL ŽIADNE ASPEKTY TÝCHTO ÚČTOV!!
Zoznam použivateľských účtov v tvare login/heslo:
Strom adresárov (nie úplný):