• No results found

Úlohy pro Cron

Rezervační systém musí vykonávat i bezobslužné úlohy. K tomu využívá softwarovou službu s názvem Cron, která je nainstalována na webových serverech pro vývojovou i ostrou verzi. Každý den mezi 8:00 a 22:00 bezobslužně provádí každých pět minut skript, který se nachází v modulu cron.py.

Třída Cron obsahuje konstruktor, ve kterém se připojuje databáze a spojení se vloží do proměnné db. Statická metoda traceback vrací detailní popis poslední výjimky, ke které došlo. Pro odeslání e-mailové zprávy slouží metoda poslatMail.

Pokud při běhu skriptu dojde k chybě, pošle se vývojáři webu e-mailová zpráva s detailem chyby a časem, kdy k ní došlo.

Metoda ruseniAkce třídy Cron slouží k rušení událostí z důvodu nedostatečné obsazenosti. Systém z databáze zjistí, zda se v příštích šesti hodinách nemá konat událost jiného typu než kurz, jejíž obsazenost je menší než minimální. Pro každou takovou událost se nejprve odešle e-mailová a sms zpráva o zrušení události všem uživatelům přihlášeným na tuto událost a také lektorovi, který měl událost vést.

Každému uživateli přihlášenému na tuto událost se vrátí peníze, popřípadě bonusové body použité k rezervaci zpět na konto. Pokud si uživatel na události měl nahradit zmeškanou kurzovou lekci, označí se tato lekce opět jako nenahrazená. V případě, že uživatel k rezervaci použil permanentku, smaže se i její čerpání. Události a veškerá docházka na události se odstraní z databáze a tato skutečnost se zapíše do databázové tabulky log.

Systém dále pomocí metody neuhrazeneFaktury stornuje faktury, které nebyly uhrazeny do pěti kalendářních dnů. Pokud z databáze zjistí, že nějaká taková faktura existuje, vytvoří opravný doklad a fakturu označí jako stornovanou. Odběrateli poté pošle e-mailovou zprávu o stornování faktury.

Další úlohou, kterou systém provádí, je rušení již neplatných předrezervací.

Pokud nějakou najde v databázové tabulce rezervace, odešle danému klientovi e-mailovou zprávu o zrušení předrezervace a odstraní ji. V poslední řadě se smaže z databáze i docházka daného uživatele na tuto událost.

Sledování volných míst na událost probíhá také v modulu cron.py. Pokud se z databáze zjistí, že se uvolnilo místo na nějakou událost, kterou někdo sleduje, odešle se tomuto uživateli e-mailová a sms zpráva o uvolnění místa. Poté se záznam o tomto sledování z databáze odstraní.

Sms zprávy se odesílají přes bránu SMS Connect. Pokud je potřeba odeslat nějakou sms, vytvoří se požadavek v databázové tabulce sms_posli. Uloží se zde, kdy se na jaké číslo má poslat jaký text. Úloha Cronu každých pět minut čte záznamy z této tabulky a odbavuje je. Pokud se nepodaří sms zprávu odeslat, zapíše se chyba do tabulky log. V opačném případě se zapíše datum a čas odeslání pod atribut Odbaveno v tabulce sms_posli.

5 Vyhodnocení řešení

Aplikace byla po dobu přibližně čtyř týdnů na vývojovém serveru testována dobrovolníky, kteří objevili mnoho programátorských chyb, což indikuje důkladnost testování. Poté byl systém nasazen v ostré verzi. V této době měla celá aplikace přibližně 11 000 řádků.

Aplikace byla uvedena do provozu v tanečním studiu 19. dubna 2015. Po třech týdnech je v systému registrováno 115 uživatelů. Uživatelé zatím provedli celkem 209 rezervací na některé ze 330 událostí uplynulých i naplánovaných do budoucnosti.

Počet všech zakoupených platných i neplatných permanentek je nyní 23.

V těchto třech týdnech se objevilo několik lehce řešitelných problémů. Většinou se jednalo o doplnění nějaké funkce nebo vlastnosti systému, například umožnění lektorovi zakoupit klientovi permanentku. Požadované funkce byly do systému co nejrychleji implementovány.

Majiteli studia šetří nový systém čas a velké množství práce provádí za něj.

Majitel již nemusí například vystavovat faktury a hlídat jejich zaplacení, ručně evidovat rezervace na jednotlivé události a hlídat obsazenost událostí tak, aby se jejich pořádání finančně vyplatilo. Díky povinné platbě zákazníků předem má majitel jistotu, že bude událost zaplacena. Pro lektory studia přináší nový systém především úbytek práce spojené s přijímání hotovosti od zákazníků a vystavováním dokladů.

Zákazníci studia mají nyní možnost pohodlně spravovat své rezervace. Aplikace jim také poskytuje více důležitých informací jako například náplň jednotlivých lekcí.

Každý nový klient navíc ušetří, protože při vytvoření účtu je mu na konto připsána i určitá částka jako dárek.

Pro používání aplikace je potřeba taneční studio vybavit počítačem s webovým prohlížečem a tiskárnou, na které se tisknou doklady. Počítač je nutné připojit k Internetu. V případě, že z jakéhokoli důvodu nebude možné webovou aplikaci použít, lektor musí docházku zapsat na papír a při nejbližší příležitosti ji zpětně zadat do systému.

6 Závěr

V průběhu řešení této bakalářské práce byla vytvořena webová aplikace pro rezervační systém tanečního studia. Vývoj probíhal na samostatném serveru s testovacími daty, ostrá verze systému byla pro taneční studio implementována bez větších problémů a v termínu. Aplikace splňuje všechny požadavky na ni kladené.

Systém poskytuje rozhraní pro klienty, zaměstnance a majitele tanečního studia.

Zákazníkům studia aplikace umožňuje především efektivně spravovat své rezervace a permanentky. Lektoři mají právo zde manipulovat s rezervacemi, vyplňovat docházku a pracovat s hotovostí přímo ve studiu. Administrátoři mají navíc možnost spravovat veškeré subjekty v systému.

Na rozdíl od většiny konkurenčních aplikací rezervační systém automaticky odesílá e-mailové a sms zprávy, neomezuje počet uchovávaných rezervací a jeho cena a náklady na provoz jsou velmi nízké.

Při realizaci řešení byl kladen velký důraz na přehlednost aplikace a intuitivní ovládání. Přihlíželo se ke specifickým požadavkům konkrétního tanečního studia.

Implementace rezervačního systému přinesla všem uživatelům mnoho výhod z hlediska manažerského i finančního.

Tato práce, přestože dokončená, může být dále vhodně rozšířena. Bylo by například možné integrovat do aplikace platební bránu a poskytnout tak klientům další možnost dobití konta na svém účtě. Další možnost představuje použití designu přizpůsobivého různým rozlišením obrazovek mobilních telefonů, tabletů a jiných zařízení. Jiným řešením tohoto problému může být mobilní aplikace rezervačního systému pro Android nebo jiný operační systém.

Použitá literatura a zdroje

[1] Online rezervační systém a kalendář SuperSaaS [online]. 2015 [cit. 2015-03-20]. Dostupné z: http://www.supersaas.cz/

[2] Rezervační systém - fitness-rezervace.cz [online]. 2015 [cit. 2015-03-20].

Dostupné z: http://www.fitness-rezervace.cz/

[3] Rezervační systém iSport – online rezervace pro sporty a cvičení [online]. 2015 [cit. 2015-03-20]. Dostupné z: http://www.isportsystem.cz/

[4] HLAVENKA, Jiří, Radek SEDLÁŘ, Tomáš HOLČÍK, Richard BOTÍK a Jakub MACH. 1999. Vytváříme WWW stránky. Praha: Computer Press. ISBN 80-7226-163-0 [5] The official home of the Python Programming Language [online]. 2015 [cit. 2015-03-21]. Dostupné z: https://www.python.org/

[6] BROWN, Ryan. Django vs Flask vs Pyramid: Choosing a Python Web Framework. Software Micro-Consulting via Video Chat | AirPair [online]. 2015 [cit. 2015-03-21]. Dostupné z:

https://www.airpair.com/python/posts/django-flask-pyramid

[7] MySQL :: MySQL 5.0 Reference Manual :: 14 Storage Engines. MySQL ::

Developer Zone [online]. 2015 [cit. 2015-03-23]. Dostupné z:

h ttps://dev.mysql.com/doc/refman/5.0/en/storage-engines.html

[8] jQuery [online]. 2015 [cit. 2014-10-31]. Dostupné z: http://jquery.com/

[9] jQuery Plugin Date and Time Picker [online]. 2015 [cit. 2015-03-04]. Dostupné z: https://github.com/xdan/datetimepicker

[10] MOORE, Jack. Colorbox - a jQuery lightbox [online]. 2014 [cit. 2014-11-03].

Dostupné z: http://www.jacklmoore.com/colorbox/

[11] jQuery UI [online]. 2015 [cit. 2015-03-12]. Dostupné z: http://jqueryui.com/

[12] The Simple Python HTML Open Source Project on Open Hub [online]. 2011 [cit. 2014-11-01]. Dostupné z: https://www.openhub.net/p/pyhtml

[13] FullCalendar - JavaScript Event Calendar (jQuery plugin) [online]. 2014 [cit. 2014-10-31]. Dostupné z: http://fullcalendar.io/

[14] SCHURMAN, Eric M. a William J. PARDI. 2000. Dynamické HTML v akci.

Praha: Computer Press. ISBN 80-7226-401-X

Přílohy

Obsah přiloženého CD:

• Elektronická podoba této práce ve formátu PDF

Related documents