Rezervační Systém Sportovišť
Total Page:16
File Type:pdf, Size:1020Kb
Masarykova univerzita Fakulta informatiky Rezervační systém sportovišť Bakalářská práce Tomáš Hampl Brno, podzim 2020 Masarykova univerzita Fakulta informatiky Rezervační systém sportovišť Bakalářská práce Tomáš Hampl Brno, podzim 2020 Na tomto místě se v tištěné práci nachází oficiální podepsané zadání práce a prohlášení autora školního díla. Prohlášení Prohlašuji, že tato bakalářská práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Tomáš Hampl Vedoucí práce: Mgr. Pavel Budík i Poděkování Na prvním místě bych rád poděkoval vedoucímu práce Mgr. Pavlu Budíkovi a celému týmu Webcentra, který mi pomohl s otestováním nového rezervačního systému. Dále bych rád poděkoval Ing. Vladimíře Kopuleté, která mě seznámila s původním rezervačním systémem. ii Shrnutí Cílem této práce je vytvoření nového rezervačního systému pro sportoviště spravovaná Fakultou sportovních studií Masarykovy Univerzity. Součástí práce je analýza původního rezervačního systému, na základě které vznikl návrh nového systému. Závěr práce je zaměřen na implementaci nového řešení. Nový systém byl integrován v univerzitním redakčním systému Umbraco. Zároveň se podařilo přenést veškerá potřebná data z původního rezervačního systému a úspěšně nový rezervační systém spustit. iii Klíčová slova webová aplikace, rezervace, Umbraco, Angular, .NET iv Obsah 1 Úvod 1 2 Redakční systém Webcentra 2 2.1 .NET Framework .......................2 2.1.1 ASP.NET . .3 2.2 Content Management System ................3 2.3 Uživatelské sekce Umbraca ..................4 2.4 Microsoft SQL Server .....................5 2.4.1 Objektově relační mapování . .6 2.5 Klient–server model ......................6 2.5.1 Vytvoření stránky na serveru . .7 2.5.2 Vytvoření stránky u klienta . .7 2.6 Životní cyklus formuláře ...................8 2.6.1 Validace dat z formulářů . 10 3 Analýza původního rezervačního systému 12 3.1 Případy užití ......................... 12 3.2 Uživatelé ........................... 13 3.2.1 Uživatelské notifikace . 14 3.3 Rezervace ........................... 15 3.3.1 Hromadné rezervace . 15 3.4 Roční cyklus .......................... 15 3.5 Administrátorská sekce .................... 16 3.5.1 Financování . 16 3.5.2 Statistika . 17 3.6 Analýza uložených dat .................... 17 4 Návrh nového rezervačního systému 19 4.1 Typy rezervací ......................... 20 4.2 Uživatelské skupiny ...................... 20 4.3 Spravování rezervačního systému ............... 21 4.3.1 Sportoviště a areály . 21 4.3.2 Uživatelé a skupiny . 21 4.3.3 Typy rezervací . 22 4.3.4 Spravování rezervací . 22 v 4.4 Databáze ........................... 22 4.5 Uživatelské rozhraní ..................... 24 5 Implementace systému 26 5.1 Webová stránka ........................ 26 5.2 Rezervační kalendář ...................... 26 5.3 Export rezervací ........................ 30 5.3.1 Export pro správce . 31 5.3.2 Export pro ekonomické oddělení . 32 5.4 Import rozvrhů ........................ 32 5.5 Import dat ze starého systému ................ 35 6 Závěr 38 Bibliografie 39 A Elektronické přílohy 41 vi Seznam obrázků 2.1 Ukázka sekce Obsah 4 2.2 Ukázka sekce Webdata 5 2.3 Životní cyklus komponenty 9 3.1 Případ užití rezervačního systému 13 3.2 Schéma části databáze 18 4.1 Upravené případy užití na základě analýzy 19 4.2 Diagram databáze pro nový rezervační systém 23 4.3 Shrnutí rezervace v původním systému 25 5.1 Ukázka kalendáře vytvořená díky fullcalendar 27 5.2 Ukázka kalendáře vytvořená díky angular-calendar 28 5.3 Ukázka exportní třídy 31 5.4 Ukázka rozhraní pro export rezervací 31 5.5 Ukázka rozvrhu ve formátu XML 34 5.6 Ukázka poznámky k rozvrhu 34 vii 1 Úvod Na Fakultě sportovních studií (FSpS) Masarykovy univerzity mají studenti možnost v rámci výuky navštěvovat nejrůznější sportoviště jako například posilovnu, tělocvičnu nebo tenisové kurty. Tato sportoviště však nejsou výukou plně vytížena, proto jsou ve zbývajícím čase k dispozici pro veřejnost. Pro možnost zarezervovat si volné sportoviště v současné době slouží rezervační formulář, který je k dispozici pro registrované uživatele na stránkách fakulty. Rezervační formulář je součástí rezervačního systému, ve kterém mají administrátoři mimo jiné možnost upravovat nastavení systému a pracovat s daty. Webové stránky FSpS přecházejí pod správu Ústavu výpočetní techniky (ÚVT) Masarykovy univerzity v rámci poskytovaných služeb Webcentra. Proto i tento rezervační systém je součástí tvorby nových webů. Rezervační systém, který byl vytvořen přímo pro potřeby FSpS, pomalu zastarává a je tedy vhodné systém upravit a přizpůsobit novým podmínkám a požadavkům. Z toho důvodu vznikne nový rezervační systém, který bude založený na nových technologiích a zaměří se na opravu nedostatků původního systému. Cílem této bakalářské práce je vytvoření nového rezervačního systému, který převezme původní funkcionalitu a tu dále rozšíří. Převážně se zaměříme na vylepšení administrační sekce, abychom zlepšili a ulehčili každodenní rutinní práci správce. V první kapitole jsem se zaměřil na popis redakčního systému Webcentra, jeho hlavní úkol a jednotlivé funkcionality. V druhé kapitole jsem se zaměřil na analýzu starého systému a zachytil jsem jeho hlavní požadavky. Při analýze jsem se zaměřil na možnost jeho vylepšení a odstranění nedostatků. Výsledkem analýzy je i vytyčení hlavních bodů, které bude nový systém obsahovat. V následující kapitole jsem se zaměřil na samotný návrh nového rezervačního systému. Při návrhu používám znalosti nabyté při analýze starého systému a navrhuji vhodné řešení problémů a nedostatků starého systému. V poslední kapitole popisuji implementaci systému. 1 2 Redakční systém Webcentra Tým Webcentra spravuje více než 300 webových stránek a pro tyto účely se v rámci Webcentra využívá redakční systém (Content Management System). Jedná se o systém pro správu obsahu, v našem případě jde o správu jednotlivých webových stránek. Podobné systémy, které se v těchto případech používají, jsou například WordPress, Joomla a nebo Drupal. Redakční systém Webcentra však v tomto případě běží na open-source platformě Umbraco, která je založena na .NET Frameworku. Proto se v této kapitole blíže podívám na již zmíněnou platformu Umbraco a na technologie, které nabízí pro vývoj webových stránek. 2.1 .NET Framework Celý redakční systém běží na .NET Frameworku 4.7.2. .NET Framework je běhové prostředí pro Windows, které poskytuje běžícím aplikacím celou škálu služeb (například správa paměti, rozšiřující knihovny nebo základní typový systém). Skládá se ze dvou základních částí: ∙ Common Language Runtime (CLR) – jedná se o běhový engine, který má na starost běžící aplikace ∙ Class Library (CL) – poskytuje knihovnu testovaného a znovupoužitelného kódu, který vývojáři mohou využít při vytváření vlastních aplikací Aplikace může být napsána v C#, F# nebo Visual Basicu. Tyto jazyky pak překladač převede na Common Intermediate Language (CIL). Přeložený kód je uložen v assemblies. Při běhu aplikace jsou pomocí just-in-time překladače (tj. překladu za běhu) assemblies převedeny do strojového kódu, který může běžet na dané architektuře počítače. Pro vývoj redakčního systému je použit C#, který je objektově orientovaný a staticky typovaný programovací jazyk [1]. 2 2. Redakční systém Webcentra 2.1.1 ASP.NET Součástí frameworku je i ASP.NET, který je zaměřený přímo na tvorbu webových aplikací. Je vytvořen pro práci s Hyper Text Transfer Protokolem (HTTP), který je založený na principu požadavek-odpověď. Poskytuje tři frameworky pro tvorbu webových stránek a aplikací (Web Forms, ASP.NET MVC, ASP.NET Web Pages), které sdílí základní funkcionalitu jako jsou model zabezpečení přihlášení, správa požadavků, zpracování relací atd. Použití jednoho z nich nevylučuje možnost použití jiného. To znamená, že jednotlivé komponenty aplikace mohou využívat různé frameworky [2]. Dále také nabízí jednoduchý způsob pro vytváření webových aplikačních rozhraní (API) díky frameworku ASP.NET Web API, který podporuje širokou škálu klientů, jeho součástí jsou i prohlížeče a mobilní zařízení. Součástí ASP.NET je i Razor View Engine. View engine slouží k tomu, aby transformoval view uložené v paměti do požadované formy. V případě Razoru jde o převod CSHTML souboru na stránku v HTML. Razor poskytuje zjednodušenou formu syntaxe, která obsahuje jak prvky značkovacího jazyka HTML, tak i programovacího jazyka C#. Využívá se ke tvorbě jednoduchých i složitějších dynamických stránek. Proces vytváření stránky v HTML probíhá na straně serveru a uživatel dostane již vytvořenou stránku [3]. 2.2 Content Management System Umbraco poskytuje administrátorům webových stránek stavebnici v jednotném vizuálním stylu univerzity. K úpravě a tvorbě nových stránek se používají komponenty, které je možné uspořádávat do mřížky. Ve většině případů se jedná o WYSIWYG editory („What You See Is What You Get“). Tyto editory zobrazují uživateli obsah tak, jak bude vypadat na webu. Proto webové stránky mohou upravovat i osoby, které nemají znalost programování. Naopak vývojářům nabízí prostředky pro jednoduché vytváření vlastních datových typů nebo automatického výpisu pro dané webové stránky. Díky tomu, že se jedná o open-source platformu, je možné Umbraco upravit podle vlastních potřeb. 3 2. Redakční systém Webcentra 2.3 Uživatelské sekce Umbraca Funkcionalita redakčního systému je pro uživatele rozdělena do různých sekcí. Nejdůležitější z nich jsou popsány