    TIA specifikacia projektu Mayer B. And Company web.

    Tento software je komercny web spolocnosti Mayer B. And Company vytvoreny na zakazku, je so suhlasom zamestnanca spolocnosti pouzitelny na odovzdanie ako projekt k predmetu TIA, software nie je mozne publikovat, upravovat, rozsirovat ako celok alebo jeho casti. Odovzdany software je celok bez konecnych uprav na webe v ostrej prevadzke na www.maybc.com, teda software, ktory mi ostal po odovzdani, avsak je len na jazykove rozdiely a pochopitelne obsah v databaze takmer rovnaky.

    1 Uvod

     Tento software bude sluzit spolocnosti Mayer B. And Company k propagacii predajcov a poskytovatelov sluzieb, ktory budu ako zmluvny partner spolocnosti poskytovat zlavy po preukazani sa nakupnou kartou spolocnosti Mayer B. And Company.
     Software ma byt jednoduchy a jednoucelovy, bude pouzivat databazu MySQL na ukladanie a sprostredkovanie dat o propagovanych subjektoch poskytujucich zlavu na nakupnu kartu.
     Software sa bude skladat s uzivatelskeho prostredia pre zakaznika spolocnosti Mayer B. And Company a z administrativneho rozhrania pre spravcu spolocnosti Mayer B. And Company zodpovedneho za spravu obsahu.
     Software neumoznuje navstevnikom registrovat sa na vygenerovanej webstranke, tak isto neumoznuje mat viac ako jedneho administratora.
     Software bude vytvoreny na zaklade pouzitia php 4/5 frameworku Codeigniter 1.6.1 (www.codeigniter.com) a Smarty Template Engine 2.6.19 (www.smarty.net).
     Grafika generovaneho obsahu bude vytvorena v grafickom programe Gimp.

    2 Rozdelenie a realizacia

     2.1 Uzivatelske rozhranie

       Generovany obsah je deleny na 10 stranok:
         Uvod
         Novinky
         Loga
         Plagaty
         Kontakt
         Pre firmy
         Pre zakaznikov
         Pre clenov
         Sluzby
         Manualy

       Obsah tychto stranok budu z vecsiny pripadov tzv. clanky, pricom len obsahy stranok Loga a Plagaty sa lisi tym, ze tieto zobrazuju zoznam emblemov propagovanych subjektov alebo plagaty a informacie k propagovanym subjektom (sidlo, ponuknuta zlava, atd.).
       Obsah na uzivatelskej strane je trojjazycny, slovensky, madarsky a anglicky, pricom anglicky obsah je momentalne skryty z dovodu momentalnej nepotrebnosti.
       Obsahom stranky Loga je zoznam emblemov propagovanych subjektov, tieto su klikatelne a odkazy vedu na stranku detailu subjektu, kde sa popisuje jeho sidlo, poskytnute zlavy na tovar/sluzby a dalsie doplnujuce informacie.
       Obsahom stranky Plagaty je chronologicky zoznam plagatov propagovanych subjektov, zoradeny podla doby pridania do databaze od najnovsieho po najstarsi s moznostou filtrovania zobrazeneho obsahu podla kategorii, v ktorych su plagaty zaradene. Po kliknuti na plagat sa rovnako nacita stranka s detailami o propagovanom subjekte.
       Obsahy ostatnych stranok su tvorene tzv. clankom, ktory je vlastne html kod a texty obsahu stranok. Tymto sposobom sa da spravovat obsah jednotlivych stranok, ktory je rovnako viacjazycny.

     2.2 Administrativne rozhranie

       Obsah administrativnej casti je deleny na spravu nastavenia, spravu firiem, spravu kategorii a spravu clankov.

       2.2.1 Nastavenia

         Tu sa budu dat nastavit parametre ako je pocet vylistovanych plagatov na jednu stranku, pocet zobrazenych cisiel v strankovaci zoznamu plagatov, hlavny jazyk uzivatelskeho prostredia, prihlasovacie meno a heslo administratora.

       2.2.2 Firmy

         Tu sa bude nachadzat zoznam firiem v databazi. Tieto firmy su spolocnostou propagovane subjekty. Firma je zaradena v kategorii, obsahuje informacie o sidle, zlave, linkoch na webadresy subjektu, vyhladavacie kluce, atd.
         Z tejto stranky spravcovskeho rozhrania je mozne vytvarat nove, upravovat ci mazat existujuce firmy.

       2.2.3 Kategorie

         Tato cast umoznuje vytvarat a upravovat kategorie, do ktorych budu zaradovane propagovane subjekty.
         Kategoria ma trojjazycny nazov a stav zobrazena/skryta. Kategorie sa cez spravcovske rozhranie nedaju mazat.
         Stav kategorii je mozne lubovolne menit.

       2.2.4 Clanky

         Tato cast umoznuje menit obsah stranok zalozenych na clankoch.
         Clanok je vlastne html kod obsahu jednotlivych stranok v uzivatelskej casti.
         V tejto casti su vsetky clanky vylistovane, pricom kazdy sa da upravovat samostatne.
         Kazdy clanok je trojjazycny, co sa tyka jeho obsahu a nadpisu.
         Kedze rozlozenie stranky je pevne, nedaju sa vytvarat nove a ani mazat existujuce clanky.

     2.3 Databaza

       Databaza pozostava z 5-tich tabuliek:
         clanky
         firmy
         kategorie
         nastavenia
         sessions

       Tabulka "clanky" obsahuje data clankov v ich multijazycnej podobe, co zahrna id, nazvy v troch jazykoch, texty v troch jazykoch a url identifikator.
       Tabulka "firmy" obsahuje zaznamy tykajuce sa propagovanych subjektov, co zahrna id, nazov, id kategorie, obrazok, logo, linky, datum zapisu, adresa, popis firmy, popis zliav, vyhladavacie kluce, atd.
       Tabulka "kategorie" obsahuje data o kategoriach do ktorych su zaradovane firmy, kazdy zaznam obsahuje id, nazov kategorie v troch jazykoch a informaciu, ci je kategoria skryta alebo nie.
       Tabulka "nastavenia" obsahuje maly pocet konfiguracnych udajov pre aplikaciu, obsahuje stlpce id, nazov a hodnota. Kazda konfiguracna polozka ma vlastny zaznam.
       Tabulka "sessions" obsahuje data na porovnavanie platnosti sessions z frameworku Codeigniter (www.codeigniter.com), jej definicia je session_id, ip_address, user_agent a last_activity. Obsahuje teda zaznam o jednotlivych majiteloch session dat, sluzi hlavne na autentifikaciu administratora.

       Databaza je typu MySQL verzie 5, i ked kompatibilna by mala byt aj s verziou 4.

     2.4 Doplnujuce udaje

       Aplikacia vyuziva php modul replace engine na maskovanie url. Samotny Codeignite pracuje vo vychodzom nastaveni s url adresou typu www.domena.sk/index.php/controller/url_parametre, nepouziva $_GET data.
       Adresa administrativneho rozhrania aplikacie bude na adrese www.aplikacia.sk/admin, co nie je fyzicka adresa ale url maska.
       Aplikacia sa nachadza v adresary system/application, kde su nasledne adresare:
         /controllers <- obsahuje funkcie vykreslovania generovaneho obsahu, tie pracuju s obsahom v dalsom adresare
         /models <- obsahuje takzvane modely na pracu s databazov a algoritmy aplikacie na manipulaciu s jej datami,
         /views <- obsahuje sablony html vzhladu vygenerovanych stranok,
         /config <- obsahuje konfiguracne subory Codeigniter pre aplikaciu, ako je napriklad nastavenie databazy, controllerov, routovanie url, a podobne,
         /libraries <- tu bude umiestneny adresar Smarty Template Engine, sluziaci na finalne vygenerovanie obsahu stranok.
       
