Individuální projekt z předmětu webových stránek 2012/2013 - Anketa
Daniel Beznoskov, 2 IT A Skupina 1
Úvod Prohlášení o autorství Prohlašuji, že jsem individuální projekt z předmětu webových stránek na téma Anketa vypracoval samostatně.
Anotace Tento projekt je zaměřen na anketní systém. Anketní systém spočívá v zadávání různých anket. Ankety zadávájí uživatelé, kteří jsou přiřazení k nějaké firmě. Hlasovat v anketách mohou i obyčejní návštěvníci. Kromě hlasování mohou shlédnout celkové statistiky o anketě.
Annotation This project is focused on poll system. Poll system consists of creating various polls. To create polls users have to be assigned to a company. Voting in polls is open, that means even ordinary visitors can vote. In addition of voting visitors can see the overall statistics of the poll.
Klíčová slova Anketa, systém, uživatelské, prostředí, administrace, statistiky, dynamické, redakční systém
Keywords Poll, system, user, interface, administration, statistics, dynamic, content management system
1
Instalace systému Krok 1. – Stáhněte a uložte archivovaný systém z odkazu uvedeného níže. Krok 2. – Rozbalte archive na váš FTP server. Krok 3. – V prohlížeči zadejte odkaz na instalaci systému např. http://www.vasweb.cz/anketa/install . Krok 4. – Systém je nainstalován, pro přístup přejděte na odkaz se systémem, např. http://www.vasweb.cz/anketa/ Odkaz na stažení systému: http://www.student.sps-prosek.cz/~beznda11it/_zdroje/apps/anketa_v1.zip
Ukázka systému: Funkční system s ukázkovými daty lze najít na adrese http://www.student.sps-prosek.cz/~beznda11it/web/anketa_v1/ Pro zkoušku systému můžete použít nasledujicí přihlašovací údaje: Uživatelské jméno: demo Heslo: demo
2
Obsah Úvod ........................................................................................................................................................................ 1 Prohlášení o autorství ......................................................................................................................................... 1 Anotace ............................................................................................................................................................... 1 Annotation .......................................................................................................................................................... 1 Klíčová slova........................................................................................................................................................ 1 Keywords ............................................................................................................................................................ 1 Instalace systému .................................................................................................................................................... 2 Ukázka systému .................................................................................................................................................. 2 Informace o systému ............................................................................................................................................... 4 Použité technologie ............................................................................................................................................ 4 Uživatelská dokumentace ....................................................................................................................................... 5 Vzhled stránky .................................................................................................................................................... 5 Struktura stránky ................................................................................................................................................ 5 1.
Přihlašovací formulář ...................................................................................................................... 5
2.
Administrace .......................................................................................................................................... 6
3.
Seznam anket ........................................................................................................................................ 7
4.
Anketa.................................................................................................................................................... 7
5.
Statistiky ankety .................................................................................................................................... 8
Technická dokumentace ......................................................................................................................................... 9 Konfigurace ......................................................................................................................................................... 9 Vzhled stránky .................................................................................................................................................... 9 Struktura webu ................................................................................................................................................. 10 admin............................................................................................................................................................ 11 core............................................................................................................................................................... 11 css ................................................................................................................................................................. 12 img ................................................................................................................................................................ 12 js ................................................................................................................................................................... 12 anketa ........................................................................................................................................................... 11 Databáze ........................................................................................................................................................... 12 Popis tabulek v databázi ............................................................................................................................... 13 Funkčnost administrace .................................................................................................................................... 13 Závěr...................................................................................................................................................................... 14
3
Informace o systému Použité technologie HTML – bylo použito pro vypisování různých elementů na stránce, např. Formuláře, odkazy, strukturu stránky (navigace, obsahová část, menu). CSS – bylo požito pro nastavení stylu elementů na stránce (např. Jejich velikost, odsazení, barvu) JavaScript – byl použit pro potvrzovací dialogy jQuery – bylo použito pro efekty, např. vyjíždění popisu anket PHP – bylo použito pro samotnou funkčnost částí stránky, např. Výpis anket, statistiky anket, uživatelské prostředí - administrace SQL – bylo použito na výběr dat z databáze např. Informace o firmě, uživatelích, anketách.
4
Uživatelská dokumentace Vzhled stránky Stránka je rozdělena do tří částí: 1. Hlavička 2. Navigace 3. Obsahová část
Struktura stránky Anketní systém se skládá z pěti částí.
1. Přihlašovací formulář
Zde se může uživatel s použitím vlastních údajů přihlásit do administrace.
5
2. Administrace
V administraci je uživatel schopen sledovat, upravovat, přidávat ankety, upravovat své vlastní informace, informace o firmě, či nalézt seznam všech uživatelů ve firmě, avšak zatím jsou funkční odkazy pouze odkazy na styly anket a profil firmy.
Styl anket
Zde může uživatel najít opět seznam anket, avšak pouze se stylystikou anket (tj. Barva písma, pozadí, otázek, nadpisu). Pokud uživatel nenastaví styl anket, je zvolen základní styl.
Profil Firmy
Na této stránce je uživatel s oprávněním administrátora schopen najít veškeré informace o firmě.
6
3. Seznam anket
Seznam všech anket na stránce, obsahujicí identifikační klíč (ID) ankety a její název. Ikonka lupy odkazuje na výpis samotné ankety.
4. Anketa
Samotná anketa, která obsahuje její název (titulek), název otázky a odpovědí, uživatel bude schopen v budoucnu hlasovat v dané anketě.
7
5. Statistiky ankety
Graficky znázorněné statistiky, obsahujicí procentuální zastoupení odpovědí.
8
Technická dokumentace Konfigurace Konfigurace webové aplikace se nachází ve složce core v souboru init.php (/core/init.php). V konfiguraci lze nalézt nastavení připojení k databází a dále inicializaci dat k funkčnosti aplikace.
Vzhled stránky Celkový vzhled stránky pro návštěvníka je rozdělen na tři části: 1. Hlavička 2. Navigace 3. Obsahová část Cílem hlavičky je přenést pozornost uživatele na navigační, ale především na obsahovou část. Pro hlavičku byly tedy zvolené spíše tmavší barvy, ale takové, které by také byly oku příjemné.
9
Pro administrátora je web rozdělen také na tři části, s tím rozdílem, že horní navigace se mění na levou navigaci a funguje spíše jako přesměrování na jiný části webů, funguje především jako menu.
Struktura webu Webová aplikace obsahuje šest základních složek – admin, core, css, img, js a kořen složky.
10
anketa Kořenová složka, obsahuje samotné část webů a propojení mezi nimi(přihlašovací formulář, registrace, seznam anket, samotná anketa a funkce pro přihlášení/odhlášení) admin V této složce jsou všechny soubory pro usnadnění spravování webové aplikace – tj. Administrace. V podsložce inc jsou soubory, které zajišťujou dynamické vkládání určitých částí v administraci.
aside.php – levé menu v administraci foot.php – patička webu v administraci head.php – hlavička webu v administraci
V samotné složce admin jsou soubory k dané sekci administrace a funkce pro zajištění funkčnost akcí provedených v administraci (např. Přidání, aktivování, smazání ankety atp.), tyto funkce zajišťuje konkrétně soubor actions.php.
index.php - zajišťuje fungování administrace. poll_list.php - konkrétní čast v administraci – seznam anket.
core V tomto adresáři jsou obsaženy funkce, které jsou použity vícekrát na stránce.
general.php – obecné funkce (např. Ošetření dat formuláře, vypisování chyb atp.) init.php – připojení k databázi, propojení ostatních souborů s funkcemi, nastavení sezení.. user.php – funkce pro registraci, či přihlášení uživatele
11
css Složka obsahujicí kaskadové styly img Složka obsahujicí obrázky použité na stránce, především ikonky. js Složka obsahujicí javascriptové soubory
Databáze Databáze obsahuje celkem 7 tabulek, je navržena tak, aby se zabránilo redundanci dat, dvě tabulky jsou pro uživatelské prostředí (firma, uživatel) a zbylé pro anketu.
12
Popis tabulek v databázi:
ps_company – tabulka obsahujicí všechny potřebné informace o firmě a navíc obsahuje i tzv. „unikátní klíč“, pomocí kterého se uživatel může po registraci připojit k určité firmě. ps_users – tabulka obsahujicí informace o uživateli. Součástí je sloupec „rights“, který udává práva uživatele, je propojená s tabulkou ps_company, jelikož uživatel může být součástí firmy. ps_poll – tabulka obsahujicí informace o anketě jako celku, tj. Název, činnost ankety a vzhled, který je připojen na tabulku ps_themes. ps_question – obsahuje otázky dané ankety ps_type – propojená s ps_question, určuje typ otázky (zaškrtávácí, vyplňovací, výběrové..) ps_answers - obsahuje odpovědi dané otázky ps_themes – obsahuje údaje o vzhledu ankety
Funkčnost administrace Adminstrace je rozdělená do tří úrovní, nazvané „user“, „admin“ a „superadmin“, každá úroveň má jiné možností.
User – nejnižší úroveň, kde lze pouze přidávat a upravovat ankety firmy, ve které daný uživatel je + upravovat svůj uživatelský profil. Admin – střední úroveň, je to uživatel, který je administrátor své firmy, může tedy dělat vše, co s ní souvisí (upravovat informace o firmě, uživatelích a všechny údaje o anketách a navíc může nastavovat jejích vzhled) SuperAdmin – nejvyšší úroveň, je to administrátor celé webové aplikace, je schopen upravovat informace o firmách, uživatelích, anketách atp.
13
Závěr Celkový projekt je z přibližně z 40% hotový, chybí zapisování do databáze (např. Přidávání nových otázek, firem atp.) a další drobné funkce, které by zlepšily uživatelské zkušenosti. Podle mého mínění je ještě dost věcí na vylepšení, hlavně dopracování funkcí, v budoucnu chci využit sloupců v tabulkách, které jsou momentálně bez použití, konkrétně unique_id, což je unikátní klíč firmy, pomocí kterého se uživatel může připojit k dané firmě. Celkově plánuji více propracovat úrovně administrace, aby uživatel po registraci dostal nejnižší úroveň a měl na výběr pouze vytvořit novou firmu, či připojit se ke stávajicí, pokud vytvoří novou a bude schválena, dostaně vyšší úroveň, kde už může spravovat vše ohledně své firmy.
14