Mendelova univerzita v Brně Provozně ekonomická fakulta
Návrh, implementace a nasazení online rezervačního systému pro taneční studio Bakalářská práce
Vedoucí práce: Ing. Naděžda Chalupová, Ph.D. Brno 2012
Martin Grulich
Rád bych zde poděkoval vedoucí své práce Ing. Naděždě Chalupové, Ph.D za její čas a poskytnuté cenné rady, které mi s prací velmi pomohly a usnadnili mi její dokončení.
Prohlašuji, že jsem bakalářskou práci „Návrh, implementace a nasazení online rezervačního systému pro taneční studio“ vypracoval samostatně s využitím uvedených pramenů a literatury, které jsou v práci uvedeny. V Brně dne 21. května 2012
__________________
Abstract Grulich M. Design, implementation and deployment of online reservation system for dance studio. Bachelor thesis, Brno, 2012. This bachelor thesis deals with the creation of online reservation system for pole dance studio Citadela Mefisto. The theoretical part deals with general issues in creating web applications, description of the studio and its needs, and finally evaluation of several existing reservation systems on the market. Practical part is to program the reservation system and a graphic design according to requirements and needs of the studio Citadela Mefisto. Keywords Reservation system, creating database, webdesign.
Abstrakt Grulich M. Návrh, implementace a nasazení online rezervačního systému pro taneční studio. Bakalářská práce, Brno, 2012. Tato bakalářská práce se zabývá tvorbou online rezervačního systému pro pole dance studio Citadela Mefisto. Teoretická část práce se věnuje všeobecné problematice tvorby webových aplikací, popisu studia a jeho potřeb a nakonec zhodnocení několika stávajících rezervačních systémů na trhu. Vlastní práce spočívá v naprogramování rezervačního systému a vytvoření grafického návrhu dle požadavků a potřeb studia Citadela Mefisto. Klíčová slova Rezervační systém, tvorba databází, webdesign.
Obsah
9
Obsah 1
2
Úvod a cíl práce 1.1
Úvod .........................................................................................................13
1.2
Cíl práce ...................................................................................................13
Všeobecná problematika návrhu a tvorby webových aplikací
14
2.1
Metodický postup tvorby webu ...............................................................14
2.2
Maslowova pyramida...............................................................................16
2.2.1
Dostupnost ....................................................................................... 17
2.2.2
Použitelnost...................................................................................... 17
2.2.3
Důvěra a touha................................................................................ 20
2.3
SEO ......................................................................................................... 20
2.4
Technologie pro realizaci.........................................................................21
2.4.1
HTML ...............................................................................................21
2.4.2
CSS ...................................................................................................21
2.4.3
PHP ..................................................................................................21
2.4.4
MySQL..............................................................................................21
2.4.5
Java Script....................................................................................... 22
2.5
3
13
Tvorba databáze v MySQL...................................................................... 22
2.5.1
Základní pojmy ............................................................................... 22
2.5.2
Typy relací ....................................................................................... 23
2.5.3
Normalizace databáze..................................................................... 26
Analýza současného stavu podniku 3.1
28
Pole dance ............................................................................................... 28
3.1.1
Odkud se vzal pole dance? .............................................................. 28
3.1.2
Pole dance dnes............................................................................... 28
10
Obsah
3.2
3.2.1
Dosavadní způsob rezervací ........................................................... 29
3.2.2
Požadavky a potřeby studia ............................................................ 29
3.3 4
5
Podnik..................................................................................................... 28
Konkurence............................................................................................. 30
Rezervační systémy na trhu 4.1
Rezervační systém Bizzy.......................................................................... 31
4.2
Rezervační systém SuperSaaS ................................................................32
4.3
Rezervační systém MRBS........................................................................33
4.4
Rezervační systém iSport .......................................................................34
4.5
Závěrečné zhodnocení .............................................................................35
Vlastní práce
36
5.1
Analýza požadavků ..................................................................................36
5.2
Návrh databáze........................................................................................37
5.3
Návrh webového rozhraní ...................................................................... 40
5.3.1
Informační architektura ................................................................. 40
5.3.2
Drátěný model ................................................................................ 40
5.3.3
Grafický návrh ................................................................................. 41
5.4
Technický popis systému.........................................................................42
5.4.1
Spuštění systému .............................................................................43
5.5
Kontrola validace a SEO..........................................................................44
5.6
Popis fungování systému.........................................................................45
5.6.1
Nepřihlášený uživatel ......................................................................45
5.6.2
Rozhraní pro zákazníky ...................................................................45
5.6.3
Administrační rozhraní .................................................................. 46
5.6.4
Lektorské rozhraní...........................................................................47
5.7 6
31
Přínos pro podnik ....................................................................................47
Závěr a diskuze
48
Obsah
11
7
Literatura
49
A
Dodatečné obrázky
51
12
Seznam obrázků
Seznam obrázků Obr. 1 Maslowova pyramida
16
Obr. 2
Ukázka tabulky s jejími sloupci a záznamy (řádky)
23
Obr. 3
Typ relace 1:1
24
Obr. 4
Relace 1:N
25
Obr. 5
Zobrazení relace M:N
26
Obr. 6 Rozklad relace M:N pomocí přidané tabulky pro lepší funkčnost
26
Obr. 7
Rozhraní rezervačního systému Bizzy
31
Obr. 8
Rozhraní rezervačního systému SuperSaaS
32
Obr. 9
Rozhraní rezervačního systému MRBS
33
Obr. 10
Uživatelské rozhraní systému iSport
34
Obr. 11 Část schéma databáze zobrazující tabulku uživatelů, lekcí a evidenci přihlášení 40 Obr. 12 Informační architektura systému v případě nepřihlášeného uživatele
40
Obr. 13
Rozložení prvků na stránce pomocí drátěného modelu
41
Obr. 14
Vzhled domovské stránky studia
41
Obr. 15
Vzhled systému z pohledu přihlášeného uživatele
42
Obr. 16
Výsledek SEO testu ze stránky seo-analyzator.cz
44
Obr. 17
Test validace – web je plně validní dle normy HTML5
45
Obr. 18
Schéma databáze
52
Obr. 19
Ukázka uživatelského rozhraní – pohled na rozvrh
52
Úvod a cíl práce
13
1 Úvod a cíl práce 1.1
Úvod
V dnešní době, kdy Internet neodmyslitelně patří téměř do každé domácnosti a kdy se relativně velká část obchodování a nakupování přesunula právě na Internet, je velkou výhodou mít pro svou firmu zřízenou kvalitní webovou prezentaci. Druhů webových prezentací je velká spousta, od statických stránek až po rozsáhlé elektronické obchody. Lidé tak mohou z klidu a pohodlí domova nakupovat, zařizovat dovolené či hledat práci. Osobně se zabývám tvorbou webových prezentací a tak mi přišla jako zajímavá možnost a zkušenost zpracovat webovou aplikaci pro jedno taneční studio, spojenou například právě s rezervačním systémem. V dnešní době je na Internetu mnoho rezervačních systémů a jedná se především o pohodlí zákazníka, který nemusí nikam chodit a z tepla domu je schopen získat potřebné informace nebo si například zakoupit permanentku a přihlásit se na nějaké lekce. V první části práce se stručně zabývám obecnou problematikou návrhu a tvorby webových stránek a aplikací týkající se dostupnosti, použitelnosti a optimalizací pro vyhledávače. Další kapitola pak popisuje několik vybraných komerčních i volně stažitelných rezervačních systémů. Druhá část práce je pak věnována vlastní práci, tedy vývoji vlastního rezervačního systému a jeho nasazení.
1.2 Cíl práce Cílem této práce je efektivně navrhnout a implementovat online rezervační systém pro taneční pole dance studio Citadela Mefisto za pomocí technologií HTML, PHP a MySQL. Systém bude tvořen na míru dle požadavků tanečního studia tak, aby vyhovoval všem potřebám zákazníka a zefektivnil tak podnikatelskou činnost studia.
14
Všeobecná problematika návrhu a tvorby webových aplikací
2 Všeobecná problematika návrhu a tvorby webových aplikací Samotný návrh webové aplikace spočívá v mnoha krocích a ve specializovaných firmách je na každý úkon zapotřebí určitého člověka s dobrými zkušenostmi v dané oblasti. Celý proces návrhu se nazývá webdesign a zahrnuje všechny kroky od vstupní analýzy, přes grafický návrh až po optimalizaci pro vyhledávače (SEO).
2.1 Metodický postup tvorby webu Základní otázky Každý návrh webu začíná hlavní otázkou – jaký je účel této webové prezentace? Následují otázky, pro jakou cílovou skupinu bude web určen, jaké jsou jeho priority a čeho vlastně webovou prezentací/aplikací chceme docílit? Po zodpovězení těchto otázek a určení pevných cílů webu přichází zpracování konkrétních požadavků zákazníka na web a zmapování konkurence. Jedná se například o řešení vzhledu, škálovatelnosti (možnost budoucích změn), popisu funkcí, které by měl web umět a shromáždění obsahu. Obsah webu je dobré shromáždit pokud možno ještě před návrhem (nebo alespoň jeho většinu), může se pak totiž stát, že navrhnutá struktura a vzhled webu nebude množství obsahu odpovídat a vyhovovat (Studio 20, 2008, [online]). Drátěný model Další přichází na řadu návrh drátěného modelu stránky (tzv. wireframe), který řeší rozložení prvků na stránce a jejich funkčnost. Druhů drátěných modelů je více a mohou se lišit ve své složitosti. Některé popisují pouze rozložení pomocí jednoduchých tvarů, některé naopak využívají obrázky a popisují funkce každé části stránky. Grafický návrh Součástí výroby webových stránek je i tvorba grafiky. Tvorba webové grafiky by měla být spojena s Corporate Identity 1. Pokud neexistuje ucelený vizuální styl,
Corporate Identity (CI) – Pojmem corporate identity rozumíme v marketingu „osobnost“ firmy. Slouží k prezentaci na veřejnosti i uvnitř společnosti, vystihuje hodnoty dané firmy. Dokáže ji odlišit od konkurentů na trhu. Jde především o vizuální prezentaci, jako je logo firmy, prezentační materiály, webové stránky, reklamy v televizi, na internetu, v časopisech, „práce s logem“. Díky corporate identity lze nastavit u veřejnosti budování image firmy, image značky popřípadě značek firmy. (Emocio, 2007, [online]) 1
Všeobecná problematika návrhu a tvorby webových aplikací
15
je vhodné zvážit, zda jej v této fázi nevytvořit. První dojem, kterým webové stránky působí, je velmi důležitý, protože pomáhá utvářet názor uživatele v prvních vteřinách příchodu na stránky. Hodnocení designu je velmi subjektivní záležitostí a u jedné grafiky mohou dva lidé dojít ke zcela odlišným závěrům. Proto je nutné pro hodnocení designu webových stránek stanovit konkrétní kritéria. (Studio 20, 2008, [online]). Grafický návrh a rozložení prvků na stránce velmi úzce souvisí s použitelností webu, o které bude řeč v následující kapitole. Copywriting Další částí tvorby webové prezentace je psaní textů, neboli copywriting. Ač se to na první pohled nezdá, textový obsah je strategickou veličinou, která se významně podílí na úspěšnosti webových stránek. Vytvoření textů zahrnuje nejen vhodná obchodní sdělení, je vlastně logickým vyústěním, jak zapůsobit na návštěvníky webových stránek. Tvůrce textu – copywriter – je odborník, který do textu vnáší nejen přesná sdělení, cílená na návštěvníky webu, ale i psychologický efekt, který je s informacemi spojený. Dobře napsané texty mají často větší význam, než komplikovaná grafika. Dobře napsané texty mají stručnou, přehlednou a čtivou podobu (Studio 20, 2008, [online]). Kódování Po zpracování grafického návrhu a napsání textů přichází kódování. Kódování webových stránek je další strategická část výroby. Každá webová prezentace obsahuje zdrojový kód. Bezchybné kódování webu je parametrem, bez jehož dosažení nelze vytvořit úspěšnou webovou prezentaci. Většina webových prezentací je však vytvořena bez hlubších znalostí zdrojového kódu. Takové prezentace mohou mít i profesionální vzhled, nikdo je však nehledá. (Studio 20, 2008, [online]). Copywriting, společně s kódováním webu jsou velmi důležitými aspekty pro dobré pozice ve vyhledávačích. Volba domény a hostingu Tímto však tvorba webu zdaleka nekončí. Dalšími důležitými kroky jsou zvolení dobrého doménového jména a také dobrého hostingu, kam bude web umístěn. Umístění webových stránek na webový prostor a spuštění webových stránek může totiž přinést celou řadu potíží. Často se stává, že zakoupený diskový prostor nesplňuje předpoklady pro úspěšné umístění a spuštění webové prezentace. Provoz stránek je spojen také se spolehlivostí a dostupností, Proto je důležité pečlivě volit umístění a typ hostingu (Studio 20, 2008, [online]). Optimalizace pro vyhledávače Optimalizace webových stránek pro vyhledávače slouží k tomu, aby kvalitně optimalizovanou stránku nalezl ve správnou dobu právě takový uživatel internetu, který ji hledá. Součástí kódování webu je zanesení textu do struktury webu. S tím přímo souvisí i optimalizace, která určuje množství textu, klíčových slov
16
Všeobecná problematika návrhu a tvorby webových aplikací
a frází, a dalších popisů webových stránek. Soubor pravidel optimalizace pro vyhledávače (Search Engine Optimization) je ucelený systém, který definuje pravidla pro vyhledávání informací ve světové síti (Studio 20, 2008, [online]). Vzhledem k faktu, že jsou tyto pravidla velmi obsáhlá a neustále se vyvíjí, je k jejich implementaci nutná jejich dokonalá znalost. Podrobněji je problematika SEO popsána ve 3. kapitole. Testování a umístění Před nasazením by měl být web náležitě uživatelsky otestován kvůli použitelnosti. Po testování se mnohdy cyklus tvorby vrací k předešlým krokům např. změna rozmístění prvků, kombinace barev, změna textů atp. Tvorba webových prezentací však nekončí umístěním a spuštěním webových stránek. Tvorba webových stránek nekončí ani u zpřístupnění statistik. Teprve statisticky úspěšné webové stránky jsou nástrojem k uspokojení zadavatele výroby webu (Studio 20, 2008, [online]). Vždy je důležité, aby se zákazník vracel.
2.2 Maslowova pyramida
Obr. 1 Maslowova pyramida Zdroj: http://blog.filosof.biz/maslowova-pyramida-na-webu/
Na obrázku 1 vidíme čtyři důležité faktory zobrazené v tzv. Maslowově pyramidě, které ovlivňují zákazníkovu vůli provést transakci. Nemusí se však jednat pouze o provedení transakce, tyto faktory jsou stěžejní pro jakoukoli spolupráci s danou firmou, která se na webu prezentuje. Jedná se o dostupnost, použitelnost, důvěru a touhu.
Všeobecná problematika návrhu a tvorby webových aplikací
2.2.1
17
Dostupnost
Nejdůležitějším faktorem webu je dostupnost. Dostupností se rozumí viditelnost webu ve vyhledávačích, protože většinu zákazníků lze získat jen tímto způsobem (s tímto tématem je spojena problematika SEO, která je popsána v další podkapitole). Nesmíme opomenout také dostupnost serveru, na kterém je web umístěn. Je nanejvýš důležité, aby byl server přístupný pokud možno 24/7, byl stabilní, výkonný a s rychlou odezvou. Posledním faktorem dostupnosti je optimalizace webu co nejširšímu okruhu uživatelů. Ne každý prohlíží internet z pohodlí domova, je proto velmi důležité dbát na dostupnost stránek například z mobilního telefonu, pro tisk či s ohledem na barvoslepé uživatele (Řezáč, 2009, [online]). 2.2.2
Použitelnost
Dalším velmi důležitým a často probíraným faktorem je použitelnost webu. Jedná se pokud možno o co nejsnazší a intuitivní ovládání webu. Uživatel by nad jeho používáním neměl vůbec přemýšlet a dostat se k požadovaným výsledkům, pro které přišel snadno a rychle. Konkurence je vzdálena jen jedno kliknutí, a tak když uživatele svou stránkou znechutíte, půjde prostě jinam. Lidé nepotřebují vědět, jak věci na stránkách fungují. Pokud fungují, prostě je používají. Mnoho lidí má mylnou představu o fungování spousty věcí, ale přesto je používají, protože to k jejich použití vědět nepotřebují. (Steve Krug, 2005). Neexistuje absolutní definice jak správně vytvořit použitelný web, jelikož použitelnost webu závisí na mnoha faktorech. Jedná se o faktory jako účel webu, cílová skupina, na kterou je web zaměřen, nebo frekvence jeho používání. Jinak bude vypadat stránka zaměřená na programátory a různé odborné tutoriály a jinak bude vypadat stránka dětské kavárny, kam chodí maminky s malými dětmi. Stejně tak je rozdíl u stránek, které využíváme každý den (Google nebo Seznam) a stránek, které navštěvujeme zřídka, například obchod s nábytkem. Pro vytvoření použitelného webu existuje několik zásad, kterých je dobré se držet. Avšak jak říká Steve Krug (2005), základním pravidlem od kterého se všechno vyvíjí je – nenutit uživatele přemýšlet. To znamená, že když se člověk podívá na nějakou stránku, měla by být intuitivní, pochopitelná a samovysvětlující (jak jen je to z pohledu člověka možné). Použitelnost webu se dá rozdělit do několika kategorií, na které by se měl každý tvůrce stránek zaměřit a nyní se na ně blíže podíváme. Obecně lze říci, že každá webová stránka by o sobě měla vypovídat, co na ni můžeme najít. Také musí být jasně vidět, co jsou tlačítka, tedy na co je možné kliknout a na co ne. Na stránce by měli být použity jasné a zřejmé výrazy, nikoli žádné profesionální zkratky a firemní nářečí (samozřejmě záleží na povaze webu, ale všechny tyto aspekty uživatele jen zpomalují). Čím více otazníků se uživateli při najetí na vaši stránku objeví v hlavě, tím hůře. Web by měl být roz-
18
Všeobecná problematika návrhu a tvorby webových aplikací
dělen do jasně rozlišitelných oblastí a dodržovat zaběhlé zvyklosti. Lidé jsou například zvyklí hledat logo a název firmy v levém horním rohu stránky, pokud tuto zvyklost porušíte, je dobré mít pro to určitý důvod a nedělat to jen tak zbůhdarma, protože uživatelé budou Vaše logo marně hledat na obvyklém místě (tedy pokud není jiným dobrým způsobem umístěno a zvýrazněno). Důležitými částmi webu jsou domovská stránka s navigací. Začnu pravidly ohledně navigace. Lidé prostě nebudou Váš web používat, pokud se na něm nezorientují. Lidé neradi plýtvají časem. Vzhledem k faktu, že na internetu tráví lidé času hodně, každá vteřina, kterou musí přemýšlet navíc, je obtěžuje. Určitě každý zná ten pocit z vlastní zkušenosti, kdy se na webu snaží marně najít požadovanou informaci. Dobrá navigace nejen vzbuzuje důvěru, ale dokáže uživatele navést k hledaným informacím. Navigací na webu je hned několik – primární/hlavní (perzistentní), sekundární popřípadě terciární navigace. Každá hlavní navigace by měla obsahovat pět prvků a to Logo serveru, odkaz na domovskou stránku (který použijeme v případě neúspěšného hledání, abychom začali znovu), názvy sekcí, možnost vyhledávání a popřípadě nějaké pomůcky. Navigace musí být jasně odlišitelná od zbytku stránky, měla by být na každé stránce a také by neměla neměnit svou pozici. Výjimkou jsou pouze dva případy a to na domovské stránce a u stránek kde vyplňujeme nějaké formuláře. Existuje výborná metoda na otestování navigace na webu – říká se jí kufrový test. Proč kufrový? Představte si, že Vás někdo zavře do kufru auta se zavázanýma očima, vozí Vás sem a tam a nakonec Vás vyhodí v útrobách nějakého webového serveru (Steve Krug, 2005). Jsou-li stránky dobře navrženy, měli byste bez váhání zodpovědět následující otázky: • o jaký server se jedná (logo serveru) • na jaké jsem stránce? (název serveru) • jaké jsou hlavní sekce tohoto serveru? (navigace) • jaké mám na této úrovni možnosti? (lokální navigace) • kde se nacházím v hierarchii serveru? (ukazatel „Kde se nacházíte“) • Jakým způsobem mohu vyhledávat? Kromě navigace je velmi důležitá již zmíněná domovská stránka. Navrhnout dobrou domovskou stránku není lehký úkol. Jedná se o první stránku, kterou uživatel uvidí a je důležité zamyslet se nad věcmi, které domovská stránka musí obsahovat: • logo a poslání serveru
Všeobecná problematika návrhu a tvorby webových aplikací
19
Hned na začátku bych se měl dozvědět o jaký server se jedná a k čemu slouží a je-li to možné, také proč by měl být zrovna tady a ne na nějakém jiném serveru • hierarchie serveru Mělo by být zřejmé co na serveru mohu najít, co mohu dělat a jak je server organizován. • vyhledávání V závislosti na povaze webu by zde mělo být umístěno vyhledávací pole. • lákadla Podobně jako obal časopisu i domovská stránka musí zaujmout a nalákat na nové a atraktivní informace „uvnitř„ stránky. • aktuální obsah Závisí-li úspěch serveru na tom, abych se sem často vracel, měla by domovská stránka obsahovat oblast, která je často aktualizována (např. právě Seznam). I server který nepotřebuje pravidelné návštěvníky by měl projevovat známku života a dát tak najevo, že neumřel. • registrace Pokud server využívá registrace, měl by mít na domovské stránce odkaz umožňující zaregistrování a také odkaz sloužící k přihlášení již registrovaných uživatelů. Také bych se měl dozvědět zda jsem přihlášen. Kromě těchto konkrétních potřeb musí domovská stránka splňovat také několik abstraktních účelů: • ukázat mi cestu k tomu, co hledám i k tomu co nehledám Domovská stránka mi musí jasně naznačit cestu jak se dostanu k tomu co potřebuji – za předpokladu, že to někde na daném serveru je. Současně mi musí domovská stránka odhalit pár skvělých věcí, které mi může daný server nabídnout a o které bych možná mohl mít zájem – i když je právě nehledám. • ukázat mi kde mám začít Není nic horšího než domovská stránka, na které nemáte absolutně žádnou představu kde začít. • získat důvěru
20
Všeobecná problematika návrhu a tvorby webových aplikací
Pro některé návštěvníky bude domovská stránka jedinou příležitostí k tomu, aby si o ní udělali dojem – pokud možno co nejlepší. Tolik k problematice použitelnosti. Její problematika je velmi rozsáhlá a sahá mnohem hlouběji, není však cílem této práce ji důkladně popisovat. 2.2.3
Důvěra a touha
Klíčovou věcí pro nákup zákazníka na webu je vzbuzení důvěry ve značku či produkt. Je potřeba uživatele přesvědčit, že zrovna Váš produkt či služba je pro něj to pravé a že se nejedná o žádný podvodný web. Dodatečná touha se poté dá vyvolat metodou cukru a biče, například časově omezené akce či slevy (Řezáč, 2009, [online]).
2.3 SEO Zkratka SEO znamená „Search Engine Optimization“ – v překladu něco jako optimalizace pro vyhledávače. Co to vlastně znamená? Existuje celá řada firem, které vydělávají kromě tvorby webových prezentací pouze na optimalizaci stránek pro vyhledávače. Ale co to vlastně SEO je a k čemu je dobré? Jedná se o postupy, které mají pomoci webové stránce dosáhnout co nejvyšších pozic ve vyhledávačích a zajistit tak stránkám větší návštěvnost, což je samozřejmě u webových stránek jednou z hlavních věcí. Pokud si firma nechá udělat stránky řádově v desítkách tisíc (mnohdy i více), ale o stránkách se nikdo nedozví, pak jsou to peníze vyhozené z okna. Vyjde o asi stejně jako vytisknuté noviny, které si nikdo nekoupí a nepřečte. Existují také online webové nástroje, které vám zdarma stránku z hlediska SEO zanalyzují a ohodnotí, tyto stránky však většinou patří právě firmám, které sami SEO zajišťují. Kolikrát se tak dozvíte o svých stránkách chybné statistiky jen pro to, abyste si nechali SEO „vylepšit“ u této firmy. Nejenže je to jeden velký tah marketingových firem, ale dá se říct i podvod. A jakým způsobem je vlastně vysokých pozic ve vyhledávačích dosahováno? Naprosto zásadní věcí pro SEO je obsah webu – tedy texty. Kvůli čemu jinému také web děláme než kvůli obsahu? Obsah je král, avšak spousta webových stránek se tím neřídí. Pro většinu firem je důležité, aby stránky blikaly, byly v pestrých křiklavých barvách a popřípadě hrála v pozadí hezká muzika (ano, trochu přeháním, ale od praxe to není zase až tak daleko). Obsah by měl odpovídat účelu webu a obsahovat důležitá klíčová slova, na která chceme vyhledávání optimalizovat. Dalším důležitým aspektem jsou dobře strukturované nadpisy, titulky stránek a především také název domény. Nadpisy a titulky by opět měly obsahovat klíčová slova, podle kterých tušíme, že lidé budou naše produkty nebo služby vyhledávat. Doména by měla být snáze zapamatovatelná a vystihovat obsah webu.
Všeobecná problematika návrhu a tvorby webových aplikací
21
Na optimalizaci SEO u rezervačního systému jsem se tedy důkladně zaměřil kvůli nově příchozím zákazníkům, kteří s pole dance teprve začínají a hledají o něm nové informace.
2.4 Technologie pro realizaci 2.4.1
HTML
Zkratka HTML znamená „Hypertext mark-up language“ a jedná se o velmi oblíbený jazyk k tvorbě internetových stránek. Jak už název napovídá, nejde o klasický programovací jazyk, ale o jazyk používající takzvané tagy neboli značky. 2.4.2
CSS
Zkratka CSS znamená „Cascading style sheets“ v překladu kaskádové styly. Tyto styly byly vytvořeny kolem roku 1996 jako odpověď na chaoticky se vyvíjející se jazyk HTML se snahou a myšlenkou oddělit vzhled webové stránky od jejího obsahu. V roce 1996 vyšla první specifikace CSS 1, v roce 1998 CSS 2 a nyní již existuje modulární specifikace CSS 3. Prohlížeče pracují na plné podpoře těchto stylů, CSS 3 jsou však stále ještě ve vývoji. Pomocí CSS a obrázků je stylován i rezervační systém. 2.4.3
PHP
PHP je skriptovací jazyk pro tvorbu dynamického webu a jeho počátky spadají do roku 1994. Jedná se interpretovaný jazyk, určený ke skriptování na straně serveru. To znamená, že jeho kód je zpracován ještě před načtením samotné webové stránky. Díky jeho jednoduchosti a výborné kompatibilitě s databázovými systémy MySQL či PostgreSQL se dá s jeho pomocí naprogramovat takřka každá webová aplikace. Od elektronických obchodů, přes informační či redakční systémy, až po vyhledávače či drobnosti jako počítadla nebo návštěvní knihy. 2.4.4
MySQL
MySQL je relační databázový systém2 vlastněný firmou Oracle. Je volně dostupný a tudíž hojně využívaný. Každá databáze v MySQL je tvořena z jedné nebo více tabulek, které mají řádky a sloupce a je spravována pomocí speciálních dotazů. Díky výborné kompatibilitě s jazykem PHP byl tento databázový systém jasnou volbou pro tvorbu rezervačního systému.
Databázový systém se skládá z programu pro práci s databázemi a celé řady podpůrných programů. Databázový systém také obstarává přístup k datům.
2
22
2.4.5
Všeobecná problematika návrhu a tvorby webových aplikací
Java Script
JavaScript je programovací jazyk používaný na internetových stránkách. Zapisuje se přímo do HTML kódu, což je velká výhoda, protože je to jednoduché. Na rozdíl od PHP je JavaScript klientský skript. To znamená, že se program odesílá se stránkou na klienta (do prohlížeče) a teprve tam je vykonáván. (Dušan Janovský, [online]). Pro některé uživatelské funkce, na které bylo PHP nedostačující, byl použit Java Script (například vyskakování varovných oken).
2.5 Tvorba databáze v MySQL Návrh a tvorba databází je rozsáhlou samostatnou problematikou, krátce však zmíním základní pojmy, jak takový návrh databáze začíná a jakých pravidel je potřeba se držet. 2.5.1
Základní pojmy
Jazyk SQL Jazyk SQL je dotazovací jazyk, který se používá k manipulaci s daty v databázích. Databáze Databáze v sobě uchovává strukturovaná data. Se strukturovanými daty se pracuje mnohem lépe, než s daty uloženými např. v souborech. Databázový systém navíc poskytne řadu funkcí pro manipulaci s daty. Tabulky (objekty) Databáze se skládá z tabulek (objektů). V tabulkách jsou uloženy informace, které spolu nějakým způsobem souvisí. Například v tabulce Hudebni_Alba budou informace o hudebních albech. Sloupce (pole) Ve sloupcích jsou popsány vlastnosti objektu. Objekt Hudebni_Alba může mít sloupce Autor, Nazev_Alba, Cena. Záznamy (řádky) Záznamy jsou už konkrétní data uložená v databázi. Jak může takový záznam v tabulce Hudebni_Alba vypadat, můžete vidět na obrázku 2.
Všeobecná problematika návrhu a tvorby webových aplikací
23
Obr. 2 Ukázka tabulky s jejími sloupci a záznamy (řádky) Zdroj: http://www.abclinuxu.cz/clanky/navody/tvorba-databazi-v-mysql-i
Primární klíč Primární klíč je sloupec, který jednoznačně identifikuje záznam. To znamená, že tento sloupec musí být u každého záznamu jiný. Primární klíč se používá k vytváření relací mezi tabulkami. Nejčastější a nejjednodušší variantou je vytvořit sloupec ID, který bude u každého záznamu a vkládat do tohoto sloupce číslo, které bude u každého dalšího záznamu o jedna větší, než u předchozího (Abc Linuxu, 2003, [online]). Relační databáze Relační databáze se skládá z více objektů (tabulek). Některé z nich spolu mohou souviset – tvořit relaci. Rozlišujeme několik typů relací (Abc Linuxu, 2003, [online]). 2.5.2
Typy relací
Relace 1:1 Mějme objekty Objednavky a Transakce. Tyto objekty spolu mohou vytvořit relaci 1:1. Každá objednávka může souviset pouze s jednou transakcí a každá transakce může souviset pouze s jednou objednávkou. Relaci 1:1 mezi tabulkami vytvoříme tak, že do jednoho z objektů přidáme primární klíč souvisejícího objektu a ten označíme jako jedinečný, tj. v objektu do kterého vložím primární klíč souvisejícího objektu, nebudou smět být záznamy se stejným primárním klíčem souvisejícího objektu (Abc Linuxu, 2003, [online]).
24
Všeobecná problematika návrhu a tvorby webových aplikací
Obr. 3 Typ relace 1:1 Zdroj: http://www.abclinuxu.cz/clanky/navody/tvorba-databazi-v-mysql-i
Relace 1:N Mějme objekty Objednavky a Zakaznici. Mezi objekty Objednavky a Zakaznici je relace 1:N. Jeden zákazník může mít více objednávek, ale každá objednávka přísluší pouze jednomu zákazníku. Při relaci 1:1 byly oba objekty rovnocenné. V relaci 1:N je jeden objekt primární a druhý s ním související. Primární objekt obsahuje záznamy, jejichž jeden záznam odpovídá mnoha záznamům souvisejícího objektu. Relaci 1:N vytvoříme tak, že do souvisejícího objektu vložíme primární klíč primárního objektu. Primární klíč primárního objektu ale nebude v souvisejícím objektu jedinečný. Související objekt bude tedy obsahovat svůj primární klíč, který bude jedinečný, a cizí klíč, který bude moci obsahovat i duplicitní hodnoty (Abc Linuxu, 2003, [online]).
Všeobecná problematika návrhu a tvorby webových aplikací
25
Obr. 4 Relace 1:N Zdroj: http://www.abclinuxu.cz/clanky/navody/tvorba-databazi-v-mysql-i
Relace M:N Relace M:N by mohla vzniknout mezi objekty Objednavky a Hudebni_Alba. Jedno hudební album může být ve více objednávkách a jedna objednávka může obsahovat více hudebních alb. Relaci M:N si můžeme představit jako dvě relace 1:N. Potřebujeme, aby oba dva objekty byly primární. Abychom toho dosáhli, musíme vytvořit nový objekt (tabulku) kde budou cizí klíče Id_objednavky a Id_alba, které budou moci obsahovat duplicitní hodnoty (Abc Linuxu, 2003, [online]).
26
Všeobecná problematika návrhu a tvorby webových aplikací
Obr. 5 Zobrazení relace M:N Zdroj: http://www.abclinuxu.cz/clanky/navody/tvorba-databazi-v-mysql-i
Obr. 6 Rozklad relace M:N pomocí přidané tabulky pro lepší funkčnost Zdroj: http://www.abclinuxu.cz/clanky/navody/tvorba-databazi-v-mysql-i
2.5.3
Normalizace databáze
Normalizace databáze je souhrn pravidel pomáhající vytvářet správné objekty obsahující správná pole. Normalizace také usnadňuje pochopení vzájemných vazeb (relací) mezi objekty. Existují 3 běžně používané stupně normalizace. Jsou uspořádány vzestupně podle úrovně uspořádání (Abc Linuxu, 2003, [online]). První normalizovaná forma (1NF) Pravidlo 1NF říká, že všechny objekty obsahující opakující se sloupce je třeba rozdělit do nových objektů.
Všeobecná problematika návrhu a tvorby webových aplikací
27
Předpoklad 1NF normální formy lze při návrhu obvykle snadno dodržet. Pokud je databáze normalizovaná na úroveň 1NF, je mnohem snazší jak vyhledávání informací v databázi, tak přidávání nových položek do databáze (Abc Linuxu, 2003, [online]). Druhá normalizovaná forma (2NF) Pro splnění 2NF musí být schéma v 1NF. Pravidlo 2NF říká, že všechny objekty obsahující sloupce s duplicitními položkami, které mezi sebou vytvářejí částečné závislosti, je třeba rozdělit do objektů nových, v nichž bude každý záznam uložen pouze jednou (Abc Linuxu, 2003, [online]). Třetí normalizovaná forma (3NF) Pro splnění 3NF musí být schéma v 2NF. Pravidlo třetí normalizované formy vyžaduje důsledné odstranění a oddělení veškerých dat, která nejsou v přímém vztahu s daným objektem. Objekt Objednavky obsahuje sloupec Dodavatel_Nazev. Tento sloupec ale přímo nesouvisí s daným objektem Objednavky (nepopisuje žádnou jeho vlastnost). Podle pravidel 3NF je nutné tento sloupec vyčlenit do nového objektu. Vytvoříme proto nový objekt Dodavatele a mezi objekty Objednavky a Dodavatele vytvoříme relaci 1:1 (Abc Linuxu, 2003, [online]). Kam až normalizovat? To záleží na konkrétní databázi. Normalizace je tu proto, aby udělala databázi přehlednější, lépe rozšiřitelnou a výkonnější. Je proto zbytečné normalizovat, když normalizace nepřinese zvýšení přehlednosti, rozšiřitelnosti nebo výkonu. Zbytečně velký počet objektů může naopak udělat databázi nepřehlednou (Abc Linuxu, 2003, [online]).
28
Analýza současného stavu podniku
3 Analýza současného stavu podniku V této kapitole je popsán současný stav pole dance studia Citadela Mefisto, jeho dosavadní rezervační metody, vztah podniku ke konkurenci a také popis konkurence. Na konci kapitoly jsou pak požadavky studia na rezervační systém a jejich lehký rozbor, abychom měli představu, co bude systém obsahovat.
3.1 Pole dance Na úvod je jistě dobré zmínit, čím je studio zajímavé a čím se vlastně zabývá. Pole dance už dávno není spojován jen s provokativním vrtěním striptérek. Naopak! Tanec u tyče je ve světě uznávaným tancem stejně tak jako balet, valčík nebo třeba salsa. Obsahuje gymnastické prvky, akrobacii, moderní a volný tanec. Podle většího počtu tanečních nebo gymnastických prvků pak rozlišujeme pole dance a pole fitness. Přestože jsou tanečnice celkem spoře oděné, pole dance rozhodně nemá nic společného se svlékáním se nebo něčím vulgárním (Poledance Praha, 2011, [online]). 3.1.1
Odkud se vzal pole dance?
Když se řekne „pole dance“ – ve volném překladu tanec na tyči, většině lidí se vybaví noční kabarety a vykřičené domy. I to je součást jeho historie. Málokdo ale ví, že jeho skutečné kořeny jsou v Indii a vyvinul se z jogínského cvičení na dřevěném kůlu a provaze. Do nočních podniků se dostal přes Hoochie Coochie tanečnice z cirkusových stanů, kterým posloužila tyč od šapitó k předvádění svých triků. Pole dance ve formě striptýzu se pak vyvinul v Kanadě a Americe v 80. letech (Poledance Praha, 2011, [online]). 3.1.2
Pole dance dnes
„Dnešní forma pole dance se těší stále větší oblibě u žen po celém světě. Hollywoodské hvězdy ve volném čase tvarují pomocí tyče svá těla a pole dance bude uveden dokonce jako předváděcí sport na nejbližších Letních olympijských hrách (Poledance Praha, 2011, [online])!
3.2 Podnik Studio Citadela Mefisto sídlící v ulicích města Brna bylo založeno zhruba před rokem a půl. Jak již bylo řečeno, jedná se o pole dance studio zabývající se výukou tohoto sportu. Popularita pole dance roste velmi rychle a tak bylo zapotřebí vymyslet efektivní systém registrací a rezervací na lekce.
Analýza současného stavu podniku
3.2.1
29
Dosavadní způsob rezervací
Do doby než studio chtělo zřídit rezervační systém, probíhaly rezervace vskutku pracným způsobem pro obě strany, jak pro lektorky, tak pro zákaznice. Přímo ve studiu bylo na nástěnce vyvěšeno několik papírů s rozpisem lekcí, kam se musely osobně chodit zákaznice zapisovat. Tudíž každá rezervace vyžadovala návštěvu studia. Nemluvě o tom, že jména se psala propiskou a tak při rušení rezervací či nahlašování na již přeškrtaná místa vznikal na nástěnce nepřehledný chaos. Lektory musely tak na každý týden tisknout nové papíry s výpisy lekcí a udržování takovéto registrační nástěnky stálo mnoho úsilí a času. S postupně narůstajícím počtem zákaznic bylo potřeba vymyslet nový způsob rezervací na lekce. Jako nejlepší řešení se samozřejmě jevilo elektronické přihlašování. 3.2.2
Požadavky a potřeby studia
Hlavním požadavkem studia bylo, aby se lektorky o rezervace nemusely starat a ušetřený čas mohly využít na rozvoj studia v Brně a Olomouci a zkvalitňovat dále svoje produkty a služby. Konkrétní požadavky na systém byly následující: • každý zákazník bude mít možnost registrace a vlastnit svůj uživatelský účet chráněný heslem • na každém účtu budou zapsány osobní údaje zákazníků včetně důležitých kontaktů • při registraci budou vypsány podmínky provozu a účasti na lekcích, se kterými každý musí u registrace souhlasit • každý zákazník si po registraci může zvolit libovolný kurz, kde každý kurz bude mít jiný počet lekcí a cenu • možnost správy plateb lektorkami – možnost lektorek zadávat do systému platby a vidět tak, kolik už vybraly peněz, zda má daná zákaznice již zaplaceno a může tedy chodit na lekce • 24h lhůta na odhlášení z lekcí - na tomto požadavku si studio velmi zakládá. Pokud se uživatel z lekce nedohlásí alespoň 24 hodin předem, lekce mu propadá bez nároku tuto lekci navrátit. Jedná se o ochranu míst na lekcích, aby si uživatelé dávali více pozor, na jaké lekce se nahlašují a nezaplňovali tak zbytečně místa na lekcích jiným zákaznicím. • možnost tvorby rozvrhu na každý semestr • tři různé rozvrhy pro tři sály - dva v Brně a jeden v Olomouci
30
Analýza současného stavu podniku
3.3 Konkurence Aktuálně (květen 2012) se v Brně nachází pouze jedno další ryzí pole dance studio kromě Citadely Mefisto. Jedná se o studio Decadance Brno. V Brně existují další různá centra tance kde se pole dance vyučuje jako Dance institut Blanca či Centrum Tance, kde se kromě pole dance vyučují i hip-hop, zumba atp. Centrum Tance jakožto jeden z největších tanečních institutů využívá svůj na míru dělaný rezervační systém. Jejich web je velmi rozsáhlý a propracovaný. Dance Institut Blanca žádný rezervační systém nevlastní a pro rezervace používá pouze email či telefon. Poslední studio Decadance Brno prozatím také nevlastní žádný rezervační systém. Jelikož ale studio vlastní jedná z původních zakladatelek Citadely Mefisto, očekávám, že bude chtít tento systém také použít.
Rezervační systémy na trhu
31
4 Rezervační systémy na trhu Předtím, než jsem se pustil do vlastní práce, vybral jsem a popsal několik (dle mého názoru nejlepších) online rezervačních systémů, které jsou k dostání na Internetu. Jak již bylo řečeno ve druhé kapitole, důležitým aspektem je zhodnocení konkurence a možností.
4.1 Rezervační systém Bizzy Jako první systém jsem vybral systém Bizzy. Tento se systém je podle statistik uvedených na jejich webu hojně využívaný a tak jsem si řekl, že zjistím v čem je tento systém dobrý a že se třeba něčím inspiruji. Na stránkách je uvedeno, že systém je na trhu již pět let a za tuto dobu se jim povedlo odstranit všemožné chyby a nedostatky. Dále píší: „Jedná se o ucelené řešení, speciálně vytvořené a navržené pro potřeby sportovních a fitness center. Komplexně řeší problematiku rezervací všech druhů služeb, evidence zákazníků, komunikace se zákazníky, sezónních a kreditních permanentek, statistik vytíženosti centra atd.“ (Bizzy, 2010, [online]). Z pohledu jejich recenze se mi tedy jeví systém kvalitně a věrohodně.
Obr. 7 Rozhraní rezervačního systému Bizzy Zdroj: http://www.e-rezervace.cz/
Po bližším prozkoumání stránek jsem objevil cenový program a možnost nahlédnutí do demoverze systému. Demoverzi jsem tedy ihned otestoval a prohlédl. Jak systém vypadá, můžete vidět na obrázku 7.
32
Rezervační systémy na trhu
Rozhraní systému mi přišlo vcelku přehledné, vkusné a příjemně sladěné. Chvíli jsem sice hledal své údaje o přihlášení a možnost odhlásit se, ale po chvíli jsem tyto položky našel v levém horním rohu vedle loga systému. Systém splňuje většinu požadavků, které má Citadela Mefisto. Mohou zde být rozvrhy pro více poboček, je zde registrace uživatelů a také možnost permanentek a věrnostních bodů. V administračním rozhraní jsem však marně hledal tvorbu rozvrhů. Navíc nebyla nikde možnost změny časů lekcí a pochybuji, že v každém studiu začínají lekce přesně každou hodinu. Také zde chyběla nějaká ochranná lhůta na odhlášení z lekcí. Tento systém bych nejspíše doporučil všem obvyklým sportovním střediskům, jeho komerční vzhled a funkčnost je na vysoké úrovni. Cenový program nabízí celkem tři možnosti v závislosti na poskytovaných službách. Systém dle požadavků studia Citadela Mefisto by stál jednorázový poplatek 6000,- Kč plus pravidelný měsíční poplatek 800,- Kč. Nejen že by studio nemělo v systému vše, co si přejí, ale zároveň jim tato cena přišla vysoká.
4.2 Rezervační systém SuperSaaS Domovská stránka systému je na adrese http://www.supersaas.cz/. Už při pohledu na stránky zjistíte, že se jedná o jednoduchý systém. Tento systém je spíše pro nenáročná malá studia či fyzioterapeuty, psychology a podobné soukromníky, ke kterým je třeba se objednávat.
Obr. 8 Rozhraní rezervačního systému SuperSaaS Zdroj: http://www.supersaas.cz/
Kromě velmi jednoduchého rozhraní, které je možné vidět na obrázku 8, je zde také velmi "slabá" možnost registrace. Při registraci zákazník vyplní pouze
Rezervační systémy na trhu
33
jméno, email a adresu s telefonem. Rezervace však nemá moc smysl, její jediný účel je, že pouze automaticky vyplní Vaše jméno do kolonky při pokusu o rezervaci. Systém také nenabízí žádnou možnost permanentek. Rezervace probíhají pouhým kliknutím na lekci a rezervaci na Vaše jméno. V případě že nejste registrování, vepíšete své jméno ručně a tím je rezervace hotova. Věc, která se mi naopak na systému líbila, byla čekací listina. Tedy seznam přihlášených, kteří se na lekci nedostali z důvodu plné kapacity, avšak měli možnost se na lekci dostat, pokud se někdo z lekce odhlásil. Systém SuperSaaS nabízí několik cenových programů a částky nesahají nikterak vysoko. První (sice velmi omezený) program je dokonce zdarma. Závěrem zbývá dodat, že tento systém v nejmenším neodpovídá požadavkům Citadely Mefisto a tak jej můžeme v klidu přejít.
4.3 Rezervační systém MRBS Největší výhodou systému MRBS je jeho dostupnost. Jde o volně stažitelný rezervační systém.
Obr. 9 Rozhraní rezervačního systému MRBS Zdroj: http://mrbs.sourceforge.net/
Jak můžete vidět na obrázku 9, systém používá jednoduché rozhraní se zobrazeným kalendářem v hlavičce. Lehce tak zjistíme rozvrh pro daný den a dané
34
Rezervační systémy na trhu
místnosti. Systém také nabízí několik stupňů přístupových práv – administrační, uživatelské a pouze pro čtení. Díky své jednoduchosti a funkčnosti je tento systém vhodný například do škol. Nenabízí však mnohá řešení, která Citadela Mefisto požaduje. Z tohoto důvodu jsem tento systém také nijak nevyužil.
4.4 Rezervační systém iSport Posledním systémem, který jsem se rozhodl zhodnotit a otestovat je systém iSport s domovskou stránkou na adrese http://www.isportsystem.cz/. Při prvním najetí na stránky systému mě upoutal příjemný design a začal jsem tušit, že půjde o trochu propracovanější systém. Po přečtení základních informací o systému už jsem zkušeně zamířil do demoverze (obrázek 10), abych si systém sám prohlédl.
Obr. 10 Uživatelské rozhraní systému iSport Zdroj: http://www.isportsystem.cz/
Vše v systému je hezky a logicky uspořádané. Vpravo nahoře je možnost přihlášení či nahlédnutí do detailu osobního účtu, kde je možné prohlédnout všechny osobní rezervace a informace o účtu. Zbytek stránky zabírá samotný rozvrh. Jediné co je na rozvrhu matoucí, je prohození sloupců a řádků se dny a časy oproti tradiční zvyklosti. Přece jen bych více čekal, že rozvrh bude rozdělen do řádků podle dnů v týdnu, nikoli podle časů. Lekce jsou jasně viditelné s detailním popiskem, o jakou lekci se jedná a kdo lekci vyučuje. Rezervace se pro-
Rezervační systémy na trhu
35
vádí kliknutím na danou lekci a potvrzením rezervace za určitou cenu. V demoverzi jsem bohužel nikde nenašel možnost volby permanentek – v cenovém programu však tuto možnost nabízí. Prohlédl jsem si cenový program, abych zjistil, za jakou cenu by tento systém vyhovoval potřebám Citadely Mefisto. Samozřejmě by šlo o nejvyšší cenový program se zaváděcí cenou 6000,- a měsíčním poplatkem 700,- (tedy velmi podobně jako systém Bizzy). V této ceně pak systém zahrnuje i onen systém permanentek, rozesílání hromadných emailů a další důležité funkce.
4.5 Závěrečné zhodnocení I přes to, že jsem vybral systémy, které jsou hojně využívané, žádný z nich nevyhovoval všem požadavkům studia Citadela Mefisto. Snažil jsem se tedy z každého systému vzít to nejlepší a spojit všechna kritéria do jednoho celku (v rámci mých možností a zkušeností).
36
Vlastní práce
5 Vlastní práce Vlastní práce spočívá ve vytvoření vlastního webového online rezervačního systému. Rozhodl jsem se naprogramovat celý systém takříkajíc od zelené louky a to hned z několika důvodů. Prvním a hlavním důvodem bylo, že studio mělo několik specifických požadavků, které běžné rezervační systémy nemají, nebo je nemají v takové podobě, jakou by si studio představovalo – několik takových systémů bylo popsáno ve 4. kapitole. Druhým hlavním důvodem byl fakt, že každý programátor má jiný styl programování a formátování kódu. Z toho důvodu jsem nechtěl používat žádný cizí kód nebo jeho části, či předělávat nějaké již existující systémy. Navíc bych také nemusel pochopit, jak některé věci fungují. Třetím a posledním důvodem bylo více prohloubit moje znalosti v oblasti tvorby webových aplikací a obohatit tak svoje zkušenosti. Jelikož se zabývám tvorbou webových prezentací, tyto prakticky nabité zkušenosti zužitkuji v budoucnosti.
5.1
Analýza požadavků
Z požadavků uvedených ve 3. kapitole vyplývá, že je potřeba v systému udělat několik stupňů přístupových práv. Jedná se konkrétně o administrátorská práva, lektorská práva a práva běžného uživatele. Administrátorská práva umožní kompletně spravovat chod celého systému, tento typ účtu bude mít však pouze majitel studia. Dalším stupněm budou práva lektora. Na tomto účtu bude možné detailně procházet rozvrhy a účty uživatelů a spravovat tak chod studia během dne. Účet běžného uživatele je určen pro zákazníky studia, kteří mají zájem o výuku pole dance a chtějí si zakoupit některý z kurzů. Konkrétní úkony, které lze provádět pod určitými právy: • Administrátorská práva o tvorba rozvrhů pro všechny tři sály o editace a mazání lekcí o procházení rozvrhů a výpis přihlášených zákazníků na lekci o zobrazení detailního profilu uživatele kde je možné potvrzovat zaplacení kurzů, prominout uživatelům propadlé lekce, a kde jsou vidět všechny lekce na kterých je daný uživatel přihlášen a možnost odhlašovat jej o psaní aktualit na hlavní stranu
Vlastní práce
37
o udělovat práva lektora či uživatele o možnost spravovat nabídku kurzů, zadávat do systému lektory, tvořit časová rozmezí lekcí pro r azvrh, vytvářet obtížnosti lekcí o rozesílání hromadných zpráv všem uživatelům v systému za účelem oznámení novinek či změn v systému • Lektorská práva o procházení rozvrhů a výpis přihlášených zákazníků na lekci o zobrazení detailního profilu uživatele kde je možné potvrzovat zaplacení kurzů, prominout uživatelům propadlé lekce, a kde jsou vidět všechny lekce na kterých je daný uživatel přihlášen a možnost odhlašovat jej • Uživatelská práva o možnost zakoupit až tři kurzy, každý jiného druhu o přihlašovat a odhlašovat se z lekcí Další nutnou věcí bude registrační formulář, který každému uživateli zhotoví osobní účet chráněný heslem a díky kterému se každý uživatel dostane do systému. Při registraci bude nutné potvrdit provozní podmínky studia. V opačném případě registrace nepůjde dokončit.
5.2 Návrh databáze Nyní, když máme určeny technologie, pomocí kterých bude systém vyvinut a zanalyzované požadavky, přichází na řadu velmi důležitá část a tou je návrh databáze. Celá databáze je složena z 18 tabulek. Stěžejní a nejdůležitější věcí bylo vymyslet, jakým způsobem se vlastně v systému budou ukládat rezervace na jednotlivé lekce. Také jakým způsobem budou uloženy samotné lekce, aby bylo možné přehledně vypisovat rozvrh a samozřejmě nějaký způsob uložení uživatelských dat a jejich navolených kurzů. Nejdříve jsem tedy řešil problém uložení samotných lekcí, uživatelů a jejich rezervací na lekce. První tabulkou jsou tedy uzivatele, kde má každý uživatel kromě svého jména a příjmení také své unikátní ID, pomocí kterého jsou v celé databázi vykonávány příkazy spojené s daným zákazníkem. Kromě sloupců pro důležité kontakty jako emailová adresa a telefon zde nechybí ani datum registrace kvůli přehledu a samozřejmě sloupec pro heslo a přístupová práva. Kvůli zvýšené bezpečnosti je heslo v databázi dobře šifrováno PHP technologiemi, nikoli
38
Vlastní práce
pomocí MySQL. Sloupec přístupových práv (access_lvl) slouží k rozlišení uživatelů systému, aby například takový zákazník nemohl provádět změny v rozvrhu atp. V tomto sloupci existují tři hodnoty a to 0, 1 a 2. Kde 0 je pro administrátorská práva, 1 pro práva lektora a nakonec 2 pro práva zákazníka studia. Tímto byl vyřešen první úkol – uložení uživatelů. Dalším hlavním bodem bylo zajistit ukládání lekcí. Pro tento účel slouží tři tabulky – lekce_brno, lekce_brno_flexi a lekce_olomouc. Každá tabulka je určena pro daný sál a z každé tabulky je tvořen samostatný rozvrh. Stejně jako v tabulce uživatelů i zde je každá lekce označena svým unikátním ID. Každá lekce má daný čas kdy začíná a kdy končí. Pak jsou tu sloupce, které určují který den a v jakém týdnu semestru je lekce vyučována, dále počet míst, která jsou na lekci k dispozici a samozřejmě datum kdy se lekce koná. Kapacita lekcí je rozdělena, jelikož studio vlastní dva druhy tyčí a to běžné niklové tyče a titanové tyče, které jsou určeny pro lidi s alergií na nikl. Je tedy možné zvolit libovolný počet míst pro oba druhy tyčí. Tabulka lekcí je dále provázaná pomocí identifikátorů s dalšími tabulkami. U každé lekce je uloženo ID lektora, který lekci vede, typ kurzu o který se jedná (nevyučuje se pouze pole dance, ale také například hodiny flexibility) a samozřejmě obtížnost dané lekce. Tabulka lektori neslouží k ničemu jinému než k přehledu lektorů, kteří mají na starosti vyučování lekcí ve studiu. Jsou zde pouze tři sloupce a to ID, jméno a příjmení lektora. Tabulka obtiznosti slouží k přehledu všech obtížností lekcí. Kromě názvu je zde i možnost detailního popisu pro dobrou informovanost zákazníka. Další velmi důležitou tabulkou je tabulka kurzy, kde jsou uloženy všechny kurzy, které si může zákazník zvolit. Jako všechny ostatní parametry v databázi tak i kurzy si může administrátor systému zadávat naprosto svobodně. V tabulce pak najdeme název kurzu, kolik lekcí kurz obsahuje, cenu kurzu a také průměrnou cenu jedné lekce, aby zákazníci věděli, kolik lze koupí kurzu ušetřit. Důležitým sloupcem je typ_kurzu, který určuje typ kurzu. V případě Citadely Mefisto jde o pole dance, kurz flexibility a workshop. Databáze je však navržena tak, že administrátor může typy kurzu tvořit dle své libosti a vytvořit pak pro ně libovolný kurz. Tímto jsou vyřešeny lekce a jejich ukládání do databáze. Další podstatný úkol spočíval v navržení tabulky pro ukládání rezervací a zvolených kurzů. Tabulka nahlasene_kurzy uchovává informace o všech uživatelích a jejich nahlášených kurzech a je propojena s tabulkou uzivatele pomoci ID uživatele. Tabulka umožňuje mít u jednoho uživatele nahlášeny až tři kurzy, každý kurz však musí být různého typu, nelze zvolit 2x pole dance nebo 3x workshop. Jsou zde uloženy identifikátory o který kurz a typ kurzu se jedná, čili celá tabulka je
Vlastní práce
39
opět propojena s tabulkou kurzů. Velmi důležitým sloupcem je čas zvolení kurzu. V systému je 10 denní lhůta na zaplacení kurzu od doby zvolení. Pokud lhůta propadne, pak se ve sloupci lhůta na zaplacení změní předdefinovaná 1 na 0, tato změna je v systému zpracována a zákazník je automaticky odhlášen ze všech lekcí, na které se přihlásil. Poté je přihlašování na lekce v daném kurzu možné až po jeho zaplacení. Nakonec jsou zde sloupce zaplaceno a zaplacená částka. Sloupec zaplaceno informuje, zda zákazník kurz řádně zaplatil a zaplacená částka informuje, kolik konkrétně zaplatil. Na samotné rezervace jsou tu tabulky přihlášení. Jsou zde opět tři, pro každý sál zvlášť – prihlaseni_brno, prihlaseni_brno_flexi a prihlaseni_olomouc. Zde se eviduje ID daného uživatele s ID lekce, na kterou se přihlásil. Dále také přesný čas přihlášení a typ tyče. Jedním z požadavků na systém byla ochranná 24 hodinová lhůta u odhlašování z lekcí. Tedy pokud se zákazník neodhlásí nejpozději 24 hodin před začátkem lekce, pak mu lekce bez nároku na její vrácení propadá. Pro tyto případy jsou zde tři tabulky propadlých lekcí – opět pro každý sál zvlášť. Pokud se uživatel neodhlásí alespoň den předem, zapíše se tento záznam do tabulky. Konkrétně přesný čas kdy došlo k odhlášení a z jaké lekce se uživatel odhlašoval. Tímto způsobem se pak dá zamezit případným falešným reklamacím, protože je přesně vidět čas odhlášení a čas začátku lekce. Dalšími a posledními důležitými tabulkami pro zajištění tvorby rozvrhu jsou tabulky semestr_brno a semestr_olomouc. V těchto tabulkách jsou uloženy informace o semestrech v obou městech. Jedná se o datum začátku semestru a počet týdnů v semestru. Pomocí těchto údajů je pak v systému vygenerován časový rozvrh na daný počet týdnů kam je možné přidávat lekce. Poslední tabulkou v databázi je tabulka aktuality. Jsou zde uloženy aktuality, které může psát administrátor a které se zobrazují na domovské stránce systému. Kromě textu aktuality a data jejího přidání jsou zde také sloupce pro zajištění formátování textu. Aktualita tak může být podle libosti psána tučně, kurzívou a v několika barevných provedeních. Část schéma databáze můžete vidět na obrázku 11. Schéma celé databáze lze pak najít v příloze A.
40
Obr. 11
Vlastní práce
Část schéma databáze zobrazující tabulku uživatelů, lekcí a evidenci přihlášení
5.3 Návrh webového rozhraní 5.3.1
Informační architektura
Informační architektura webu (obrázek 12) není nikterak složitá. Navigace je spíše široká než hluboká a liší se podle přístupových práv.
Obr. 12
Informační architektura systému v případě nepřihlášeného uživatele
Hlavní navigace se liší v případě přístupových práv. Co vše je možné pod konkrétními právy dělat je popsáno v kapitole 5.6. 5.3.2
Drátěný model
Důležitou částí před tvorbou grafického návrhu je tvorba drátěného modelu stránky - wireframe. Většinou se tyto modely kreslí na papír kvůli lepší manipu-
Vlastní práce
41
laci. Přece jen guma a tužka je rychlejší a můžeme tak lépe zachytit svoje myšlenky a nápady. Někdy je však nutné zákazníkovi poslat návrh modelu elektronicky a tak jsem nakreslil jednoduchý návrh rozložení stránky systému (obrázek 13).
Obr. 13
Rozložení prvků na stránce pomocí drátěného modelu
5.3.3
Grafický návrh
Obr. 14
Vzhled domovské stránky studia
U grafického návrhu jsem vycházel z oficiálních stránek studia, jehož domovskou stránku lze vidět na obrázku 14. Studio chtělo v rámci zachování jednotného vzhledu pokud možno co nejpodobnější design systému. Několik změn jsem však provedl, hlavně kvůli lepší přehlednosti a čitelnosti textu. Pro lepší orientaci jsem zvýraznil a zvětšil navigaci. Zachoval jsem také barevné schéma a pozadí
42
Vlastní práce
stránky, které jsem pouze odbarvil, aby nebylo tak rušivé. Jak systém vypadá můžete vidět na obrázku 15.
Obr. 15
Vzhled systému z pohledu přihlášeného uživatele
5.4 Technický popis systému Celý systém je přehledně uložen v několika složkách a to konkrétně v: • _ckeditor V této složce jsou uloženy všechny potřebné soubory ke spuštění volně stažitelného WYSIWYG editoru na webu. Tento editor je využit u psaní hromadných zpráv a je možné jej stáhnout na stránkách http://ckeditor.com/. • _css Zde jsou uloženy soubory s příponou .css definující vzhled celého systému. • _functions Externí php funkce pro počítání dat a časů pro generování rozvrhu. Také jsou zde externí soubory pro odesílání emailových zpráv ve formě HTML
Vlastní práce
43
textu. Tyto soubory jsou také volně ke stažení a jsou známé pod názvem PHP Mailer. • _images Veškeré obrázky, které jsou v systému použité. • _js Javascritpové soubory pro zajištění některých funkcí, které PHP nezvládne. • _rsrcs Hlavička, navigace a patička webu samostatně uložené v externích souborech – tyto soubory jsou vkládané do každé stránky, v případě potřeby tak stačí upravit pouze jeden soubor a změna se projeví na celém systému • admin, lektor a uživatel Veškeré stránky zobrazované podle přístupových práv rozdělené do tří složek. Soubory, které nejsou umístěny přímo ve složkách jsou přístupné bez jakýchkoli práv. Jedná se o soubory jako index, často kladené otázky či kontakt. Jediný soubor se nachází vně této adresářové struktury a tím je soubor mysql_spojit.php, ve kterém jsou uložena citlivá přístupová data a pomocí kterého se celý systém napojuje na databázi. Důvodem uložení souboru vně této struktury je, aby nebylo možné jej zobrazit, stáhnout či jinak poškodit přes URL adresu v prohlížeči. Každá jednotlivá stránka je složena z několika dílů. Kromě hlavního obsahu jsou pomocí PHP funkce include a require vloženy externí soubory jako hlavička, navigace a patička (popřípadě PHP mailer). V kořenovém adresáři webu je umístěno ještě několik dalších důležitých souborů napomáhající k dobré funkci stránek. Jedná se o soubory sitemap.xml, robots.txt a htaccess. Sitemap.xml usnadňuje práci vyhledávačům vyznat se na stránce. Robots.txt povoluje/zakazuje vyhledávacím robotům vstup do určitých adresářů či souborů a nakonec soubor htaccess upravuje adresy stránek tak, aby byly hezké, lépe čitelné a bez zbytečných PHP parametrů. 5.4.1
Spuštění systému
Citadela Mefisto vlastní svoji doménu a hosting na adrese http://www.citadelamefisto.com. Původní plán tedy byl umístit systém na subdoménu 3. řádu, tedy něco jako rezervace.citadelamefisto.com. Studio si však vytvořilo prezentaci webu pomocí firmy Wix.com, což zapříčinilo, že celý
44
Vlastní práce
hosting musel být přesměrován na servery Wix a tak se stal jinak nepoužitelným. Po krátké dohodě jsme došli k závěru, že bude nejlepší registrovat doménu novou. Mám výborné osobní zkušenosti s firmou Wedos a tak jsme registraci provedli tam. Zaregistrovali jsme doménu www.citadelamefisto.eu i s Hostignem podporujícím PHP 5, MySQL a mnoha dalšími věcmi, které jsou výhodné a pro běh systému samozřejmě nutné – to vše jen za nějakých cca 360,na rok. Po registraci a vyřízení plateb jsme ihned společně web umístili na hosting a spustili kvůli započetí nových registrací a testování systému.
5.5 Kontrola validace a SEO Po nasazení systému na web bylo potřeba ještě otestovat, zda je web validní a jak si poradí s analýzou SEO. Pro test validace jsem vybral oficiální stránku W3C konsorcia, které je zodpovědné za tvorbu webových standardů a pro test SEO stránku seo-analyzator.cz. Na obrázcích 16 a 17 můžete vidět, jak oba testy dopadly.
Obr. 16
Výsledek SEO testu ze stránky seo-analyzator.cz
Oba testy tedy dopadly kladně. Validace proběhla pouze s jedním varováním, a test SEO dopadl na 90%.
Vlastní práce
Obr. 17
45
Test validace – web je plně validní dle normy HTML5
5.6 Popis fungování systému V této kapitole je blíže uvedena každá jednotlivá stránka systému s popisem co na ní uživatel nalezne a co všechno je na dané stránce možné dělat. Na stránky rezervačního systému je možné dostat se přímo zadáním adresy do prohlížeče nebo přes oficiální stránky studia, které se nachází na adrese http://www.citadelamefisto.com. 5.6.1
Nepřihlášený uživatel
Jako první uživatele přivítá domovská stránka kde kromě úvodního textu a hlavní navigace nalezne vypsané aktuality a v pravém horním rohu formulář pro přihlášení. Pokud je uživatel už zaregistrován, může se přihlásit a popřípadě si nechat zaslat zapomenuté heslo. Pokud uživatel přihlášen není, hned pod formulářem se nachází odkaz na registrační formulář, kde tak může učinit. Ve formuláři vyplní potřebné údaje a na zadaný email mu bude odeslán uvítací email s přihlašovacími údaji. Nechybí samozřejmě záložky jako často kladené otázky, kontakt či postup jak se systémem pracovat pod odkazem „jste tu poprvé?“. 5.6.2
Rozhraní pro zákazníky
Pokud je uživatel přihlášený jako zákazník, pak se hlavní nabídka poněkud rozšiřuje. Hlavní změnou je změní pravé horní okýnko, kde místo přihlašovacího formuláře zákazník nalezne informační panel s důležitými informacemi o přihlášení a také o navolených kurzech, zda jsou zaplaceny a kolik zákazníkovi ještě zbývá v daném kurzu lekcí (popřípadě jaká je lhůta na zaplacení kurzu). Pod záložkou „levely“ nalezne zákazník výpis všech obtížností a typů lekcí jaké studio nabízí a vyučuje. Jednoduše tak zjistí, jaká lekce je pro něj nejvhodnější nebo jaká by jej nejvíce bavila. Jakmile zjistí potřebné informace, může si v záložce „kurzy“ zvolit kurz dle své libosti. Aktuálně studio nabízí 12 kurzů rozdělené podle typu (pole dance a flexibility) a podle ceny v závislosti na počtu lekcí v balíčku. Po zvolení kurzu dojde zákazníkovi informační email s přehledem,
46
Vlastní práce
jaký kurz si zvolil, dokdy je potřeba jej zaplatit a samozřejmě jakými způsoby může platbu učinit. Od zvolení kurzu má zákazník 10 dní na jeho zaplacení. Na lekce se může přihlašovat hned, aby si zajistil své rezervace dopředu. Platba se uskuteční buď převodem na účet studia, či při příchodu na jednu z lekcí, kde je možné kurzovné zaplatit přímo lektorkám. Pokud není platba do 10 dnů uskutečněna, je zákazník z všech lekcí odhlášen a opětovné přihlašování je možné až po zaplacení kurzovného. Přihlašovat a odhlašovat z lekcí je možné celkem ve třech rozvrzích a to pro dva sály v Brně a jeden v Olomouci. Přihlašování na lekce je velice jednoduché. Poslední důležitou záložkou jsou „moje lekce“, kde je podrobný výpis všech lekcí, kde je zákazník přihlášen, včetně času konání, lektora a podstatných informací o lekci a samozřejmě se zde může z lekcí odhlašovat. Také zde může vidět své propadlé lekce, pokud nějaké má. 5.6.3
Administrační rozhraní
Administrační rozhraní skýtá mnoho možností a snažil jsem se jej vytvořit tak, aby byl systém maximálně přizpůsobitelný a k jeho správě si studio vystačilo samo. Pokud je systém spuštěn poprvé, je nejdříve nutné připravit všechna potřebná data k vytvoření rozvrhu. V hlavní navigaci je rozbalovací nabídka pro vytvoření lektorů, obtížností, kurzů a typů kurzů a také časů pro vytvoření rozvrhu. Jakmile si tedy studio zadá své lektory, obtížnosti s jejich popisem (tyto údaje se pak zobrazují automaticky zákazníkům), časová rozmezí lekcí a vytvoří typy kurzů a kurzovní balíčky, je možné systém spustit a začít tvořit rozvrh. Pod odkazem Tvorba rozvrhu se skrývá rozbalovací menu, kde se tvoří rozvrh pro každé studio zvlášť. Nejdříve je uživatel požádán o zadání počátečního data semestru a kolik týdnů bude semestr trvat. Po potvrzení se vygeneruje časový rozvrh a objeví se formulář pro vkládání lekcí. Ve formuláři jsou všechna potřebná pole jako čas, kdy se lekce koná, lektor lekce, obtížnost a také typ lekce. Všechny tyto data předtím uživatel zadal sám a tedy generována z databáze. Tvorba rozvrhu je tedy maximálně flexibilní. Lekce je možné vkládat jednotlivě do každého týdne zvlášť, nebo do všech týdnů v semestru zaráz, což velmi usnadní práci. Po vložení lekce je ještě možné (kromě jejího smazaní) také měnit její obtížnost a lektora. Rozvrh je často ještě pár týdnu po vytvoření uzpůsobován lidem, protože některé lekce se prostě neuchytí a je potřeba několik úprav. Jakmile je rozvrh vytvořen, zákazníci jej hned vidí a mohou se začít přihlašovat. V nabídce je také možné zobrazit si „výpis rozvrhu“, kde jsou vypsány všechny lekce společně s aktuálně obsazenou kapacitou. U každé lekce je možné zobrazit si její detail. V detailu lze vidět všechny účastníky lekce, jejich stav platby, kolik přesně mají zaplaceno, kdy přesně se na lekci přihlásili a také je možné kohokoli z lekce odhlásit. U každého uživatele je rovněž odkaz na jeho detailní
Vlastní práce
47
profil, kde jsou o uživateli zobrazeny všechny údaje. Kromě osobních údajů jako jméno a kontaktní údaje jsou zde zobrazeny všechny kurzy, které má zákazník zvolen. Je zde zobrazeno kolik uživateli u každého kurzu zbývá lekcí a je možné zde zaplacení kurzu potvrdit. Níže jsou zobrazeny všechny lekce, na kterých je zákazník přihlášen s možností jeho odhlášení a také všechny propadlé lekce, pokud se zákazník nedbale odhlašoval mimo ochrannou 24 hodinovou lhůtu. Další důležitou záložkou je výpis všech uživatelů, kde je zobrazen každý zákazník, který je v systému registrován. Jedná se o rychlý výpis pro přehled osob s jejich kontaktními údaji a přehledem zda mají zaplacen kurz. Rovněž je zde odkaz na jejich detailní profil. Pod odkazem udělování práv lze pak jednotlivým uživatelům udělit práva lektora nebo běžného zákazníka. Z bezpečnostních důvodů však nelze udělovat práva administrátora. V záložce aktuality pak nalezneme možnost psát aktuality na úvodní stránku systému, kterou vidí každý příchozí uživatel. Aktuality je možné libovolně psát, editovat a mazat. Je také možné zvolit jejich barvu a řez písma pro lepší odlišitelnost a zvýraznění. Jako poslední je zde rozesílání hromadného emailu, který je řešen pomocí funkce PHP mailer a pomocí volně stažitelného WYSIWYG editoru CK editor. Po vypsání předmětu a těla zprávy je email odeslán všem zákazníkům, kteří jsou v systému zaregistrováni. 5.6.4
Lektorské rozhraní
Lektorské rozhraní je v podstatě ořezaná verze rozhraní pro administrátora. Lze tu najít výpis rozvrhů a uživatelů, což je vlastně, vše co lektor ke své práci v systému potřebuje. Před začátkem lekce si lektor pouze otevře výpis rozvrhu, podívá se na detail dané lekce a zkontroluje, zda všichni co přišli, jsou skutečně nahlášení a zda mají zaplaceno. Pokud zaplaceno nemají, zobrazí si profil uživatele a zaplacení potvrdí.
5.7 Přínos pro podnik Po nasazení systému jsem dostal od studia zprávu, že celý systém jim velmi usnadnil veškerou práci. Mají přehled o všech zákaznících studia, jejich platbách a údajích. Systém jim šetří mnoho času a pomáhá s administrací ve studiu. V případě nutnosti sdělení novinek stačí poslat pouze jeden email, který je všem hromadně rozeslán. Přínos byl tedy hodnocen kladně.
48
Závěr a diskuze
6 Závěr a diskuze Celá tato práce velmi obohatila mé zkušenosti s jazykem PHP a databázovým systémem MySQL. Naučil jsem se mnoho užitečných technik a postupů v oblasti tvorby webových aplikací a jsem si jist, že tyto zkušenosti v budoucnu ještě dále využiji. Zároveň jsem rád, že jsem vytvořil něco, co je pro druhé přínosem a pomáhá studiu v podnikání. Systém jako takový studiu velmi pomohl. Kromě mnoha díků mi bylo sděleno, že systém opravdu šetří mnoho času. Lektorky se nemusejí starat o rezervace na nástěnce, ani nikde bokem zapisovat kdo má a nemá zaplacený kurz. Vše vidí přehledně v systému včetně ostatních údajů o každém zákazníkovi. Mají přehledně uspořádané všechny uživatele a na jejich podrobných profilech si mohou zobrazit potřebné informace, např. kde je uživatel přihlášen, kolik mu zbývá lekcí u daného kurzu atp. Systém je tedy cenným pomocníkem s administrací studia. Pro zákaznice je také mnohem příjemnější, že nemusejí kvůli každé rezervaci či její změně navštěvovat studio a mohou vše ovládat z pohodlí domova nebo mobilního telefonu. Poptal jsem se několika zkušených lidí pracujících v oboru tvorby webových aplikací a bylo mi řečeno, že systém tak jak byl na míru naprogramován by stál cca 20 000,- Kč a více. Systém by bylo možné samozřejmě rozšířit ještě v mnoha směrech. Rozhodně by bylo užitečné větší využití JavaScriptových technologií pro lepší interakci s uživatelem. Věc jako čekací listina by také určitě nebyla k zahození. V případě zaplněné kapacity lekce by se dále mohly tvořit rezervace na čekací listinu a v případě odhlášení nějakého zákazníka z lekce by proběhlo automatické dosazení čekatele, který by byl na listině první. Nejenže mé zkušenosti prozatím nesahají tak daleko (zejména v oblasti JavaScriptu), ale změny by větší měrou zasahovaly do již naprogramovaného kódu a zabraly by mnoho času, který jsem již bohužel neměl.
Literatura
49
7 Literatura KRUG, S. Nenuťte uživatele přemýšlet!: praktický průvodce testováním a opravou chyb použitelnosti webu. 1. vyd. Brno: Computer Press, 2010. 165 s. ISBN 978-80-251-2923-4. ŘEZÁČ, J. Maslowova pyramida na webu. Filův blog [online]. 2009 [cit. 201205-15]. Dostupné z: http://blog.filosof.biz/maslowova-pyramida-na-webu/ STUDIO 20 Technologický postup tvorby webových stránek [online]. 2008 [cit. 2012-05-15]. Dostupné z: http://www.studio20.cz/technologicky-postuppro-tvorbu-webovych-stranek JANOVSKÝ, DUŠAN. Jak psát web Javascript - úvod [online]. [cit. 2012-05-17]. Dostupné z: http://www.jakpsatweb.cz/javascript/javascript-uvod.html POLEDANCE STUDIO POLETIME PRAHA Pole dance [online]. 2011 [cit. 2012-05-10]. Dostupné z: http://poledance-praha.cz/studio/pole-dance/ REZERVAČNÍ SYSTÉM BIZZY Proč Bizzy? [online]. 2010 [cit. 2012-05-18]. Dostupné z: http://www.e-rezervace.cz/proc_bizzy EMOCIO Corporate Identity | emocio [online]. 2007 [cit. 2012-05-17]. Dostupné z: http://www.emocio.cz/prectete-si/clanek/corporate-identity/ ABC LINUXU Tvorba databazi v MySQL [online]. 2003 [cit. 2012-05-19]. Dostupné z: http://www.abclinuxu.cz/clanky/navody/tvorba-databazi-vmysql-i
50
Literatura
Přílohy
Dodatečné obrázky
51
A Dodatečné obrázky Schéma databáze Na obrázku 18 je zobrazeno schéma databáze systému. Kvůli ušetření místa jsou zde však tabulky lekcí a rezervací pouze pro jeden Brněnský sál. To však pro ilustraci jak systém funguje bohatě postačí. Tabulky pro ostatní sály fungují totožně jako ta pro Brno. Náhled do rozvrhu Na obrázku 19 je vidět jak vypadá uživatelské rozhraní systému, kde se v levém horním rohu nachází informační panel s informacemi o zvolených kurzech a také jak vypadá rozvrh pro sál v Brně.
52
Dodatečné obrázky
Obr. 18
Schéma databáze
Obr. 19
Ukázka uživatelského rozhraní – pohled na rozvrh