Wyższa Szkoła Informatyki i Zarządzania Wydział Informatyki Katedra Systemów Internetowych i Multimedialnych Kierunek studiów : INFORMATYKA Specjalność : Systemy informatyczne Praca dyplomowa inżynierska : Informatyczny System Zarządzania Klubem Dyplomant : Radosław Borawski Nr albumu: 3237 Promotor : Prof. nadzw., dr n.t. Danuta Bańczyk Adres: http://iswzfk.wsi.edu.pl/ Administrator Login: admin Hasło: admin Użytkownik Login: student Hasło: student
OŚWIADCZENIE DYPLOMANTA w sprawie pracy dyplomowej pt.: Informatyczny System Zarządzania Klubem Ja niżej podpisany, świadom odpowiedzialności oświadczam, że : 1. Zapoznałem się z art. 193 ustawy prawo o szkolnictwie wyższym z dnia 27 lipca 2005 roku (Dz. Ustaw z 2005 roku, Nr 164, poz.1365, z późn. zm.), który mówi, że Organ właściwy, w drodze decyzji, stwierdza nieważność postępowania w sprawie nadania tytułu zawodowego, jeżeli w pracy stanowiącej podstawę nadania tytułu zawodowego osoba ubiegająca się o ten tytuł przypisała sobie autorstwo istotnego fragmentu lub innych elementów cudzego utworu lub ustalenia naukowego. 2. Moja praca dyplomowa pt.: Informatyczny System Zarządzania Klubem została napisana samodzielnie. Nie narusza ona praw autorskich w rozumieniu ustawy z dnia 4 lutego 1994 roku o prawie autorskim i prawach pokrewnych (Dz. Ustaw z 2000 roku, Nr 80, poz.904, z późn. zm.) oraz dóbr osobistych chronionych prawem autorskim. 3. W niniejszej pracy dyplomowej korzystałem za zgodą Promotora z informacji przekazanych mi w Karcie Tematycznej oraz w ramach konsultacji dyplomowych, do których prawa autorskie przysługują Promotorowi. Ponadto wszystkie fragmenty pracy dyplomowej zaczerpnięte z cudzych źródeł są oznaczone kursywą - w formie cytatów. 4. Niniejsza praca dyplomowa nie zawiera danych oraz informacji, uzyskanych w sposób niedozwolony. Ponadto przedstawiona praca dyplomowa nie była wcześniej podstawą żadnej innej procedury urzędowej związanej z nadawaniem dyplomów wyższej uczelni lub tytułów zawodowych. 5. Zgodnie z ustawą prawo o szkolnictwie wyższym, WSIZ przysługuje pierwszeństwo w opublikowaniu niniejszej pracy dyplomowej w ciągu 6 miesięcy od daty jej obrony. Po tym terminie dyplomant (w całości) oraz promotor (fragmenty) mogą publikować niniejszą pracę pod warunkiem wskazania źródła : (Borawski R.: Informatyczny System Zarządzania Klubem, Bielsko-Biała, 2012). 6. WSIZ może wdrażać rezultaty niniejszej pracy dyplomowej poprzez Centrum Transferu Technologii. WSIZ, Dyplomant oraz Promotor mogą bez żadnych ograniczeń korzystać z praw majątkowych (to znaczy sprzedawać rezultaty pracy) wynikających z niniejszej pracy dyplomowej, w celach edukacyjnych, naukowych oraz komercyjnych pod warunkiem wskazania źródła : (Borawski R.: Informatyczny System Zarządzania Klubem, Bielsko-Biała, 2012). 7. Studenci WSIZ mogą korzystać z niniejszej pracy dyplomowej do celów edukacyjnych, bez żadnych ograniczeń - pod warunkiem wskazania źródła : (Borawski R.: Informatyczny System Zarządzania Klubem, Bielsko-Biała, 2012). Radosław Borawski PESEL: 84051003250... podpis Dyplomanta... Promotor... W imieniu WSIZ Dziekan Bielsko-Biała, dnia : 14 lutego 2012 r. 2 S t r o n a
Spis treści Wprowadzenie... 5 1. Geneza pracy... 5 2. Tezy pracy... 5 3. Cel pracy... 5 4. Opis i analiza problemu... 6 5. Specjalizacja... 7 6. Zakres pracy... 7 7. Przegląd bibliografii... 8 7.1. Przegląd wybranych prac dyplomowych WSIZ... 8 7.2. Witryny internetowe... 10 ROZDZIAŁ I Specyfikacja systemu informatycznego... 11 1. Założenia ogólne... 11 2. Architektura systemu... 12 3. Uzasadnienie wybranych narzędzi informatycznych... 12 4. Zastosowane narzędzia informatyczne i oprogramowanie... 12 4.1 HTML... 12 4.2 CSS... 13 4.3 PHP... 14 4.4 MySQL... 14 4.5 Notepad++... 15 4.6 Adobe Photoshop CS3... 16 ROZDZIAŁ II Projekt systemu informatycznego... 17 1. Moduł użytkowników niezalogowanych schemat blokowy... 17 2. Moduł użytkowników zalogowanych schemat blokowy... 18 3. Moduł administracyjny schemat blokowy... 19 4. Bezpieczeństwo systemu... 20 4.1. Kontrola dostępu... 20 4.2. Walidacja danych... 20 5. Diagram ERD... 20 6. Struktura bazy danych... 21 7. Skrypt bazy danych... 23 7.2. Skrypt wprowadzający dane do tabeli dzień... 24 7.3. Skrypt tworzący tabele users... 24 7.4. Skrypt wprowadzający dane do tabeli users... 24 ROZDZIAŁ III Oprogramowanie systemu informatycznego... 25 1. Panel administracyjny - logowanie... 25 2. Panel administracyjny funkcje... 26 3 S t r o n a
2.1. Użytkownicy... 26 2.2. Stanowiska i grafik zajęć... 27 2.3. Aktualności... 31 2.4. Cennik... 32 3. Użytkownicy funkcje ogólnodostępne... 32 3.1. Aktualności... 33 3.2. Kontakt... 34 3.3. Grafik... 35 3.4. Cennik... 36 4. Użytkownicy funkcje dla użytkowników zalogowanych... 36 4.1. Logowanie użytkownika... 36 4.2. Rezerwacja stanowiska... 39 4.3. Konto klienta... 39 ROZDZIAŁ IV Testowanie systemu informatycznego... 41 1. Proces rejestracji użytkownika... 41 2. Rezerwacja stanowiska... 43 3. Odwołanie rezerwacji stanowiska przez użytkownika... 44 4. Odwołanie rezerwacji przez administratora systemu... 45 5. Walidacja formularza rejestracyjnego.... 45 6. Walidacja danych przy rezerwacji stanowiska... 46 Zakończenie... 47 1. Podsumowanie... 47 2. Wnioski... 47 3. Uwagi końcowe... 48 Bibliografia... 49 A. Publikacje... 49 B. Prace dyplomowe WSIZ... 49 C. Źródła internetowe... 49 Spis rysunków... 50 Spis tabel... 51 Summary... 52 4 S t r o n a
Wprowadzenie W dzisiejszych czasach Internet odgrywa ogromną rolę w wielu dziedzinach życia. Jest nie tylko ogromnym medium informacji, ale również źródłem reklamy oraz przede wszystkim sposobem na ułatwienie sobie wielu codziennych czynności. Możliwość dotarcia do bardzo dużej liczby odbiorców sprawia, że większość nawet najmniejszych firm posiada własne witryny internetowe. Nowoczesne aplikacje indywidualnie dostosowane do potrzeb użytkownika dają możliwość zaoszczędzenia czasu oraz sprawnej realizacji postawionych zadań. 1. Geneza pracy Obserwując działalność fitness klubów można zauważyć duże zapotrzebowanie na wszelakie aplikacje internetowe. Próżno dziś szukać aplikacji internetowych, które oprócz pełnienia funkcji informacyjno-reklamowej, wykorzystywałyby możliwości dzisiejszych technologii i maksymalnie ułatwiłyby klientom korzystanie z fitness klubu. Aplikacja taka, powinna wydatnie wspomagać organizację zajęć w klubie oraz skutecznie wspomagać pracę instruktorów. Taką rolę spełniają często aplikacje lokalne, które niestety powodują, że klienci nie mają dostępu do przydatnych informacji. Informacje, takie jak ilość osób przebywających aktualnie na siłowni, ilość dostępnych miejsc na wybranych zajęciach fitness, aktualny rozkład zajęć czy dostęp do rezerwacji on-line stanowiłby bardzo pomocny zestaw dla każdego klienta klubu. Zrodził się więc pomysł stworzenia Informatycznego Systemu Zarządzania Klubem, który pomoże w rozwiązaniu powyższych kwestii. 2. Tezy pracy Aplikacja internetowa efektywnie wspomoże zarządzanie fitness klubem. Ułatwi pracownikom klubu szybką modyfikacje dostępności stanowisk do ćwiczeń. Możliwość dokonywania rezerwacji on-line ułatwi współpracę z klientami. Szybkie dotarcie do aktualnych informacji oraz system powiadamiania klientów wyróżni klub na tle konkurencji. 3. Cel pracy Praca ma na celu stworzenie aplikacji internetowej, która będzie efektywnie wspomagać zarządzanie fitness klubem oraz spełni rolę informacyjno-promocyjną 5 S t r o n a
klubu. Fitness klub jest miejscem, gdzie szybki przepływ informacji oraz łatwość skontaktowania się z klientem pełni bardzo ważną rolę. Tworząc taką aplikacje ułatwimy pracę pracownikom klubu, którzy będą mogli łatwiej zarządzać sprzętem znajdującym się w klubie. Wykorzystując do tego stronę WWW stworzymy dodatkowe możliwości dla klientów, którzy będą mogli sprawnie zarządzać swoim treningiem. Szybki dostęp do aktualnych informacji oraz nowości pojawiających się w klubie, będzie sprzyjał polepszeniu kontaktów z obecnymi klientami, a także w pozyskiwaniu nowych. Na stronie będą znajdowały się wszelakie informacje związane z klubem i jego funkcjonowaniem, głównie jednak witryna zawierać będzie szczegóły dotyczące dostępności stanowisk do ćwiczeń oraz ich rezerwacji. 4. Opis i analiza problemu W dzisiejszych czasach zdrowy tryb życia i aktywne spędzanie wolnego czasu stało się bardzo popularne. Coraz, to więcej ludzi korzysta z bogatych ofert fitness klubów, które są wyposażane w nowoczesny sprzęt do ćwiczeń indywidualnych oraz zapewniają szeroki wachlarz zajęć grupowych, prowadzonych przez wykwalifikowanych instruktorów. Każdy klient kładzie nacisk na szybki i łatwy dostęp do interesujących go informacji. Klient może szukać informacji o konkretnym stanowisku do ćwiczeń bądź też o zajęciach. Użytkownik wyszukuje powyższych informacji, by mógł rezerwować odpowiednie stanowisko dla siebie na daną godzinę. Pozwala to zaoszczędzić sporo czasu, a także uniknąć nieprzyjemnych dla klientów sytuacji przy kasach, takich jak brak wolnego miejsca na interesującym go stanowisku. Z drugiej strony pracownik klubu potrzebuje narzędzi do ewidencjonowania działalności klubu. W ten sposób ma wgląd do oblężenia poszczególnych stanowisk, co pozwoli zaobserwować, jak się rozkłada na nich ruch w ciągu dnia. Pozwoli to, za pomocą zmiany cen, zoptymalizować ruch w fitness klubie tak, aby możliwie jak najmniej stanowisk było nieużywanych. Funkcjonalne rozwiązania powyższych kwestii można otrzymać dzięki odpowiednio skonstruowanemu narzędziu informatycznym. Powinno być ono tak zaprojektowane, żeby dawało możliwość przejrzystego, łatwego, a przede wszystkim szybkiego dostępu do informacji z możliwością rezerwacji, a z drugiej strony 6 S t r o n a
zdecydowanie usprawniłoby zarządzanie fitness klubem. Odpowiednio skonstruowane narzędzie w dużym stopniu przyczyni się do automatyzacji procesu rezerwacji. 5. Specjalizacja Systemy internetowe mają wiele zalet, a najważniejsza z nich to brak instalacji oprogramowania na komputerze. Aby skorzystać z aplikacji wystarczy wpisać odpowiedni adres internetowy do przeglądarki. Dzięki takiemu rozwiązaniu użytkownik nie jest przywiązany do jednego urządzenia, może skorzystać z dowolnego komputera, tabletu lub smartphona z dostępem do Internetu. Co za tym idzie, można z niego skorzystać z dowolnej lokalizacji na świecie. Kolejną z zalet systemu jest praca równoległa, czyli wielu użytkowników może korzystać z aplikacji w tym samym czasie, korzystając z jednej bazy danych. Wszystkie operacje wykonywane przez system odbywają się na serwerze. 6. Zakres pracy Zakres wykonywanych prac obejmuje zaprojektowanie i stworzenie funkcjonalnej i przejrzystej witryny internetowej z bazą danych, która będzie mogła być wykorzystywana w klubach fitness. Praca składa się z wprowadzenia, czterech głównych rozdziałów oraz zakończenia. Wprowadzenie zawiera genezę pracy, specjalizację, opis problemu, tezę pracy oraz cel. W pierwszym rozdziale opisano architekturę systemu. Przedstawiono również wykorzystane w systemie narzędzia informatyczne wraz z uzasadnieniem ich wyboru. W rozdziale drugim przedstawiono ogólną koncepcję funkcjonowania systemu, zasady działania poszczególnych funkcjonalności oraz przedstawiono strukturę bazy danych systemu. Rozdział trzeci zawiera rozwiązania techniczne wykorzystane w aplikacji oraz jej strukturę. Zostały również przedstawione wybrane fragmenty kodu źródłowego. Rozdział czwarty obejmuje testowanie i wdrożenie kilku głównych modułów aplikacji. Zostały przedstawione wyniki pracy systemu. 7 S t r o n a
7. Przegląd bibliografii Bibliografia zawiera przegląd prac dyplomowych w Wyższej Szkole Informatyki i Zarządzania w Bielsku-Białej oraz literatury związanej z tematem witryn internetowych. Pomocą przy pisaniu systemu będzie książka PHP i MySQL. Tworzenie stron WWW. Wydanie drugie. Vademecum profesjonalisty, Luke Welling, Laura Thomson, 10/2009. Książka ta przekazuje wiedzę na temat programowania stron internetowych w języku PHP, komunikacji witryny z serwerem MySQL oraz prezentuje praktyczne sposoby jej wykorzystania. W publikacji zawartych zostało wiele ciekawych uwag dotyczących implementacji kodu oraz wiele praktycznych rozwiązań. 7.1. Przegląd wybranych prac dyplomowych WSIZ Dokonano przeglądu wybranych prac dyplomowych związanych z budową aplikacji internetowych oraz tematyką budowy internetowego systemu wspomagającego zarządzaniem fitness klubu. Temat: Internetowy system wspomagający zarządzanie fitness klubem Autor: Ewa Nitka Promotor: Dr Józef Kukuczka, prof. nadzw. Celem pracy było stworzenie systemu wspierającego pracę fitness klubu zarówno poprzez ułatwienie rezerwacji miejsc na zajęciach jak i wprowadzenia dodatkowych modułów ułatwiających kontakt pracowników klubu z klientami. W pracy autor dokładnie przedstawił problematykę związaną z działalnością fitness klubu, przybliżył zasady zarządzania przedsiębiorstwem tego typu oraz opisał funkcjonowanie i warunki sprawnego działania. Program został napisany w języku programowania PHP połączonym z systemem zarządzania relacyjnymi bazami danych MySQL. Aplikacja zawiera szczegółowe 8 S t r o n a
informacje o prowadzonych zajęciach fitness. Ma możliwość dodawania zajęć, edytowania ich oraz usuwania. Temat: System Zarządzania Multikinem Autor: Piotr Lapczyk Promotor: Dr hab. n.t. dr n.e. inż. Franciszek Marecki, prof. zw. Celem pracy było stworzenie aplikacji do prawidłowego i funkcjonalnego zarządzania multikinem, który posiada kilka sal kinowych. Program zawiera informację o sprzedaży biletów i frekwencji na poszczególnych seansach. Ponadto umożliwia dostęp do informacji o kosztach zakupu filmu, kosztach pracowników, kosztach utrzymania obiektu tak by w odpowiedni sposób zoptymalizować zyski kina. Program miał za zadanie udowodnić, że dobierając w odpowiedni sposób repertuar, ceny biletów oraz godziny seansów można stworzyć model prawidłowego i wydajnego funkcjonowania kina. Temat: Internetowy system rezerwacji restauracji Autor: Jarosław Sapota Promotor: Prof. dr hab. inż. Krystian Kalinowski Celem pracy było opracowanie witryny internetowej dla umożliwienia klientom łatwej rezerwacji w restauracji. Aplikacja umożliwia zamówienie stolika lub całej sali. Przy wyborze stolika zainteresowany może zobaczyć plan całej restauracji wraz z rozmieszczeniem stolików, tak aby klient mógł dokonać najodpowiedniejszego dla siebie wyboru. Przy rezerwacji całej sali użytkownik ma możliwość wyboru w jaki sposób mają zostać rozstawione stoliki dla gości. Temat: Zastosowanie arkuszy CSS do zaawansowanej kontroli nad wyglądem serwisów internetowych opartych na XHTML Autor: Leszek Chrobak Promotor: Dr inż. R. Kolud 9 S t r o n a
Celem pracy było przedstawienie informacji na temat CSS. Autor pokazał jak można użyć kaskadowych arkuszy stylów w tworzeniu strony tak, aby była zgodna z najnowszymi trendami. Informacje zawarte w tej pracy mogą być wykorzystane przy projektowaniu każdego serwisu internetowego. Temat: Technologia WWW w zastosowaniu do tworzenia specjalizowanych portali Autor: Katarzyna Zając Promotor: Dr hab. inż. A. Grzywak, prof. zw. Celem pracy było stworzenie portalu internetowego opartego o skrypty PHP, bazę danych MySQL oraz mechanizmy zabezpieczeń. Założeniem portalu było tworzenie go przez administratorów i moderatorów, którzy będą pisać artykuły, tworzyć odpowiednie działy oraz umieszczać je na stronach portalu. 7.2. Witryny internetowe http://pl.php.net obszerna encyklopedia poświęcona językowi PHP. Zawiera opis funkcji zawartych w języku, spis przydatnych przykładów wraz z sposób praktycznego ich wykorzystania. http://pl.wikibooks.org biblioteka wolnych podręczników, gdzie znaleźć można bogaty zbiór opracowań dotyczących zagadnień programowania. http://kurshtml.edu.pl - obszerny kurs poświęcony hipertekstowemu językowi znaczników HTML i kaskadowym arkuszom stylów CSS. Na stronie kursu można znaleźć wiele praktycznych przykładów i definicji poszczególnych zagadnień. http://forum.php.pl polskie forum poświęcone programowaniu w języku PHP. Zawiera opis i rozwiązania problemów związanych z tym językiem programowania. 10 S t r o n a
ROZDZIAŁ I Specyfikacja systemu informatycznego 1. Założenia ogólne Zadaniem niniejszej pracy inżynierskiej jest zaprogramowanie Informatycznego Systemu Zarządzania Klubem. Korzystanie z systemu będzie opierać się o przeglądarkę internetową, która wyświetli konkretny rezultat w postaci strony WWW wygenerowanej dynamicznie przez obsługujący system serwer. Dzięki takiemu rozwiązaniu dostęp do systemu jest możliwy praktycznie z każdego urządzenia z dostępem do Internetu w dowolnym czasie. W dzisiejszych czasach w przeglądarki wyposażone są wszystkie komputery, telefony komórkowe czy tablety. Pisząc taki system nie należy się również martwić o system operacyjny z jakiego użytkownik korzysta. System pozwoli pracownikom klubu konfigurować dostępność danego stanowiska w określone dni i godziny, dzięki czemu klientom będzie udostępniony szczegółowy grafik korzystania z stanowiska. Klient będzie mógł z niego wyczytać, w jakich godzinach w poszczególne dni stanowisko jest czynne oraz jaki jest status stanowiska na daną godzinę zarezerwowane czy czynne. statusy dostępności stanowiska dostępny niedostępny do zarezerwowania zarezerwowane Rysunek 1. Statusy dostępności stanowiska Klient będzie miał możliwość samodzielnej rejestracji w systemie, a po aktywacji konta przez pracownika klubu będzie mógł dokonywać rezerwacji stanowiska. 11 S t r o n a
2. Architektura systemu Informatyczny System Zarządzania Klubem jest systemem typu klient serwer. Oznacza to, że po jednej stronie znajduje się baza danych MySQL wraz z serwerem z obsługą PHP, natomiast po drugiej stronie znajduje się aplikacja wykorzystująca dane z bazy czyli tzw. klient. Taka architektura systemu jest bardzo popularna i często wykorzystywana. Zapytania aplikacji są tłumaczone na postać pakietów TCP/IP przez specjalne biblioteki, a następnie przesyłane do serwera. Rysunek 2. Schemat architektury klient serwer (opracowanie własne) Baza danych jest przechowywana na serwerze. W zależności od tego jaką informacje lub polecenie wysyła aplikacja do serwera, serwer zapisuje to w bazie danych lub przetwarza zapytanie i generuje odpowiedź dla użytkownika. 3. Uzasadnienie wybranych narzędzi informatycznych Do wykonania aplikacji, któremu poświęcona jest niniejsza praca dyplomowa wybrany został język programowania PHP, hipertekstowy język znaczników HTML oraz arkusze stylów CSS. Jako technologie bazodanową zastosowano MySQL. Technologie te są darmowe i ogólnodostępne dla wszystkich, dlatego tez mają duże grono zwolenników oraz szerokie zastosowanie w aplikacjach internetowych. 4. Zastosowane narzędzia informatyczne i oprogramowanie 4.1 HTML HTML, z ang. HyperText Markup Language, to szeroko wykorzystywany do tworzenia stron internetowych hipertekstowy język znaczników. Umożliwia 12 S t r o n a
umieszczenie na stronie internetowej tekstu zdefiniowanego co do sposobu jego prezentacji oraz wyróżnienia pewnych jego elementów. HTML pozwala także umieszczać na stronach grafikę i multimedia. W składni HTML wykorzystywane są pary znaczników umieszczone w nawiasach ostrokątnych takich jak np. <span> </span> lub <h2> </h2>. Ważną cechą tego języka jest jego niezależność od używanego sprzętu komputerowego i systemu operacyjnego. Język HTML składa się z kilku kluczowych komponentów: Znaczników i ich atrybutów Typów danych Referencji znakowych Encji Deklaracji typów dokumentów Należy zauważyć jednak, że HTML nie jest językiem programowania w jego składni nie przewidziano instrukcji warunkowych czy obliczeniowych. 4.2 CSS Aby urozmaicić wygląd witryny WWW należy korzystać z CSS - kaskadowych arkuszy stylów. CSS to język wykorzystywany do opisu formy wyświetlania strony WWW przez przeglądarkę internetową. Stosując kaskadowe arkusze stylów można zyskać wiele możliwości wpływania na jej wygląd. Można określić w zasadzie wszystko, od koloru i rodzajów czcionki po wygląd tabel, formularzy czy menu. Zasada działania jest bardzo prosta. Wybranym elementom na stronie przypisuje się odpowiednie właściwości. Reguła CSS ma postać: Selektor {własność1: wartość1; własność2: wartość2; } gdzie: Selektor jest dowolnym znacznikiem HTML Właściwość jest elementem CSS Wartość jest prawidłową wartością dla danej właściwości 13 S t r o n a
4.3 PHP PHP jest obiektowym, skryptowym językiem programowania zaprojektowanym do generowania strony internetowej w czasie rzeczywistym. Język ten jest stosowany do tworzenia skryptów po stronie serwera WWW. Cały kod skryptu PHP musi zawierać się pomiędzy znacznikami : <?php oraz?>, w przeciwnym wypadku interpretator nie będzie w stanie wykonać kodu. Rysunek 3. Skrypt PHP umieszczony w kodzie HTML Kod PHP osadzony na stronie HTML, nie jest widoczny dla użytkownika, w przeciwieństwie np. do skryptu JavaScript, jest natomiast interpretowany przez serwer WWW, który na podstawie kodu generuje stronę HTML lub inne wyniki. Zalety PHP to m.in.: Bardzo niski koszt, a w zasadzie zerowy, ponieważ PHP jest bezpłatne Wysoka wydajność Integracja z bazami Wbudowane biblioteki Skrypt PHP potrafi wszystko to, co każdy inny skrypt CGI, czyli zebrać dane z formularza, wygenerować dynamiczną stronę oraz wysłać i odczytać cookies. 4.4 MySQL MySQL jest jednym z najpopularniejszych interface ów SQL. Charakteryzuje się ogromną elastycznością, jeszcze większą prędkością i co najważniejsze łatwością w obsłudze. MySQL jest łatwym w utrzymaniu i tanim systemem zarządzania bazą 14 S t r o n a
danych. Znakomicie nadaje się do średnich zastosowań w sieci internetowej. Współpracuje z wieloma językami programowania takimi jak: C Perl Java Python Najczęściej jednak jest wykorzystywany jako system zarządzania bazą danych współpracujący z aplikacjami tworzonymi w PHP. MySQL jest dostępny na licencji GPL, czyli licencji wolnego i otwartego oprogramowania, jednakże można nabyć również wersje licencjonowane komercyjnie. 4.5 Notepad++ To darmowy i prosty w użyciu edytor programistyczny oparty na licencji Open source, wspomagający prace programistyczną w większości języków programowania. Program jest napisany w C++, czystym Api i STL dzięki czemu działa bardzo wydajnie, a wielkość pliku jest mała. Aplikacja dostępna jest do pobrania na stronie producenta http://notepad-plus.sourceforge.net, także w języku polskim. Zalety programu: Obsługa autouzupełniania Edycja z podziałem ekranu Możliwość otwierania kilku plików jednocześnie Umożliwia tworzenie makr Podświetlanie par nawiasów (otwierającego i zamykającego) Zaawansowana funkcja znajdź i zmień Pełne wsparcie dla kodowania UTF-8 Szybkie działanie Intuicyjna obsługa 15 S t r o n a
Rysunek 4. Notepad++ - wygląd programu 4.6 Adobe Photoshop CS3 W Internetowym systemie wspomagającym zarządzanie fitness klubem do oprawy graficznej użyto programu Adobe Photoshop CS3 w wersji demonstracyjnej, który jest jednym z najpopularniejszych programów do obróbki grafiki dostępnych na rynku. Od lat jest uznawany przez grafików za podstawowe narzędzie pracy. Za pomocą tego programu można w łatwy sposób tworzyć oraz modyfikować obrazy, które znajdują zastosowanie nie tylko na stronach internetowych. Największą zaletą Adobe Photoshop jest ogromna liczba funkcji do edycji grafiki. Pracując na warstwach obrazu można nakładać różnego rodzaju filtry i efekty, manipulować kolorystyką i oświetleniem. Rysunek 5. Adobe Photoshop CS3 16 S t r o n a
ROZDZIAŁ II Projekt systemu informatycznego Projektując system tego typu należy pamiętać o przemyśleniu, zaplanowaniu i zaprogramowaniu go w taki sposób, aby potencjalny użytkownik nie miał najmniejszych problemów z jego eksploatacją, nie zniechęcał się do korzystania z oprogramowania oraz żeby mógł w szybki sposób wykonać określone zadania. Następną kwestią, której nie można pominąć jest bezpieczeństwo systemu. Informatyczny System Zarządzania Klubem jako aplikacja internetowa może być narażona na ataki oraz próby niekorzystnego oddziaływania. Odpowiednio zabezpieczyć należy także możliwość wykonywania operacji na danych. System składa się z trzech modułów: użytkowników niezalogowanych użytkowników zalogowanych administracyjnego korzystają z niego administratorzy systemu oraz pracownicy fitness klubu 1. Moduł użytkowników niezalogowanych schemat blokowy START Informacje o klubie Kontakt Cennik Rejestracja Aktualności Rysunek 6. Schemat blokowy modułu klienta niezalogowanego 17 S t r o n a
Moduł użytkowników niezalogowanych opis Każda osoba może wejść na stronę systemu i skorzystać z podstawowych funkcji: Informacje o klubie użytkownik może przeczytać podstawowe informacje o klubie Kontakt użytkownik może pozyskać dane teleadresowe lub skorzystać z formularza kontaktowego Cennik użytkownik może zapoznać się z aktualnym cennikiem Rejestracja użytkownik może samodzielnie zarejestrować się jako klient fitness klubu, co pozwoli mu dokonywać rezerwacji on-line Aktualności użytkownik ma dostęp do najnowszych aktualności z życia klubu 2. Moduł użytkowników zalogowanych schemat blokowy START Informacje o klubie Kontakt Cennik Rejestracja Aktualności Logowanie Rezerwacja Konto Klienta Rysunek 7. Schemat blokowy modułu klientów zalogowanych 18 S t r o n a
Moduł użytkowników zalogowanych opis Użytkownicy zalogowani, oprócz korzystania z funkcji podstawowych systemu mają, także możliwość rezerwacji stanowisk do ćwiczeń on-line oraz zarządzania swoim kontem klienta, za pomocą którego mogą sprawdzić swoje rezerwacje, w razie potrzeby odwołać je lub edytować swoje dane osobiste podane przy rejestracji. 3. Moduł administracyjny schemat blokowy START Użytkownicy Klienci Pracownicy Stanowiska Rezerwacje Aktualności Cennik Rysunek 8. Schemat blokowy modułu administracyjnego Moduł administracyjny opis W panelu administracyjnym, po zalogowaniu się przez administratora systemu lub pracownika klubu, skorzystać można z odpowiednich zakładek, pod którymi umieszczone są następujące funkcje: Dodawanie użytkowników Aktywowanie użytkowników Dodawanie pracowników funkcja dostępna tylko dla administratorów 19 S t r o n a
Określenie w jakich godzinach stanowiska są czynne Rezerwowanie stanowiska dla klienta Dostęp do szybkiego wysyłania wiadomości do użytkowników Dodawanie aktualności Konfigurowanie cennika 4. Bezpieczeństwo systemu 4.1.Kontrola dostępu System posiada dwa rodzaje kont dostępowych: Administrator/pracownik Klient Dla każdego z rodzaju kont stworzono oddzielne panele dostępowe wraz z odpowiednimi funkcjonalnościami i uprawnieniami. Logowanie do każdego z nich odbywa się w różnych miejscach systemu. 4.2. Walidacja danych Bardzo ważnym elementem każdego systemu informatycznego jest kontrola nad poprawnością wprowadzanych danych. Ma to kluczowe znaczenie dla poprawnego funkcjonowania całego systemu. Przy wypełnianiu dowolnego formularza system będzie sprawdzał czy wszystkie wymagane pola zostały wypełnione oraz czy wprowadzone do nich dane mają odpowiednie wartości, formę. Przykładowo jeżeli użytkownik przy rejestracji wprowadzi niepoprawny format kodu pocztowego, zostanie wyświetlony komunikat o błędzie i prośba o poprawne wypełnienie pola. Informacje z formularza zostaną przesłane do bazy dopiero wtedy, gdy wszystkie pola zostaną wypełnione w prawidłowy sposób. 5. Diagram ERD Diagram ERD jest metodą przedstawiania związków (relacji) między tabelami w bazie danych. Pokazuje on wszystkie tabele i pozwala dokładnie sprecyzować całą budowę bazy. 20 S t r o n a
Rysunek 9. Diagram ERD 6. Struktura bazy danych Users W tabeli przechowywane są dane zarejestrowanych użytkowników. Dane z tabeli wykorzystywane są w procesie logowania. Nazwa atrybutu Typ Opis id_u int(11) id użytkownika (klucz główny) Login varchar(255) login użytkownika Pass varchar(255) hasło użytkownika Prawa char(1) prawa nadane użytkownikom Aktywny char(3) Pole wskazuje czy 21 S t r o n a
użytkownik jest aktywny czy też nie imie_nazwisko varchar(255) imię i nazwisko użytkownika Adres varchar(255) adres zamieszkania użytkownika Telefon varchar(255) numer telefonu użytkownika Email varchar(255) adres email użytkownika Tabela 1. Users Terminy Tabela terminy zawiera dane związane z rezerwacją stanowisk. Nazwa atrybutu Typ Opis id_t int(11) id rezerwacji (klucz główny) id_z int(11) id stanowiska (klucz obcy) id_u int(11) Id użytkownika (klucz obcy) Data date data rezerwacji Nazwa varchar(255) nazwa stanowiska Tabela 2. Terminy Stanowiska Tabela stanowiska zawiera informacje na temat poszczególnych stanowisk. Nazwa atrybutu Typ Opis id_z int(11) id stanowiska (klucz główny) id_d int(11) id dnia (klucz obcy) id_g int(11) id godziny (klucz obcy) Nazwa varchar(255) nazwa stanowiska Tabela 3. Stanowiska Dzien W tabeli przechowywane są nazwy dni tygodnia. Nazwa atrybutu Typ Opis id_d int(11) id dnia (klucz główny) Nazwa varchar(255) nazwa dnia Tabela 4. Dzien Godziny W tabeli przechowywane są dostępne godziny rezerwacji. 22 S t r o n a
Nazwa atrybutu Typ Opis id_g int(11) id godziny (klucz główny) Godzina time godzina Tabela 5. Godziny Newsy Tabela zawiera dane dotyczące aktualności. Nazwa atrybutu Typ Opis id_n int(11) id newsa (klucz główny) Tresc blob treść newsa data_2 date data publikacji Tabela 6. Newsy Cennik W tabeli zawarte są dane dotyczące cennika. Nazwa atrybutu Typ Opis id_c int(11) id ceny (klucz główny) Nazwa varchar(255) nazwa stanowiska Cena varchar(255) cena Tabela 7. Cennik 7. Skrypt bazy danych Bazę danych można stworzyć interaktywnie na serwerze lub przez stworzenie odpowiedniego pliku SQL. Edytując taki plik mamy możliwość podglądu wykonania całej bazy. Wiąże się to z odpowiednią strukturą zapytań i poleceń SQL. 7.1. Skrypt tworzący tabele dzien Rysunek 10. Skrypt SQL - tworzenie tabeli dzien 23 S t r o n a
7.2. Skrypt wprowadzający dane do tabeli dzień Rysunek 11. Skrypt SQL - zrzut danych tabeli dzień 7.3. Skrypt tworzący tabele users Rysunek 12. Skrypt SQL tworzący tabele users 7.4. Skrypt wprowadzający dane do tabeli users Rysunek 13. Skrypt SQL - zrzut danych tabeli users 24 S t r o n a
ROZDZIAŁ III Oprogramowanie systemu informatycznego W niniejszym rozdziale zostaną zaprezentowane moduły, które składają się na Informatyczny System Zarządzania Klubem. Poprzez opisy i zrzuty ekranu pokazane zostanie działanie aplikacji, a także jej funkcje. 1. Panel administracyjny - logowanie W Internetowym systemie wspomagającym zarządzanie fitness klubem podstawową rolę odgrywa administrator, który jest głównym zarządcą aplikacji. To dzięki uprawnieniom jakie posiada może dowolnie modyfikować system. Administrator, aby mógł skorzystać z funkcji systemu musi się zalogować. Odsyłacz do panelu logowania znajduje się w prawym dolnym rogu systemu. Rysunek 14. Odnośnik do panelu administracyjnego Naciskając odsyłacz, użytkownik zostaje przeniesiony do panelu logowania. Rysunek 15. Okno logowania do panelu administracyjnego Po wpisaniu odpowiedniego loginu i hasła użytkownik zostanie przeniesiony na stronę główną swojego modułu. 25 S t r o n a
2. Panel administracyjny funkcje 2.1. Użytkownicy Funkcja ta pozwala zarządzać użytkownikami systemu. Administrator lub pracownik klubu ma możliwość dodawania nowych użytkowników, usuwania i edytowania istniejących oraz potwierdzenia użytkowników z niepełną aktywacją. Rysunek 16. Panel administracyjny - użytkownicy Naciskając zakładkę Dodaj Użytkownika, a następnie po wypełnieniu odpowiednich pól formularza oraz naciśnięciu na przycisk zapisz administrator może założyć konto w systemie dla nowego klienta. Rysunek 17. Dodawanie nowego użytkownika 26 S t r o n a
Administrator ponadto może dodać nowego pracownika. Każde konto użytkownika może być w dowolnej chwili usunięte lub edytowane. Administrator ma możliwość zmiany hasła w przypadku, gdy użytkownik zapomni jakie podał przy rejestracji. Rysunek 18. Zmiana hasła użytkownika Sekcja Użytkownicy z niepełną aktywacją zawiera użytkowników którzy samodzielnie wypełnili formularz rejestracji, a teraz czekają na aktywacje. Potwierdzić użytkownika można poprzez wciśnięcie zielonego checkboxa. Fragment kodu odpowiedzialnego za edycje danych użytkownika. Rysunek 19. Fragment kodu - edycja użytkownika 2.2. Stanowiska i grafik zajęć Jedną z najważniejszych informacji w serwisie będzie grafik dostępności danego stanowiska. Dostępność aktualnego grafiku jest bardzo dużą zaletą każdego systemu tego typu. Pozwala użytkownikom sprawdzić godziny, w których mogą korzystać z stanowiska. Widzą również w które dni i w których godzinach stanowisko jest już 27 S t r o n a
zarezerwowane. Nowoczesne fitness kluby chcąc zaspokoić potrzeby swoich klientów na bieżąco modyfikują grafik, tak aby godziny dostępności stanowiska były maksymalnie dopasowane do zapotrzebowania na to stanowisko. Aby ułatwić pracownikom edytowanie grafiku wprowadzono do panelu administracyjnego opcje Stanowiska, która pozwala w łatwy i szybki sposób zmodyfikować status dostępności stanowiska. Wszystkie informacje na ten temat są przechowywane w tabeli zajęcia. Układając grafik z góry określa się godziny w jakich stanowisko będzie dostępne, raz wprowadzone do systemu będą widoczne jako godziny zajęć, dlatego też znajdują się w osobnej tabeli w bazie danych o nazwie godziny. Rysunek 20. Godziny zajęć Pracownik może dodawać i usuwać określone godziny naciskając odpowiednio symbol lub. W celu dodania nowej godziny należy wpisać ją w polu godzina. Rysunek 21. Dodawanie godzin Fragment kodu odpowiedzialny za dodawanie godzin: 28 S t r o n a
Rysunek 22. Fragment kodu - dodawanie nowej godziny Kolejną opcją ułatwiającą modyfikowanie grafiku jest dostępność stanowiska. Rysunek 23. Dodawanie dostępności stanowiska Ponownie korzystając z przycisków i można ustawić dostępność stanowiska lub jego brak w danej godzinie. Przykładowy grafik w panelu administracyjnym dla jednego stanowiska wygląda w następujący sposób: 29 S t r o n a
Rysunek 24. Zarządzenie grafikiem Pracownik klubu, korzystając z funkcji grafiku może: Wprowadzić rezerwacje dla dowolnego klienta Dokonanie rezerwacji odbywa się poprzez wybranie opcji zarezerwuj. W wyświetlonym formularzu należy wybrać użytkownika z listy zarejestrowanych w systemie lub wpisać ręcznie imię i nazwisko klienta, który nie ma konta klienta. Rysunek 25. Dodanie rezerwacji przez pracownika Usunąć istniejącą rezerwacje Pracownik klubu może usunąć rezerwację na życzenie klienta, który nie może zrobić tego osobiście. W tym celu należy użyć odnośnika odwołaj, który wyświetli potwierdzenie usunięcia rezerwacji. Rysunek 26. Usuwanie rezerwacji przez pracownika Wysłać wiadomość do właściciela danej rezerwacji. 30 S t r o n a
Wysyłanie wiadomości odbywa się z wykorzystaniem formularza kontaktowego. Rysunek 27. Wysyłka wiadomości do osoby rezerwującej Fragment kodu wykonującego wysyłanie e-maila do klienta: Rysunek 28. Fragment kodu - wysyłanie e-maila 2.3. Aktualności Pracownicy klubu mają narzędzie do redagowania aktualności związanych z klubem, dzięki czemu można w szybki i łatwy sposób umieścić je na stronie głównej systemu. 31 S t r o n a
Rysunek 29. Aktualności Wpisując treść wiadomości i naciskając przycisk dodaj, dane zapisują się z aktualną datą do tabeli newsy w bazie danych. Poniżej formularza dodawania aktualności znajduje się spis wszystkich wiadomości, które w razie potrzeby można w dowolnej chwili edytować lub usunąć. Odbywa się to poprzez wybranie odpowiedniej opcji znajdującej się obok daty publikacji wiadomości. 2.4. Cennik Do sprawnego zarządzania cennikiem fitness klubu, pracownicy mają udostępnioną funkcje przeznaczoną do tego celu. Z jej pomocą każda pozycja cennika może być w dowolnej chwili zmieniona, pozwoli to na bieżąco dostarczać zainteresowanym klientom informacje dotyczącą cen. 3. Użytkownicy funkcje ogólnodostępne Ogólnodostępna część systemu pełni rolę informacyjną klubu. Klient ma możliwość zapoznać się z działalnością klubu, jego aktualną ofertą oraz aktualnie obowiązującymi cenami. Strona główna Internetowego systemu wspomagającego zarządzanie fitness klubem, zawiera odnośniki do wszystkich najważniejszych funkcji sytemu. Z strony głównej, użytkownik może oprócz ogólnodostępnych funkcji skorzystać z panelu logowania użytkownika, systemu rezerwacji stanowisk oraz jeżeli jest pracownikiem lub administratorem przejść do panelu administracyjnego. 32 S t r o n a
Rysunek 30. Strona główna systemu Z strony głównej, użytkownik może oprócz ogólnodostępnych funkcji skorzystać z panelu logowania użytkownika, systemu rezerwacji stanowisk oraz jeżeli jest pracownikiem lub administratorem przejść do panelu administracyjnego. 3.1. Aktualności Każda osoba odwiedzająca stronę klubu, bez konieczności logowania ma możliwość zapoznania się z aktualnościami z życia klubu, które zawierają bardzo istotne informacje dla osób chcących skorzystać z usług klubu lub osób już z nich korzystających. Na stronie głównej wyświetlają się trzy ostatnie wiadomości począwszy od najnowszej. Rysunek 31. Podgląd aktualności 33 S t r o n a
Okno aktualności jest doskonałym narzędziem do szybkiego przekazu informacji dla wszystkich osób odwiedzających stronę klubu. Fragment kodu odpowiedzialnego za wyświetlanie aktualności na stronie: Rysunek 32. Fragment kodu - wyświetlanie aktualności 3.2. Kontakt Zakładka kontakt służy do prezentacji danych teleadresowych, dzięki którym każdy klient szybko znajdzie telefon do fitness klubu, a jeżeli chce odwiedzić klub po raz pierwszy może w szybki sposób pozyskać adres. Rysunek 33. Formularz kontaktowy Dodatkowo strona kontaktu zawiera formularz kontaktowy, który umożliwia szybkie i łatwe wysłanie zapytania do pracownika klubu. Formularz wysyła wiadomość 34 S t r o n a
bezpośrednio z serwera, dzięki czemu system nie wymaga od użytkownika skonfigurowanego klienta pocztowego. Fragment skryptu odpowiedzialnego za wysyłkę formularza kontaktowego: Rysunek 34. Fragment kodu - wysyłanie formularza kontaktowego 3.3. Grafik Każda osoba wybierająca się do fitness klubu w celu ćwiczeń na konkretnym stanowisku, powinna sprawdzić grafik tego stanowiska. Zobaczyć na nim można, w które dni i godziny stanowisko jest czynne, a dodatkowo, żeby się upewnić czy stanowisko nie jest zarezerwowane przez innego klienta. Rysunek 35. Grafik dostępny dla użytkowników niezalogowanych 35 S t r o n a
W grafiku występują trzy statusy: Niedostępny stanowisko jest nieczynne Zarezerwowane stanowisko jest czynne, ale nie można z niego skorzystać z powodu rezerwacji przez innego użytkownika Dostępny stanowisko jest czynne, można z niego korzystać 3.4. Cennik Informacją która interesuje chyba każdego klienta, jest koszt skorzystania z danego stanowiska. Nie mogło, więc zabraknąć w systemie strony informującej o aktualnie obowiązujących cenach w klubie. Rysunek 36. Cennik 4. Użytkownicy funkcje dla użytkowników zalogowanych Strony przeznaczone dla użytkowników posiadających konto w systemie stanowią dla nich duże ułatwienie w korzystaniu z usług fitness klubu. Nie wychodząc z domu, klient może zarezerwować interesujące go stanowisko, sprawdzić i przypomnieć sobie jakie rezerwacje dokonał wcześniej i w razie potrzeby w łatwy sposób odwołać rezerwacje. 4.1. Logowanie użytkownika Klienci posiadający konto w systemie mogą zalogować się do niego za pomocą formularza logowania znajdującego się na stronie głównej. 36 S t r o n a
Rysunek 37. Panel logowania Po wpisaniu prawidłowego loginu i hasła użytkownik może rozpocząć korzystanie z funkcji dostępnych tylko dla użytkowników zalogowanych. Klienci nie posiadający konta w systemie, poprzez odpowiedni odnośnik w oknie logowania mogą przejść do formularza rejestracji. Rysunek 38. Formularz rejestracyjny 37 S t r o n a
Po wypełnieniu wszystkich pól formularza i naciśnięciu Zarejestruj, system sprawdza poprawność wprowadzonych danych w następujący sposób: czy w systemie nie ma już osoby o podanym loginie czy w systemie nie ma już osoby z podanym mailem czy login składa się wyłącznie z liter czy hasło składa się co najmniej z 5 znaków czy powtórzone hasło jest zgodne z pierwotnym czy podany adres mailowy ma odpowiedni format Fragment kodu odpowiedzialnego za walidacje formularza: Rysunek 39. Fragment kodu - walidacja formularza W przypadku gdy walidacja formularza zakończy się powodzeniem, zgłoszenie rejestracyjne pojawi się w panelu administracyjnym w sekcji użytkownicy z niepełną aktywacją. Pracownik po weryfikacji danych, aktywuje konto użytkownika. Klient zostanie poinformowany o tym fakcie automatycznie drogą mailową. 38 S t r o n a
4.2. Rezerwacja stanowiska Każdy zalogowany użytkownik może w szybki sposób sprawdzić dostępność danego stanowiska. Klient po zalogowaniu, tak samo, jak użytkownicy niezalogowani widzi godziny, w których stanowiska są czynne, godziny w których inni użytkownicy dokonali rezerwacji, a dodatkową funkcją jest szybka rezerwacja, polegająca na naciśnięciu odnośnika zarezerwuj w interesującym go dniu i godzinie. Rysunek 40. Rezerwacja stanowiska przez użytkownika Dla takiej funkcjonalności warto założyć konto w systemie. Jest to oszczędność czasu i wygoda dla każdego zalogowanego użytkownika. 4.3. Konto klienta Konto klienta, jest to miejsce w którym użytkownik może zmienić dane podane podczas rejestracji, a przede wszystkim wykonać rezerwację stanowiska oraz sprawdzić jakich rezerwacji już dokonał. Jest to bardzo pożyteczna rzecz, pomagająca użytkownikom zapanować nad swoimi rezerwacjami, a dodatkowo umożliwia w razie potrzeby odwołać rezerwacje stanowiska. 39 S t r o n a
Rysunek 41. Konto klienta Odwołanie rezerwacji następuje po naciśnięciu odnośnika usuń rezerwację obok rezerwacji którą chcemy anulować. Rysunek 42. Konto Klienta - usuwanie rezerwacji 40 S t r o n a
ROZDZIAŁ IV Testowanie systemu informatycznego W rozdziale tym zostanie pokazane testowanie Internetowego systemu wspomagającego działanie fitness klubu, a tym samym zostanie zaprezentowanie działania stworzonej aplikacji. 1. Proces rejestracji użytkownika W celu dokonania rejestracji, użytkownik musi odwiedzić stronę główną systemu i z panelu logowania po prawej stronie wybrać odsyłacz dla osób, chcących dokonać rejestracji. Rysunek 43. Odnośnik do rejestracji Następnym krokiem jest wypełnienie przez użytkownika wszystkich pól formularza rejestracyjnego takich jak imię i nazwisko, login, hasło, adres, telefon oraz adres mailowy na który użytkownik będzie otrzymywał wiadomości z fitness klubu, w tym także potwierdzenie aktywacji konta klienta. Rysunek 44. Przykładowa rejestracja Po naciśnięciu przycisku Zarejestruj, a następnie sprawdzeniu poprawności wypełnionych pól przez system na ekranie pojawia się komunikat informujący o założeniu konta oraz o potrzebie aktywacji konta przez pracownika klubu. 41 S t r o n a
Rysunek 45. Potwierdzenie rejestracji Ostatnią czynnością, niezbędną do zakończenia procesu rejestracji, jest aktywacja konta przez pracownika klubu. W tym celu pracownik musi zalogować się do panelu administracyjnego, a następnie przejść do działu Użytkownicy, a następnie zweryfikować wprowadzone przez użytkownika dane. Rysunek 46. Aktywacja użytkownika Jeżeli wszystko się zgadza, pracownik aktywuje konto klienta przez naciśnięcie przycisku. Użytkownik natychmiast zostaje poinformowany o aktywacji konta automatycznie wygenerowanym e-mailem. Rysunek 47. E-mail potwierdzający aktywacje konta 42 S t r o n a
2. Rezerwacja stanowiska Użytkownik, który chce zarezerwować stanowisko musi uprzednio się zalogować, wykorzystując do tego panel logowania znajdujący się na stronie głównej systemu. Sam proces rezerwacji odbywa się natomiast na podstronie Rezerwacje. Klient może tam zobaczyć, jak wygląda dostępność danego stanowiska w zbliżającym się tygodniu. Rysunek 48. Przykładowa rezerwacja stanowiska Użytkownik może zarezerwować stanowisko na dany dzień i godzinę, poprzez naciśnięcie odnośnika Zarezerwuj w odpowiedniej komórce. Komórki nie posiadające odnośnika Zarezerwuj są godzinami, kiedy stanowisko jest nieczynne lub gdy inny użytkownik wcześniej już dokonał rezerwacji w danym terminie. Na potrzeby testu zarezerwowane zostanie stanowisko w dniu 10-02-2012 o godzinie 20:00. Rysunek 49. Zaktualizowany po rezerwacji grafik 43 S t r o n a
Na ekranie pojawia się komunikat o dokonanej rezerwacji oraz zaktualizowany grafik, na którym interesujące użytkownika stanowisko zostało zarezerwowane na 10-02-2012 godzina 20:00. Użytkownik ma podgląd na wszystkie dokonane rezerwacje poprzez konto klienta. Rysunek 50. Konto klienta z przykładową rezerwacją 3. Odwołanie rezerwacji stanowiska przez użytkownika W celu odwołania rezerwacji, użytkownik musi zalogować się do systemu wykorzystując panel logowania, a następnie przejść na swoje konto klienta, gdzie widnieją wszystkie jego rezerwacje. Rysunek 51. Usuwanie rezerwacji przez użytkownika Odwołanie rezerwacji odbywa się poprzez naciśnięcie odnośnika usuń rezerwację. Rezerwacja od razu zostaje usunięta z grafiku i stanowisko ponownie jest oznaczone jako dostępne. Rysunek 52. Grafik po usunięciu rezerwacji 44 S t r o n a
4. Odwołanie rezerwacji przez administratora systemu W wypadku, gdy klient z jakiś powodów, nie może sam usunąć rezerwacji z pomocą przychodzi pracownik klubu. Panel administracyjny umożliwia usunięcie rezerwacji każdego z użytkowników. Po zalogowaniu się do panelu, pracownik przechodzi do sekcji Grafik, w którym chcąc usunąć daną rezerwacje naciska znajdujący się obok rezerwacji odnośnik odwołaj. Rysunek 53. Odwołanie rezerwacji przez użytkownika 5. Walidacja formularza rejestracyjnego. Formularz rejestracyjny, wymaga od użytkownika wypełnienia wszystkich pól w odpowiedniej formie. W przypadku błędnego wypełnienia poszczególnych pól formularza system wyświetla komunikat o błędzie. Rysunek 54. Walidacja formularza rejestracyjnego 45 S t r o n a
6. Walidacja danych przy rezerwacji stanowiska Aplikacja posiada zabezpieczenie na wypadek, gdyby ktoś w złej intencji chciał dokonać fałszywych rezerwacji. System nie przyjmuje więcej niż trzech rezerwacji na jedno stanowisko w danym dniu. Rysunek 55. Walidacja danych przy rezerwacji Klient, który chciałby dokonać czwartej rezerwacji w danym dniu zostanie poinformowany poprzez odpowiedni komunikat na ekranie o braku takiej możliwości. Dokonanie większej ilości rezerwacji w jednym dniu jest możliwe tylko poprzez kontakt z pracownikiem klubu. Powyższe rozwiązanie pozwala zabezpieczyć klub przed niepotrzebnymi i nieprzemyślanymi rezerwacjami stanowisk. 46 S t r o n a
1. Podsumowanie Zakończenie Celem pracy było stworzenie aplikacji internetowej, która będzie efektywnie wspomagać zarządzanie fitness klubem oraz spełni rolę informacyjno-promocyjną klubu. System został stworzony w przystępny sposób, tak aby każdy użytkownik miał do niego prosty dostęp. Stworzona aplikacja umożliwia klientom podgląd aktualnego grafiku, samodzielną rejestrację do systemu oraz zarządzanie swoim kontem i rezerwacjami, bez konieczności wychodzenia z domu. Dzięki takiemu rozwiązaniu użytkownik nie musi stać w kolejkach, ani też wydzwaniać do klubu z pytaniami o dostępność interesującego go stanowiska, ponieważ może sprawdzić to sam za pomocą komputera lub smartphona. System umożliwia również szybką i sprawną modyfikacje grafików przez pracowników klubu, dzięki czemu klient ma świadomość, że udostępnione mu grafiki są zawsze aktualne. 2. Wnioski Informatyczny System Zarządzania Klubem spełnia założenia postawione na wstępie pracy dyplomowej, dzięki czemu stał się praktycznym narzędziem umożliwiającym rezerwację stanowiska z dowolnego miejsca, gdzie użytkownik ma dostęp do Internetu. System ten może zostać wdrożony w każdej placówce zajmującej się fitnessem lub kulturystyką, co bez wątpienia podniesie jego atrakcyjność i wyróżni na tle konkurencji. Wnioski końcowe Stworzony system: wspomoże zarządzać klubem ułatwi pracownikom klubu szybką modyfikacje dostępności stanowisk do ćwiczeń umożliwi klientom dokonywania rezerwacji on-line. ułatwi szybkie dotarcie do aktualnych informacji Wykorzystane narzędzia informatyczne, takie jak HTML, PHP, MySQL pozwalają na rozbudowę systemu o zaawansowane rozwiązania. 47 S t r o n a
3. Uwagi końcowe Stworzona aplikacja może w przyszłości zostać rozbudowana o kolejne funkcjonalności. Dodatkową możliwością mogłoby być: Rozbudowanie konta klienta gdzie, użytkownicy mogliby mieć dostęp do profesjonalnie rozpisanych szczegółów treningu oraz do swoich aktualnych osiągnieć, takich jak aktualna waga lub maksymalnie podniesiony ciężar. Wprowadzenie w serwisie filmów instruktarzowych do każdego stanowiska Utworzenie funkcjonalności serwisu, która umożliwiłaby systemowi wyliczenia zniżek dla klientów na podstawie stażu użytkownika oraz częstotliwości jego treningów. Kwestie te nie były brane pod uwagę w założeniach pracy, ale warto zaznaczyć, że istnieje taka możliwość. 48 S t r o n a
Bibliografia A. Publikacje 1. Welling L., Thomson L.: PHP i MySQL. Tworzenie stron WWW. Wydanie drugie. Vademecum profesjonalisty. Wydawnictwo Helion, 2009 2. Pfaffenberger B., Schafer S., White C., Karow B.: HTML, XHTML i CSS. Biblia. Wydawnictwo Helion, 2005 B. Prace dyplomowe WSIZ 1. Ewa Nitka, Internetowy system wspomagający zarządzanie fitness klubem, Bielsko-Biała 2004, dr Józef Kukuczka, prof. nadzw. 2. Piotr Lapczyk, System Zarządzania Multikinem, Bielsko-Biała 2006, dr hab. n.t. dr n.e. inż. Franciszek Marecki,prof. zw. 3. Łukasz Pyrz, Internetowy system rejestracji pacjentów, Bielsko-Biała 2010, doc. dr n.med. Janusz Krasnodębski C. Źródła internetowe 1. http://www.kurshtml.boo.pl/ 2. http://forum.php.pl/ 3. http://kurshtml.edu.pl/ 49 S t r o n a
Spis rysunków Rysunek 1. Statusy dostępności stanowiska... 11 Rysunek 2. Schemat architektury klient serwer (opracowanie własne)... 12 Rysunek 3. Skrypt PHP umieszczony w kodzie HTML... 14 Rysunek 4. Notepad++ - wygląd programu... 16 Rysunek 5. Adobe Photoshop CS3... 16 Rysunek 6. Schemat blokowy modułu klienta niezalogowanego... 17 Rysunek 7. Schemat blokowy modułu klientów zalogowanych... 18 Rysunek 8. Schemat blokowy modułu administracyjnego... 19 Rysunek 9. Diagram ERD... 21 Rysunek 10. Skrypt SQL - tworzenie tabeli dzien... 23 Rysunek 11. Skrypt SQL - zrzut danych tabeli dzień... 24 Rysunek 12. Skrypt SQL tworzący tabele users... 24 Rysunek 13. Skrypt SQL - zrzut danych tabeli users... 24 Rysunek 14. Odnośnik do panelu administracyjnego... 25 Rysunek 15. Okno logowania do panelu administracyjnego... 25 Rysunek 16. Panel administracyjny - użytkownicy... 26 Rysunek 17. Dodawanie nowego użytkownika... 26 Rysunek 18. Zmiana hasła użytkownika... 27 Rysunek 19. Fragment kodu - edycja użytkownika... 27 Rysunek 20. Godziny zajęć... 28 Rysunek 21. Dodawanie godzin... 28 Rysunek 22. Fragment kodu - dodawanie nowej godziny... 29 Rysunek 23. Dodawanie dostępności stanowiska... 29 Rysunek 24. Zarządzenie grafikiem... 30 Rysunek 25. Dodanie rezerwacji przez pracownika... 30 Rysunek 26. Usuwanie rezerwacji przez pracownika... 30 Rysunek 27. Wysyłka wiadomości do osoby rezerwującej... 31 Rysunek 28. Fragment kodu - wysyłanie e-maila... 31 Rysunek 29. Aktualności... 32 Rysunek 30. Strona główna systemu... 33 Rysunek 31. Podgląd aktualności... 33 Rysunek 32. Fragment kodu - wyświetlanie aktualności... 34 Rysunek 33. Formularz kontaktowy... 34 Rysunek 34. Fragment kodu - wysyłanie formularza kontaktowego... 35 Rysunek 35. Grafik dostępny dla użytkowników niezalogowanych... 35 Rysunek 36. Cennik... 36 Rysunek 37. Panel logowania... 37 Rysunek 38. Formularz rejestracyjny... 37 Rysunek 39. Fragment kodu - walidacja formularza... 38 Rysunek 40. Rezerwacja stanowiska przez użytkownika... 39 Rysunek 41. Konto klienta... 40 Rysunek 42. Konto Klienta - usuwanie rezerwacji... 40 Rysunek 43. Odnośnik do rejestracji... 41 50 S t r o n a