Střední průmyslová škola strojní a elektrotechnická a Vyšší odborná škola, Liberec 1, Masarykova 3
TRÉNINKOVÝ DENÍK Dlouhodobá maturitní práce
Autor
Jan Kadeřábek
Obor
Informační technologie
Vedoucí práce Školní rok
Ing. Jiří Pliska 2013/2014
Tréninkový deník
Anotace (Resumé) Cílem projektu „Tréninkový deník“ bylo vytvoření prostředí, které bude umožňovat uchovávat informace související s posilováním pro zpětné zhodnocení. Základem bylo naprogramování webové aplikace pro komplexní správu, kdy bylo využito skriptovacího jazyka PHP s aplikací návrhového vzoru MVC. Mobilní klient určený pro platformu Windows Phone 8 byl naprogramován v C# s využitím návrhového vzoru MVVM. Tato práce si klade za cíl představení projektu po funkční stránce za účelem vysvětlení a obecného popsání jednotlivých kategorií. Součástí je také popis technické části projektu, ta je popsána v první kapitole – katalogu požadavků. Na dalších stranách je pak rozbor jednotlivých aplikací.
Summary The goal of the project “Tréninkový deník” (A Training Diary) was to make environment which can save work-out related information to get a reliable feedback. The basis of the project is a web application for complex management where was used a scripting language PHP with a use of MVC pattern. A mobile client for Windows Phone 8 was programmed in C# with a use of MVVM pattern. This work aims to show how the project works in its practical part, and to describe its individual categories generally. One part of the work is also focused on the description of technical parts of the project which is in the first chapter – in the list of requirements. Next pages are focused on analysis of individual applications.
Čestné prohlášení Prohlašuji, že jsem předkládanou dlouhodobou maturitní práci vypracoval sám a uvedl jsem veškerou použitou literaturu a bibliografické citace. V Liberci dne 13. 3. 2014
....................................................... Jan Kadeřábek
Tréninkový deník
Obsah Úvod ...................................................................................................................................................................... 1 1 1.1 1.2 1.2.1 1.2.2 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.4 1.4.1 1.4.2 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5
Katalog požadavků ........................................................................................................................... 2 Popis okolí systému.......................................................................................................................... 2 Funkční požadavky webové aplikace ........................................................................................ 2 Chování systému ............................................................................................................................... 2 Data systému....................................................................................................................................... 2 Nefunkční požadavky webové aplikace ................................................................................... 3 Bezpečnost ........................................................................................................................................... 3 Výkon ..................................................................................................................................................... 4 Spolehlivost ......................................................................................................................................... 4 Použité technologie .......................................................................................................................... 4 Kvalifikace obsluhy........................................................................................................................... 4 Funkční požadavky mobilní aplikace ........................................................................................ 4 Chování systému ............................................................................................................................... 4 Data systému....................................................................................................................................... 5 Nefunkční požadavky mobilní aplikace.................................................................................... 5 Bezpečnost ........................................................................................................................................... 5 Výkon ..................................................................................................................................................... 6 Spolehlivost ......................................................................................................................................... 6 Použité technologie .......................................................................................................................... 6 Kvalifikace obsluhy........................................................................................................................... 6
2 2.1 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6
Vytvoření webové aplikace ........................................................................................................... 7 Návrh databáze .................................................................................................................................. 7 Samotná webová aplikace.............................................................................................................. 9 Kostra aplikace ................................................................................................................................... 9 Tréninky ............................................................................................................................................... 9 Tréninkové plány ........................................................................................................................... 10 Měření................................................................................................................................................. 10 Uživatelský profil ........................................................................................................................... 11 Uživatelské prostředí.................................................................................................................... 11
3 3.1 3.2 3.2.1 3.2.2 3.2.3 3.2.4
Windows Phone 8 aplikace ........................................................................................................ 12 Lokální databáze............................................................................................................................. 12 Prostředí aplikace .......................................................................................................................... 12 Účet ...................................................................................................................................................... 13 Zásobník cviků................................................................................................................................. 13 Přidání tréninku ............................................................................................................................. 13 Uložené tréninky ............................................................................................................................ 14
Závěr .................................................................................................................................................................. 15 Použitá literatura .......................................................................................................................................... 16 Seznam obrázků ............................................................................................................................................ 17 A.
Obsah přiloženého CD ..................................................................................................................... 1
Tréninkový deník
Úvod Projekt Tréninkový deník vznikl za účelem usnadnění vedení si záznamů z tréninků v posilovně. Jeho cílem je nabídnout uživateli jednoduché prostředí, kde si bude moci vést tréninky co nejjednodušším způsobem. V posilování nejde jenom o zvedání závaží, ale také zejména o formování postavy. Proto bylo zapotřebí vytvořit prostředek k jejímu dlouhodobému sledování. Při posilování je důležité se neustále posouvat dál v našem úsilí a zároveň neztratit důležitou motivaci. Každý pohled o delší časové období zpět by měl vést k dalšímu motivování nebo případné změně tréninku či jídelníčku. Silový trénink v posilovně je složen z několika cviků, které zahrnují jednotlivé série. V sériích sledujeme počet opakování a váhu, s jakou bylo pracováno. Stejně tak nás zajímá pohled na série cviku jako na celek, který vypovídá o tom, s jakým pracovním objemem jsme schopni odcvičit určitý cvik. Hodnoty opakování a váhy se mohou v jednotlivých sériích lišit. Pro zjednodušení zapisování tréninků slouží tréninkové plány a jejich tréninkové jednotky. Taková jednotka představuje předpis pro zapsání tréninku s již přidanými cviky a sériemi, ke kterým je nutno doplnit váhy a případně upravit opakování. V případě sledování postavy nás zajímá obvod jednotlivých tělesných partií a tělesná hmotnost. Cílem bylo vytvořit jednoduchý nástroj pro dlouhodobé a přehledné sledování těchto údajů a následně je přehlednou formou prezentovat uživateli. Výsledkem je interaktivní graf, který velice jasně ukazuje postup a umožňuje tedy snadnou kontrolu.
1
Tréninkový deník
1
Katalog požadavků
1.1
Popis okolí systému
Veškerá data pochází od uživatelů, kteří je sami přidávají. K jejich reprezentaci je využito externí služby Google Charts od firmy Google. Tato služba umožňuje jednoduché vykreslování interaktivních grafů prostřednictvím již vytvořených knihoven. Předání dat a vykreslení je prováděno JavaScriptem. V mobilní aplikaci je pak použito rozšíření Json.NET, které umožňuje snadnou práci s daty ve formátu JSON. Jak již bylo uvedeno, systém slouží k vedení a vyhodnocování záznamů souvisejících s posilováním. Uživatelé si tak přidávají své záznamy a aplikace se jim snaží poměrně náročnou činnost záznamu tréninku co nejvíc ulehčit.
1.2
Funkční požadavky webové aplikace
1.2.1
Chování systému
–
Registrace uživatele
–
Zapisování tréninků
–
Přidávání tréninkových plánů
–
Zapisování údajů o postavě
–
Zpětné vyhodnocování výkonů v trénincích
–
Zhodnocení vývoje postavy
1.2.2
Data systému
Tvorba webové aplikace pomocí architektury MVC vede k jasnému rozdělení funkcionality, což je zobrazeno na následujícím UML diagramu tříd.
2
Tréninkový deník
Obrázek 1 - Obecný diagram tříd webové aplikace
1.3
Nefunkční požadavky webové aplikace
1.3.1
Bezpečnost
Základním prvkem bezpečnosti je autentizace uživatele, jehož heslo je kryptováno velmi bezpečnou, ale zároveň dostatečně rychlou metodou Blowfish. Každý uživatel může nastavit, zda chce svá přidaná data zpřístupnit veřejnosti či nikoliv. Databáze je 3
Tréninkový deník zabezpečena pomocí integritních omezení. Ještě před zapsáním do databáze jsou data ošetřena využitím MySQLi funkcionality Prepared Statements. Vstupní formulářové prvky jsou dále ověřovány pomocí jQuery skriptu. 1.3.2
Výkon
Vzhledem k tomu, že získání obecných dat o uživateli, respektive o jeho záznamech z tréninků, je poměrně náročná operace, kvůli jejich rozsahu. Jsou data odkládány do vedlejší tabulky a počítají se pouze při změně údajů, ze kterých vychází. Informace například o celkové nazvedané hmotnosti se spočítá při přidání, odstranění nebo úpravě tréninku a uloží se jako jeden záznam do tabulky profil, odkud jsou informace dále načítány již bez rozsáhlého procházení databáze. 1.3.3
Spolehlivost
Spolehlivost a rychlá podpora je garantována ze strany poskytovatele webového hostingu. V případě nedostatečných systémových prostředků by byl brán v úvahu pronájem virtuálního serveru. 1.3.4
Použité technologie
Mezi použité technologie webové aplikace patří návrhový vzor MVC, který umožňuje systematické rozdělení aplikace a snadnou rozšiřitelnost. Dále se jedná například o objektový přístup k databázi prostřednictvím MySQLi. Opomenout nemůžu ani JavaScriptovou knihovnu jQuery, která umožňuje snadné procházení DOM nebo práci s AJAXem. Pro vykreslování grafů je využito služby Google Charts. 1.3.5
Kvalifikace obsluhy
Systém budou používat běžní uživatelé, proto je při vývoji kladen důraz na jednoduchost uživatelského prostředí, které by mělo intuitivně vést uživatele.
1.4
Funkční požadavky mobilní aplikace
1.4.1
Chování systému
–
Přihlášení uživatele
–
Možnost práce offline
–
Synchronizace lokální databáze s webovou 4
Tréninkový deník –
Zapisování tréninků
–
Odesílání tréninků na web
–
Ukládání tréninků do lokální databáze
1.4.2
Data systému
K vytvoření aplikace pro platformu Windows Phone 8 byl využit návrhový vzor MVVM, který spolu s využitím XAML dělá aplikaci velice pružnou a přehlednou. K lokální databázi, kterou zastupuje Data Context je přistupováno pomocí LINQ. Základní rozdělení aplikace podle Data Contextu a ViewModelů je vidět na následujícím diagramu.
Obrázek 2 - Základní diagram tříd mobilní aplikace
1.5
Nefunkční požadavky mobilní aplikace
1.5.1
Bezpečnost
Všechna data aplikace se ukládají do Isolated Storage, kam má přístup jenom samotná aplikace a nikdo jiný. To umožňuje ukládat i citlivá data uživatele pro trvalé přihlášení.
5
Tréninkový deník 1.5.2
Výkon
Vzhledem k dobré optimalizaci operačního systému a nenáročnosti aplikace, je její běh velmi rychlý. Připojení ke vzdálenému serveru a tedy rychlost komunikace však ovlivňuje více faktorů, například rychlost připojení nebo vytíženost serveru. Proto je u veškeré komunikace nastaven časový limit pro připojení. 1.5.3
Spolehlivost
Spolehlivý běh aplikace je opět podpořen kvalitním operačním systémem a také ošetřením různých nevyžádaných situací, které mohou nastat při běhu aplikace. Jedním z bodů vysoké chybovosti je komunikace s webovým serverem, kde je nutné nastavit časový limit připojení – timeout a také kontrolovat přijatá data. 1.5.4
Použité technologie
Pro přehledný a pružný vývoj a následné rozšiřování byl zvolen návrhový vzor MVVM, který spolu s použitím XAML umožňuje poměrně snadné navázání interakce s uživatelem. Pro přístup k databázi přes Data Context je využito metod LINQ. Data se pro komunikaci s webovým serverem upravují do formátu JSON, k čemuž slouží volně dostupná knihovna Json.NET. 1.5.5
Kvalifikace obsluhy
Systém budou používat běžní uživatelé, proto je při vývoji kladen důraz na jednoduchost uživatelského prostředí, které by mělo intuitivně vést uživatele.
6
Tréninkový deník
2
Vytvoření webové aplikace
Základním kamenem tohoto projektu je webová aplikace, která slouží ke komplexní správě. Uživatel zde pracuje s tréninky, které může přidávat, upravovat, procházet, sdílet atd. Stejně tak může spravovat tréninkové plány. Nedílnou součástí aplikace je sekce Měření, která slouží pro sledování postavy, k jejíž formování během posilování dochází nebo je to minimálně cílem.
2.1
Návrh databáze
Nejdříve jsem provedl průzkum, co bude zapotřebí sledovat a jakým stylem zapisovat. Na základě získaných informací jsem začal s návrhem databázového modelu. Základem je tabulka user, která představuje jedinečného uživatele. Na ni se váže tabulka trenink reprezentující jeden trénink z posilovny. Na tu je navázána tabulka cvik, která slouží pro identifikaci jednotlivých sérií v tréninku a odkazuje na cvik ze zásobníku cviků, z kterého si uživatel vybírá. Entitní typ serie pak nese informace o počtu opakování a hmotnosti závaží. Dalším požadavkem uživatelů byly tréninkové plány, ty slouží k zjednodušení zapisování a představují jakýsi předpis tréninku. Každý tréninkový plán je tvořen tréninkovými jednotkami skládajících se opět ze cviků a sérií. Tréninkovou jednotku představuje entitní typ trenink_sablona, ten je téměř shodný s tabulkou trenink, jen zde nepotřebujeme sledovat údaje jako je datum a délka tréninku, ale realizuje se zde vazba na plán, tedy na plan_sablona. Cviky a série už jsou shodné jako v předchozím případě – cvik_sablona, serie_sablona. Důležitou součástí projektu je sekce Měření, která slouží ke sledování údajů o postavě. Tabulka mereni tedy uchovává informace o mírách jednotlivých partií, tělesné hmotnosti, výšce a je vázána na jediného uživatele, který může mít neomezeně měření. Entitní typ profil slouží pro odlehčení zátěže na databázi. Uživateli jsou na profilu po přihlášení zobrazovány souhrnné informace, jejichž sestavení by mohlo být při větším objemu dat poměrně náročné. Proto se pouze při změně v tréninku spočítají údaje, jako je počet odcvičených tréninků, celková nazvedaná hmotnost, čas strávený v posilovně a zapíšou se do tabulky profil. Odtud jsou pak záznamy načítány vždy při zobrazení profilu, nedochází tak k opakovanému počítání nezměněných dat při každém zobrazení. 7
Tréninkový deník U tréninkového plánu a uživatele jsem přemýšlel o vazbě M:N. Tu jsem nakonec nerealizoval, jelikož by cizí trénink, který si uživatel přidal mezi oblíbené, mohl nečekaně zmizet, kdyby ho autor odstranil, nebo provedl nechtěné změny.
Obrázek 3 - ER model webové databáze
8
Tréninkový deník 2.2
Samotná webová aplikace
Stránky jsou rozděleny na několik sekcí a to podle jejich zaměření. Každá sekce využívá vlastních controllerů a modelů. 2.2.1
Kostra aplikace
Při tvorbě byl použit návrhový vzor MVC. V souboru index.php se nachází autoload funkce, která zajišťuje načtení potřebných souborů podle názvu třídy při vytváření její instance, což značně zjednodušuje tvorbu aplikace. Dále práci přebírá RouterController jemuž je prostřednictvím parametru metody Zpracuj předána zadaná URL adresa. Tento controller si adresu rozkouskuje, vezme první parametr, který převede do velbloudí notace, přidá k tomuto řetězci slůvko Controller a ověří, zda takovýto controller existuje. Pokud ano vytvoří jeho novou instanci a předá mu parametry z adresy. Následně je ještě nastavena defaultní šablona pro vykreslení. Potom si práci kompletně přebírá vybraný controller. 2.2.2
Tréninky
V této sekci se řeší vše kolem tréninků, jejich výpis, přidání a další správa. Vše začíná u přidání nového tréninku. Uživatel vybere datum a čas tréninku, délku tréninku a následně přidává odcvičené cviky. Nejprve vybere partii, na kterou je cvik zaměřen a podle toho je mu nabídnut seznam cviků přidružený ke svalové partii. Poté už přidává jednotlivé série a při dokončení cvik „potvrdí“, v ten okamžik je zkontrolován a zabalen. Před konečným odesláním formuláře jsou ještě všechny vstupy zkontrolovány. Po odeslání se dostává na řadu TreninkController, který formulář zpracuje do objektu typu Trenink a předá ho příslušnému modelu. Již přidaný trénink lze kompletně upravovat. Zde byl asi největší problém vymyslet způsob jak to celé provést, jelikož většina údajů v tréninku je dynamická a každý má jiný počet cviků či sérií. Nakonec jsem našel řešení, které při vypsání formuláře pro úpravu přidá skryté informace – k existujícím cvikům/sériím jejich ID, k cvikům/sériím, které chce uživatel odstranit, se přidá parametr odstranit a nastaví se na TRUE, pokud má být cvik odstraněn. Model potom může jednoduše rozlišit co má s daty udělat – tam kde je odstranit nastaveno na TRUE záznam odstraní, pokud má záznam definované ID, použije UPDATE, jinak vloží nový záznam pomocí INSERT.
9
Tréninkový deník
Obrázek 4 - Zapsání tréninku na webu
2.2.3
Tréninkové plány
Plány jsou složeny z jednotlivých tréninkových jednotek. Jejich správa je téměř analogická ke správě tréninků, jen jsou přiřazeny k tréninkovým plánům. Využití plánů spočívá v jednodušším zapsání tréninku. Uživatel vybere plán, jednotku a zvolí přidat trénink. Následně je vykreslen formulář, kde k sériím dosazuje pouze váhy a případně jen upravuje další parametry tréninku. U každého plánu lze nastavit jeho viditelnost – zda jej vidí i jiní uživatelé než vlastník. 2.2.4
Měření
Zde jde hlavně o sledování postavy. Proto se měření skládá z obvodů několika partií, váhy a výšky. Při dostatečném množství zadaných dat v delším časovém horizontu je potom v interaktivním grafu přehledně zobrazen vývoj například obvodu paže. Tyto informace slouží jako zpětná vazba během posilování a na jejich základě se může hledat příčina stagnace nebo poslouží jako motivace. 10
Tréninkový deník
Obrázek 5 - Graf sledovaných údajů o postavě
2.2.5
Uživatelský profil
Slouží pro obecné zhodnocení posilování. Je poměrně zajímavé, když uživatel může zjistit, kolik celkově nazvedal nebo kolik času obětoval návštěvám posilovny či fitness centra. 2.2.6
Uživatelské prostředí
Stránky jsou navrženy pro snadnou orientaci a pohodlné ovládání i na mobilním telefonu. Dále jsou kompletně responzivní a jsou optimalizovány i pro ty nejmenší displeje s šířkou 320 px – respektive pro zařízení které používají tyto hodnoty pro zobrazení webových stránek.
11
Tréninkový deník
3
Windows Phone 8 aplikace
Když jsem přišel s ideou vytvořit elektronický tréninkový deník pro posilování, bylo mi často odpovídáno, že velkou výhodou by byla mobilní aplikace umožňující zapisování tréninku i bez připojení k internetu. Vytvořil jsem proto aplikaci, která slouží jako jednoduchý klient pro zapisování tréninků a synchronizuje lokální databázi s tou webovou.
3.1
Lokální databáze
Hlavním benefitem mobilní aplikace je místní databáze, která bude synchronizovaná s tou webovou. Je zapotřebí, aby v telefonu byly cviky, které jsou na webu, včetně těch přidaných uživatelem. Téměř analogicky k webové databázi byl vytvořen Data Context reprezentující databázi a potřebné entitní typy pro zásobník cviků (partie, cviky) a také pro uložení tréninku (trenink, cvik, serie). Je však zapotřebí, aby se ID cviku v mobilním telefonu shodovalo s tím na webu. Zásobník cviků je ihned po instalaci prázdný. Při každém spuštění aplikace a v případě, že je dostupné internetové připojení, je dotázán vzdálený server, zda neexistuje novější verze zásobníku cviků. Pokud ano, je uživateli nabídnuto její stažení. Současně s aktuální verzí lokální databáze je na server odeslána informace o přihlášeném uživateli, který tak obdrží zásobník cviků včetně těch cviků, které sám přidal. Pokud uživatel zapisuje trénink a nemá k dispozici připojení k internetu, je zapotřebí jej dočasně uložit a to opět do lokální databáze. Všechny informace se tak převedou na formát vhodný pro uložení a zapíšou se pomocí LINQ do místní databáze. Odkud je možné je později odeslat na web.
3.2
Prostředí aplikace
Při vývoji tohoto mobilního klientu bylo snahou vytvořit jednoduché a přehledné uživatelské prostředí, které si drží konzistentní styl platformy Windows Phone 8. Na úvodní stránce se nachází rozcestník, který nabízí několik možností.
12
Tréninkový deník
Obrázek 6 - Náhled mobilní aplikace
3.2.1
Účet
Pro přiřazení tréninků konkrétnímu uživateli ve webové aplikaci je zapotřebí se přihlásit. K tomu slouží stejný účet, jako na webu. Rovněž díky přihlášení získáme přístup k individuálním cvikům, které lze spravovat na internetu. 3.2.2
Zásobník cviků
Slouží pro zapisování tréninku a jeho cviků – výběr cviku podle partie. Je shodný s tím ve webové aplikaci. Jeho aktuálnost se kontroluje při každém spuštění aplikace a v případě dostupných aktualizací je uživatel notifikován o nové verzi. Aktualizaci je možné vynutit i manuálně. 3.2.3
Přidání tréninku
Z hlavního menu se po kliknutí na nápis nový trénink dostáváme na stránku, která slouží k zapsání dat z již odcvičeného tréninku nebo z právě probíhajícího. Zároveň umožňuje sledovat základní informace, jako je například počet cviků anebo poměrně významný činitel tréninku, kterým je počet sérií. V dolní části obrazovky se v takzvaném Application baru nachází potřebné ovládací prvky (nový cvik, odstranění vybraného cviku, upravení vybraného cviku, uložení tréninku). Přidání cviku znázorňuje symbol plus, po jehož stisknutí dojde k přesměrování na stránku, která umožňuje vybrat partii a k ní přiřazený cvik. V dolní části obrazovky jsou 13
Tréninkový deník opět ovládací prvky. Tlačítko se symbolem plus dovoluje přidat novu sérii. Po jeho stisknutí se pod cvikem objeví nový řádek s dvěma políčky umožňující zadat pouze čísla a to i desetinná. Symbol koše slouží k odstranění poslední sérii ze seznamu. Třetí a poslední tlačítko slouží pro uložení cviku a přesměrování na stránku se seznamem již přidaných cviků. Pokud je již vše zapsáno, stačí kliknout na ikonku uložení a dojde k přechodu na stránku, kde se vyplňují dodatečné informace o tréninku a to: datum a čas, délka tréninku, popis a zda je trénink veřejný či nikoliv. Následně je potřeba zvolit zda bude trénink odeslán na webový server (v případě nedostupnosti připojení je tato volba zakázána) nebo uložen do lokální databáze. 3.2.4
Uložené tréninky
Na této stránce je uživateli zobrazen seznam tréninků, které jsou uložené v lokální databázi a jsou připravené k exportu na web. Možnost odeslání je opět podmíněna dostupností internetového připojení.
14
Tréninkový deník
Závěr Výsledkem projektu je webová aplikace, která umožňuje uchovávat důležité informace související s posilováním. Součástí webové aplikace je i databáze cviků, která se díky uživatelům dále rozšiřuje. Společnou databázi využívá i vytvořená mobilní aplikace pro platformu Windows Phone 8. Ta umožňuje jednoduché zapisování tréninku z mobilního telefonu a je synchronizována právě s webovou databází. Povedlo se vytvořit způsob zadávání dat, který je co nejjednodušší a zároveň umožňuje zaznamenat všechny aspekty, které je potřeba v silovém tréninku sledovat. Rovněž se uplatnila tvorba tréninkových plánů, která jednoduchost ještě umocňuje. Styl sledování postavy se také ukázal jako velmi vypovídající a jeho reprezentace dat je velice jasná a přehledná. Mobilní aplikace se uplatňuje zejména v průběhu tréninku, kdy uživatel během pauz zapisuje série a cviky a zároveň mu jsou zobrazeny aktuální informace o tréninku. Vzhledem k tomu, že vývoj probíhal poměrně rychle, bylo možné včasně a účelně reagovat na postřehy uživatelů, které se týkaly zejména uživatelské prostředí a metody zapisování, ale také přišly podněty k dalším funkcionalitám, jež byly následně zrealizovány. Například možnost přidávat uživatelem definované cviky. Pro zajištění kontinuity projektu jsou v přípravě další funkce a navázání spolupráce s internetovými magazíny zabývajícími se problematikou posilování a rovněž kontaktování známých osobností české kulturistické scény, jejichž podpora zajistí rozšíření povědomí o projektu. Dále bych chtěl v budoucnu přidat „modul“ pro fitness trenéry, kteří by měli kontrolu nad svými klienty. S tím souvisí oslovení a navázání spolupráce a podpory s fitness centry. Díky tomu, že jsem na tomto projektu začal pracovat již v červnu roku 2013, jsem měl dostatek času, pro shromáždění informací a požadavků na systém. Vývoj započal velmi brzy a zejména ze začátku byla brzdou nezkušenost s větší webovou aplikací a knihovnou jQuery. Čas, který jsem nad prací strávil je těžko vyčíslitelný, ale podle zapisovaných hodnot jsem se dostal přes 500 hodin čistého času. Přibližně čtvrtinu času zabralo rozebrání problematiky a studium metodik vývoje. Vývoj a testování probíhalo přibližně od konce listopadu téměř souběžně. Ke konci ledna byla stěžejní část aplikací naprogramována a nadále probíhalo finální ladění. Aktuálně je projekt dostupný na adrese WWW.TRENDEN.CZ, včetně mobilní aplikace. 15
Tréninkový deník
Použitá literatura [1]
Jednoduchý redakční systém v PHP objektově (MVC). Devbook.cz [online]. [cit. 2014-02-05]. Dostupné z: http://www.devbook.cz/objektovy-mvc-redakcnisystem-v-php
[2]
PHP: Documentation. PHP: Hypertext Preprocessor [online]. [cit. 2014-02-05]. Dostupné z: http://cz2.php.net/docs.php
[3]
JQuery API Documentation. JQuery [online]. [cit. 2014-02-05]. Dostupné z: http://api.jquery.com/
[4]
Windows Phone Dev Center. [online]. 2014 [cit. 2014-03-08]. Dostupné z: https://dev.windowsphone.com/en-us/
16
Tréninkový deník
Seznam obrázků Obrázek 1 - Obecný diagram tříd webové aplikace ........................................................................... 3 Obrázek 2 - Základní diagram tříd mobilní aplikace ......................................................................... 5 Obrázek 3 - ER model webové databáze ................................................................................................ 8 Obrázek 4 - Zapsání tréninku na webu ................................................................................................ 10 Obrázek 5 - Graf sledovaných údajů o postavě ................................................................................. 11 Obrázek 6 - Náhled mobilní aplikace .................................................................................................... 13
17
Tréninkový deník
A. Obsah přiloženého CD
Zdrojové kódy webové aplikace
Dokumentace kódu webové aplikace ve formátu HTML
Diagram tříd a model databáze webové aplikace
Ukázky webové aplikace
Zdrojové kódy mobilní aplikace
Ukázky mobilní aplikace
I