Dokumentácia projektu 2 na UWA

Popis a rozdelenie aplikácie

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.

Popis úrovní použivateľa

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ú:

  1. anonymný použivateľ - neprihlásený použivaťeľ, nemá žiadne privilégiá,
  2. bežný použivateľ - prihlásený použivateľ, má oprávnenie vytvárať objednávky v košíku,
  3. editor - prihlásený použivateľ, má oprávnenie na vstup do panela administrátora, kde môze spravovať produkty a objednávky,
  4. administrátor - prihlásený použivateľ, má oprávnenie spravovať použivateľské kontá v administrácii.

Popis stránok aplikácie

Frontend - úvod

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).

Frontend - Produkty

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.

Frontend - Košík

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.

Frontend - Použivatelia

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.

Administrácia - Index

Táto stránka je východzou stránkou panela administrátora, zobrazuje len základné informácie o administrácii.

Administrácia - Produkty

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.

Administrácia - Objednávky

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ý.

Administrácia - Použivatelia

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.

Popísanie programového fungovania aplikácie

Rozdelenie

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 a možnosti nastavenia.

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ýchodzí použivateľia

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

Strom adresárov (nie úplný):

Zoznam modelov a abstrakcií databázových tabuliek