UNIVERZITA PARDUBICE. Fakulta elektrotechniky a informatiky. Informační systém realitní kanceláře Jan Šimůnek



Podobné dokumenty
UNIVERZITA PARDUBICE. Fakulta elektrotechniky a informatiky. Informační systém realitní kanceláře Jan Šimůnek

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

Webové stránky Webové aplikace WebDesign Internet Marketing VAFRO CMS MODUL REALITY

Podrobný návod pro administraci zákaznických účtů na portálu Czechiatour.eu

Individuální projekt z předmětu webových stránek 2012/ Anketa

Uživatelská příručka administrativního rozhraní Vědecké knihovny v Olomouci

Modul Ankety verze 1.11 pro redakční systém Marwel 2.8 a 2.7

CzechAdvisor.cz. Návod pro členy AHR

PROFI TDi s.r.o , Želetice 40 Návod k používání systému OTDI.CZ

Obchodní příležitosti

Manuál k systému RS4S. verze 1.2

WR Reality. Web Revolution. Uživatelský manuál administračního rozhraní

Uživatelská příručka 6.A6. (obr.1.)

Manuál pro obsluhu Webových stránek

CzechAdvisor.cz. Návod pro členy AHR

Systém JSR představuje kompletní řešení pro webové stránky malého a středního rozsahu.

Maturitní projekt do IVT Pavel Doleček

Na vod k nastavenı u

Dokumentace pro správu zlínských DUM

Externí Helpdesk Uživatelská příručka. verze 1.00

E-NABÍDKA PARTNER.REDA.CZ

Modul Kontakt s klientem SSP. OKcentrum. Uživatelská příručka. Poskytování součinnosti ÚP ČR

Constructo. Uživatelská příručka

Profesis on-line Obrázky v prezentaci byly upraveny pro potřeby prezentace.

Novinky verze systému Spisové služby (SpS) e-spis LITE

Podrobný postup pro doplnění Žádosti o dotaci prostřednictvím Portálu Farmáře. 2. kolo příjmu žádostí Programu rozvoje venkova ( )

KRAJSKÝ ÚŘAD KARLOVARSKÉHO KRAJE. Manuál. Uživatele aplikace informačního systému pro

NÁVOD NA OBSLUHU INTERNETOVÉ PREZENTACE. Ataxo Czech s.r.o.

PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ verze Kontakty 08/ Obsah

Uživatelský manuál. Obsah

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

HelpDesk. Uživatelská příručka verze 1.7. duben Dodavatel: MÚZO Praha s.r.o. Politických vězňů Praha 1

Webová aplikace Znalostní testy online UŽIVATELSKÁ PŘÍRUČKA

Uživatelská příručka pro. elektronické podání žádosti o uznání porostů. přístup k výsledkům přehlídek uznávacího řízení

Redakční systém Joomla. Prokop Zelený

K práci je možné přistoupit následujícím způsobem. Odkaz na práci se nachází na osobním webu autora práce:

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

M E T O D I K A W I K I

Zadání maturitní práce ve školním roce 2016/2017

1 Administrace systému Moduly Skupiny atributů Atributy Hodnoty atributů... 4

FFUK Uživatelský manuál pro administraci webu Obsah

Tour de ABB 2013 Průvodce online aplikací

Administrace webu Postup při práci

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

ČNHP. Příručka pro pacienty. Institut biostatistiky a analýz. Vytvořil:

Manuál PVU zadavatel Platnost pro elektronický nástroj X-EN verze 4 a novější

Na vod k nastavenı ovy ch schra nek Administrace

Zadání grafického designu Trh poptávek

Správa obsahu webové platformy

ROZHRANÍ PRO ZPŘÍSTUPNĚNÍ A PREZENTACI ZNALOSTNÍ DATABÁZE INTERPI UŽIVATELSKÁ PŘÍRUČKA

Uživatelský manuál

MANUÁL PRO UŽIVATELE WEBU ADRESÁŘ DESIGNÉRŮ

PTÁČEK - velkoobchod. eshop. ZÁKAZNICKÝ pracovní postup

Návod na základní používání Helpdesku AGEL

Pryč jsou ty doby, kdy bylo nutné kvůli každé malé úpravě webových stránek shánět odborníka, který

Modul Kalendář v. 0.3 pro redakční systém Marwel

Alsenta.com Zbynek Lakomý

Uživatelská příručka

Obsah. 1.1 Práce se záznamy Stránka Dnes Kontakt se zákazníkem... 5

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK

Athena Uživatelská dokumentace v

Manuál SaaService. REBOT IN Real Estate

Profesis KROK ZA KROKEM 2

Manuál PVU zadavatel Platnost pro elektronický nástroj X-EN verze 3 a novější

Zakládání nové akce krok za krokem Krok 1. Krok 2. Krok 3. Krok 4. Krok 5. Manuál k aplikaci pro zadávání nabídky nových bytů

Personální evidence zaměstnanců

Průvodce aplikací FS Karta

1 Příručka používání Google Apps

Aplikace pro elektronicke odesla nı da vky Listu o prohlı dce zemr ele ho a dals ı ch da vek do NZIS.

Úvod do systému

1. Podmínky chodu aplikace

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

DOKUMENTACE REDAKČNÍHO SYSTÉMU PINYA

Registr práv a povinností

1. ÚVOD A INFORMACE O APLIKACI PŘÍSTUP DO SYSTÉMU IS LUCI A BEZPEČNOST PŘÍSTUPOVÁ PRÁVA K SYSTÉMU -5-

Lokality a uživatelé

Manuál pro žadatele OBSAH

Postup pro doplnění Žádosti o dotaci přes Portál farmáře v operaci

Už ivatelska dokumentace

Uživatelský manuál.

Nástrojová lišta v editačním poli

Nápověda pro systém ehelpdesk.eu

Informační systém pro zubaře a pacienty Uživatelská příručka

Na vybraném serveru vytvoříme MySQL databázi. Soubory scratch.jpa, kickstart.php a en-gb.kickstart.ini nahrajeme na vybraný server.

WEBOVÉ STRÁNKY ŠKOLY A REDAKČNÍ SYSTÉM

..:: IKV.EVARIANTY.CZ ::.. ..:: Uživatelský manuál pro studenty ::..

Návod pro práci s aplikací

Nephele systém. Akademie výtvarných umění v Praze. Ústav teorie informace a automatizace AV ČR, v.v.i. Ústav anorganické chemie AV ČR, v.v.i.

Obecní webové stránky.

1 Webový server, instalace PHP a MySQL 13

Manuál SQL Ekonom funkce pro zajištění souladu s ochranu osobních údajů podle GDPR

PRO PRÁCI S APLIKACÍ SKV - VÝBĚR KVALITNÍCH VÝSLEDKŮ

Manuál k Národnímu informačnímu systému v adiktologii (NISA) Obsah

InsideBusiness Payments CEE

Informační systém pro e-learning manuál

BENCHMARKING VENKOVA. Uživatelská příručka nástroje ehomer.cz. Verze dokumentu: 1.1

Zpracoval Datum Verze Popis změn

Příručka uživatele HELPDESK GEOVAP

Transkript:

UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Informační systém realitní kanceláře Jan Šimůnek Bakalářská práce 2011

Prohlášení autora Prohlašuji, že jsem tuto práci vypracoval samostatně. Veškeré literární prameny a informace, které jsem v práci využil, jsou uvedeny v seznamu použité literatury. Byl jsem seznámen s tím, že se na moji práci vztahují práva a povinnosti vyplývající ze zákona č. 121/2000 Sb., autorský zákon, zejména se skutečností, že Univerzita Pardubice má právo na uzavření licenční smlouvy o užití této práce jako školního díla podle 60 odst. 1 autorského zákona, a s tím, že pokud dojde k užití této práce mnou nebo bude poskytnuta licence o užití jinému subjektu, je Univerzita Pardubice oprávněna ode mne požadovat přiměřený příspěvek na úhradu nákladů, které na vytvoření díla vynaložila, a to podle okolností až do jejich skutečné výše. Souhlasím s prezenčním zpřístupněním své práce v Univerzitní knihovně. V Pardubicích dne 13.5.2011 Jan Šimůnek

Poděkování Děkuji Ing. Miloslavovi Macháčkovi, Ph.D. za vedení celé mé práce. Dále děkuji rodičům, spolužákům a kamarádům za podporu během studia.

Anotace Obsahem této práce je analýza stávajících SW řešení informačních systémů realitních kanceláří. Zjištění požadavků pro tento systém a vypracování funkční webové aplikace. Hlavní požadavky jsou umožnění evidence dat a řízení obchodní činnosti realitní kanceláře. Aplikace dále umožní zpracování poptávek a nabídek zákazníků a jejich správu. V systému jsou použity technologie HTML, PHP, JavaScript, MySQL a CSS. Klíčová slova Realitní kancelář, inzerát, nemovitost, HTML, PHP, JavaScript, MySQL, CSS. Title The Information system of real estate Annotation The content of this work is an analysis of existing information systems software solutions to real estate agents. Determine the requirements for the system and developing functional web application. The main requirements are to enable data capture and management of commercial real estate brokerage. The application also allows the processing of requests and offers customers and their management. The system uses technologies such as HTML, PHP, JavaScript, MySQL and CSS. Keywords Real estate agency, advertisement, real estate, HTML, PHP, JavaScript, MySQL, CSS.

Obsah Seznam zkratek... 8 Seznam obrázků... 9 1 Úvodní informace... 10 2 Teoretická část... 11 2.1 Historické zákonitosti... 11 2.2 Problematika systémů (aplikací, které navrhujete)... 11 2.3 Požadavky na správnou funkčnost aplikace... 12 2.4 Vývoj aplikačního SW... 13 2.5 Rešerše... 14 2.6 Analýza dostupných řešení na trhu... 15 2.6.1 M&M Reality... 15 2.6.2 RE/MAX... 16 2.6.3 STING... 16 2.6.4 TANA... 17 2.6.5 Porovnání konkurenčních aplikací... 18 2.6.6 Porovnání s vlastní aplikací... 20 3 Praktická část... 21 3.1 Návrh systému, pro koho je určen, funkcionalita... 21 3.1.1 Představení aplikace... 21 3.1.2 Využití... 21 3.1.3 Uživatelské prostředí... 22 3.1.4 Uživatelské role... 23 3.1.5 Funkce aplikace... 26 3.2 Databázový model... 36 3.3 Ukázka zdrojových kódů... 37 3.4 Uživatelská příručka... 40 3.5 Instalační příručka... 41 4 Závěr... 42 Literatura... 43 Příloha A Instalační CD... 44

Seznam zkratek 3D AJAX CD FTP HTML PHP Jpg MB MySQL Png PSČ 3-Dimension Asynchronous JavaScript and XML Compact Disc File Transfer Protocol HyperText Markup Language Hypertext Preprocessor Joint Photographic Group MegaByte My Structured Query Language Portable Network Graphics Poštovní Směrovací Číslo 8

Seznam obrázků Obrázek 1 Titulní stránka M&M Reality... 15 Obrázek 2 Titulní stránka RE/MAX... 16 Obrázek 3 Titulní stránka STING... 17 Obrázek 4 Titulní stránka TANA... 17 Obrázek 5 Hlavní rozdělení celé stránky... 22 Obrázek 6 Úvodní stránka webové aplikace... 23 Obrázek 7 UML aktivity diagram... 24 Obrázek 8 Úvodní stránka webové aplikace... 26 Obrázek 9 Základní informace o inzerátu... 27 Obrázek 10 Detailní informace o nemovitosti... 28 Obrázky 11 a 12 Kontakty na makléře a do realitní kanceláře... 28 Obrázek 13 Diskuze k inzerátu... 29 Obrázek 14 Pomocné menu k administraci inzerátu... 29 Obrázek 15 Hlavní vyhledávací formulář... 30 Obrázek 16 Rozšířené vyhledávání... 31 Obrázek 17 Výsledky vyhledávání... 31 Obrázek 18 Změna práv uživatelů... 31 Obrázek 19 Povolení přístupu uživatele... 32 Obrázek 20 Formulář pro přidání aktuality... 32 Obrázky 21 a 22 Formuláře pro přidání obce a dispozice do systému... 32 Obrázek 23 Stránka makléři... 33 Obrázek 24 Registrace nového uživatele... 33 Obrázek 25 Stránka logs... 34 Obrázek 26 Stránka přidělené inzeráty makléři... 35 Obrázek 27 Stránka ukončených inzerátů... 35 Obrázek 28 Stránka prodaných inzerátů... 36 Obrázek 29 ER diagram databáze... 36 Obrázek 30 Ochrana proti SQL injection... 38 Obrázek 31 Zdrojový kód pro přihlášení... 38 Obrázek 32 Zdrojový kód pro nahrání obrázku na server... 39 9

1 Úvodní informace Cílem této práce bylo vytvoření webové aplikace pro realitní kancelář umožňující evidenci dat a řízení obchodní činnosti firmy. Dále prezentovat a propagovat nabízené nemovitosti zákazníkům na internetu. Systém je naprogramován v jazyce PHP a využívá relační databázi MySQL. Aplikace je navržena tak, aby splňovala jednoduchost využití z pohledu návštěvníků i pokročilou správu dat z pohledu pracovníků realitní kanceláře. Aplikace umožňuje přístup zákazníků i pracovníků realitní kanceláře. V aplikaci jsou použity uživatelské role, které umožňují uživateli pracovat s aplikací podle toho jaká má přidělena práva. Řešení projektu je rozděleno do několika částí. První je teoretická část a analýza konkurenčních systémů. Druhá část obsahuje představení samotné aplikace a její funkce. Na závěr následuje zhodnocení celého projektu. 10

2 Teoretická část 2.1 Historické zákonitosti Realitní kanceláře na internetu se stále vyvíjejí. Nejprve bylo možné na internetu vidět pouze prezentaci firmy a její kontakty. Jednalo se ještě o statické webové stránky psané většinou pouze v HTML. Později, jak se internet začal rozšiřovat, tak se dostávaly na webové prezentace realitních kanceláří aktuální nabídky nemovitostí. Jednalo se však opět pouze o prezentaci statických webových stránek. Rozdíl byl pouze v tom, že kancelář například každý měsíc musela vydat novou verzi stránek s aktuální nabídkou. Vždy bylo také na stránce uvedeno do kdy je nabídka aktuální. Velkým průlomem bylo vytváření dynamických webových stránek pomocí PHP s využitím databáze (např.: MySQL nebo Oracle). To již stránky získaly administrativní část, kde pracovník realitní kanceláře jednotlivé inzeráty vytváří a maže pouze v databázi. Není tedy již nutné neustále aktualizovat zdrojové kódy webových stránek. Zároveň se také začaly používat modernější technologie, které stránky dělají uživatelsky přívětivější. Jde například o použití JavaScriptu, který je použit nejčastěji pro zobrazení pouze vybraných kategorií na stránce bez nutnosti znovunačtení celé stránky. V dnešní době naleznete webové stránky, které jsou napsány v mnoha různých programovacích jazycích. Nejčastěji jsou propojeny s databází. Také je velmi často použita technologie AJAX, která vychází z JavaScriptu. Nejčastěji je opět využita k práci na stránce bez nutnosti znovunačtení dané stránky a nebo provádí operace na pozadí stránky, aniž by si toho uživatel zaznamenal. Na mnoha stránkách je také možno vidět použití flashových aplikací. 2.2 Problematika systémů (aplikací, které navrhujete) Základem aplikace je vytvoření uživatelsky přívětivého systému, který je také jednoduchý na obsluhu, ale zároveň poskytuje dostatečné množství funkcí ke správě aplikace. Nutností je, aby webovou aplikaci mohli spravovat pracovníci realitní kanceláře bez znalosti programovacích jazyků. Aplikace by měla umožnit dosažení hledaného cíle během několika kliknutí myší, rychlé vyhledávání a jednoduchou správu celé aplikace. Dále jsou nutností uživatelské účty a uživatelské role. 11

2.3 Požadavky na správnou funkčnost aplikace Webová aplikace by měla nabídnout dostatečnou funkčnost z obou pohledů využití. Jak z pohledu návštěvníka stránek, případného zákazníka, tak i z pohledu pracovníků realitní kanceláře, kteří potřebují administrační část aplikace. Základní požadavky: Možnost registrace uživatele za účelem získání dalších práv. Rozlišení uživatelských účtů podle přidělené uživatelské role. Umožnit příjem a zpracování poptávek a nabídek zákazníků. Tvorba, správa a editace jednotlivých inzerátů. Členění nemovitostí podle lokality, typu, konstrukce a dispozice. Vyhledávání inzerátů podle zadaných kritérií. Vyhledání realizovaných a ukončených zakázek. Jednoduchá možnost kontaktování realitní kanceláře nebo makléře. Administrace systému. Validita a bezpečnost webové aplikace. Základním požadavkem je umožnit uživateli registraci, která ovšem není nutná. Při procházení a vyhledávání inzerátů není nutné, aby byl uživatel přihlášen. K tomuto slouží uživatelské účty. Systém také musí umožnit přijímání a zpracování poptávek i nabídek zákazníků a jejich správu. Dále členit nemovitosti podle lokality, typu, konstrukce a dispozic, které nemovitost nabízí. Také aplikace umožní vyhledání již prodaných nebo ukončených zakázek. V neposlední řadě je nutné vyhledávání nemovitostí podle zadaných kritérií. Systém musí umožnit registraci uživatele do několika druhů uživatelů. Jedná se uživatele nebo-li zákazníky a pracovníky realitní kanceláře. Uživatelské účty obsahují základní informace o registrovaném uživateli. Jde například o jméno a příjmení, kontaktní telefon a e-mail, uživatelské jméno a heslo sloužící k přihlášení a také přiřazení správné uživatelské role. Základní rozdělení uživatelských rolí je na návštěvníky webové aplikace a pracovníky realitní kanceláře. Dále rozlišujeme návštěvníky webové aplikace na přihlášené a nepřihlášené. Přihlášení je podmíněno registrací. Pracovníky realitní kanceláře rozlišujeme na moderátory, makléře a administrátory. Ti mají vyšší práva než návštěvníci stránek. 12

Velmi důležitá je bezpečnost aplikace. Největší nutností v dnešní době je velmi dobře ošetřit všechny vstupní formuláře a odesílaná data, aby nedošlo ke špatnému zobrazení stránek, úpravě databáze nebo dokonce jejímu celému smazání. Validita stránek a kaskádových stylů zaručí vyšší stabilitu a rychlost celé webové aplikace. 2.4 Vývoj aplikačního SW Většina webových aplikací používá kód, který je spuštěn na serveru. Jedinou výjimkou jsou jednoduché statické stránky. Spuštěný kód na serveru by měl pohotově reagovat na požadavky klienta a tím dynamicky tvořit webové stránky ve zdrojovém kódu HTML. Ten se poté zobrazí v okně webového prohlížeče, jenž je spuštěn na počítači klienta. Využití programovacích jazyků, které generují kód na serveru je jednoznačně nutné. Velkou část webových stránek, které jsou na internetu k vidění, by jako statické webové stránky napsané v HTML nemohly fungovat. Například počítání návštěv, ankety, internetové obchody a mnoho dalších funkcí by nebylo možné využít. [1] HTML HTML kód je bezstavový značkovací jazyk, který využívá tagy. Tagy jsou jednoduché příkazy, které se zapisují do špičatých závorek. Tagy bývají párové. Mívají počáteční a koncový tag, který má na začátku tagu lomítko. Internetový prohlížeč má za úkol vyhodnotit a zpracovat jednotlivé tagy. Text uvedený mimo tagy se vypíše na obrazovku. HTML nesleduje stav uživatelských relací a rovněž nepodporuje ukládání údajů do souborů a databází. [2] Webová aplikace Webová aplikace je určena především vývojářům aplikací v jazyce PHP. Je součástí systému, který je na straně serveru tvořen webovým serverem, skriptovacím strojem jazyka PHP a většinou také databázovým serverem, jenž je určen pro uložení dat. Komunikace klientského počítače se serverem vypadá následovně. Klient směřuje požadavky na webový server. Ten je zpracuje a generuje stránky ve zdrojovém kódu HTML. Tyto stránky jsou poté síťovými prostředky doručeny zpět klientovy. Stránky budou pravděpodobně obsahovat text, tabulky, obrázky, komponenty a kód ve skriptovacím jazyce, jenž bude spuštěn na klientské počítači. [1] PHP PHP je jeden z nejrozšířenějších skriptovacích programovacích jazyků pro webové aplikace. Tento programovací jazyk je určen pro programování dynamicky generovaného obsahu webových stránek. Na rozdíl od JavaScriptu se PHP zpracovává na straně serveru, který poté odešle klientovi vygenerovanou stránku v HTML. [3] 13

JavaScript JavaScript je interpretovaný objektový programovací jazyk, který se používá v internetových stránkách. Zapisuje se přímo do HTML kódu. JavaScript je spouštěn na straně klienta, kde je poté vykonán. Hlavním omezením tohoto jazyka je možnost uživatele v prohlížeči JavaScript zakázat. Dále neumí pracovat se soubory ani jinak ukládat data. Jazyk je použitelným pouze v HTML stránkách. [4] Kaskádové styly - CSS CSS vzniklo kolem roku 1997. Jedná se o kolekci metod určených pro grafickou úpravu webových stránek, nejčastěji HTML. Hlavní výhodou je jednoduchá údržba webové prezentace. V případě změny například barvy se přepíše pouze jeden řádek a změna se projeví na všech stránkách, kde je kaskádový styl připojen. [5] 2.5 Rešerše Téma rešerše: Stávající SW řešení informačních systémů realitních kanceláří. Druhy dokumentů: Webová sídla Jazykové vymezení: čeština Webová sídla: M&M Reality holding a. s. M&M reality : Oblíbená realitní kancelář - byty, domy, pozemky [online]. 2011 [cit. 2011-05-05]. Dostupné z WWW: <http://www.mmreality.cz/cs/>. Effectix.com s.r.o. Reality RE/MAX Česká republika : realitní kanceláře, prodej nemovitostí [online]. 2010 [cit. 2011-05-05]. Dostupné z WWW: <http://www.remaxczech.cz/>. Realitní kancelář STING, s. r. o. Reality, byty : Realitní kancelář STING [online]. 1997 [cit. 2011-05-05]. Dostupné z WWW: <http://www.rksting.cz/>. ebrána s.r.o., www.ebrana.cz. Byty, domy, pozemky : TANA realitní kanceláře [online]. 2011 [cit. 2011-05-05]. Dostupné z WWW: <http://www.tana.cz/>. 14

2.6 Analýza dostupných řešení na trhu Na českém trhu podniká velké množství firem a živnostníků v oblasti týkající se prodeje nemovitostí. V roce 2010 to bylo přes 18800 firem. Do České republiky vstoupily zahraniční realitní sítě, které se snaží na Českém trhu prosadit. Prvním byla původem americká realitní kancelář RE/MAX. Zahraniční firmy musí ovšem čelit významné domácí konkurenci. Tou největší jsou pro ně například M&M Reality nebo Realitní kancelář STING. [6] 2.6.1 M&M Reality Firma M&M Reality je jednou z největších tuzemských realitních kanceláří. Má 83 poboček po celé České republice. Také je pravděpodobně nejznámější a má největší reklamní kampaně, do kterých zapojuje i slavné osobnosti. Náhled na titulní stránku firmy M&M Reality můžete vidět na následujícím obrázku 1. Obrázek 1 Titulní stránka M&M Reality 15

Na stránkách M&M Reality lze nalézt vše, co by webová aplikace realitní kanceláře měla nabízet. Zejména se jedná o kvalitní vyhledávač, který je bohužel vytvořen jako flash aplikace, což dělá vyhledávač hezčím, ale mnohem pomalejším. Velmi důležité jsou i ostatní stránky, na kterých návštěvník nalezne velké množství informací o firmě, jak postupovat v různých případech prodeje či nákupu nebo také širokou škálu služeb. Tato firma využívá velmi často zářivé barvy. Dokonce v podobných barvách jako je tato webová aplikace mají firemní auta, která jezdí po celé České republice, a jsou tak významnou součástí reklamních kampaní. [7] 2.6.2 RE/MAX Realitní kancelář RE/MAX má obrovskou síť realitních kanceláří po celém světě. Jako jediná působí v celé Evropě. Původně pochází z Ameriky a na Český trh vstoupila v roce 2005. Po České republice má celkem 132 poboček. [8] Obrázek 2 Titulní stránka RE/MAX Při pohledu na titulní stránku realitní kanceláře RE/MAX jednoznačně vidíme, že je mnohem jednodušší, než stránky předchozí M&M Reality. Kombinace barev působí v porovnání s M&M Reality decentně. Spíše návštěvníka nijak výjimečně nezaujmou. Vyhledávač je rozdělen na několik samostatných stránek. Na titulní stránce lze zvolit druh nemovitosti, případně s nějakým upřesněním. V dalším kroku lze zvolit hledaný kraj. Poté již ve vyhledávači lze změnit kritéria vyhledávání. 2.6.3 STING Další z velkých realitních kanceláří na tuzemském trhu je realitní kancelář STING. Řadí se mezi tři největší realitní kanceláře v České republice. Má 35 poboček po celé České republice. Na obrázku 3 můžete vidět její titulní stránku. [9] 16

Obrázek 3 Titulní stránka STING Tyto stránky jsou na jednu stranu decentní, ale zároveň člověka zaujmou zářivě žlutou barvou. Kromě důležitých stránek o firmě a službách, které nabízí, naleznete na titulní stránce vyhledávač. Tvoří ho dvě části. Výpis typů nemovitostí a 3D mapa České republiky, která je sice velmi propracovaná, ale působí složitě. 2.6.4 TANA Obrázek 4 Titulní stránka TANA 17

Předchozí tři realitní kanceláře jsou na Českém trhu velmi známé. Další velmi známou, ale ne příliš velkou, je realitní kancelář Tana, která působí hlavně v Severních a Východních Čechách. Tato realitní kancelář využívá jako reklamní kampaň vlastní realitní noviny, které vydává každé dva měsíce. Titulní stránku můžete vidět na obrázku 4. [10] Webová aplikace realitní kanceláře TANA využívá zářivé barvy. Velmi jednoduše návštěvníka zaujme. Nabízí pouze jednoduchý vyhledávač, který sice vyhledává pouze podle několika atributů nemovitosti, ale velmi rychle a spolehlivě nalezne požadované inzeráty. 2.6.5 Porovnání konkurenčních aplikací Některé firmy zvolily zářivé barvy, některé naopak barvy decentní. Velmi důležitou položkou ve webové aplikaci je kvalitní vyhledávač. Nejlépe na jedné stránce a s mapou krajů České republiky. Mapa by neměla být flashová aplikace, protože je zbytečně náročná a pomalá, naopak mapy napsané v JavaScriptu mohou mít také problémy se zobrazením, protože uživatel může mít JavaScript v prohlížeči zakázán. Každopádně by všechny webové aplikace takto velkých firem měly být validní. M&M reality Klady: Síť 83 poboček po celé České republice. Pomocí reklamních kampaní nejznámější realitní kancelář. Využívá k nim k známé osobnosti. Výrazné barvy, které využívají i na firemní auta. Zápory: Vyhledávač pomocí flashové aplikace, která je oproti JavaScriptovým vyhledávačům mnohem náročnější a také pomalejší. Vyhledávač obsahuje pouze základní údaje o nemovitosti. Stránky obsahují velké množství informací, což často působí velmi složitě. Nevalidní webové stránky. 18

RE/MAX Česká republika Klady: Celosvětová a finančně stabilní firma. Celkem 132 poboček v České republice. Podrobný vyhledávač. Zápory: Stránky nejsou tak poutavé pro návštěvníka, jako konkurenční. Vyhledávač rozdělený na více stránek zdržuje od dosažení cíle. Nevalidní webové stránky. Sting Klady: Patří mezi tři největší realitní kanceláře v České republice. V České republice má 36 poboček. Propracovaný vyhledávač. Validní webové stránky. Zápory: Vyhledávací 3D mapa působí velmi složitě. TANA Klady: Jednoduchý a rychlý vyhledávač, který bude fungovat vždy. Reklamní kampaň formou tisku vlastních realitních novin. Validní webové stránky. Zápory: Spíše regionální zastoupení v České republice. Má pouze 17 poboček. Nemá vyhledávací mapu, která vždy zaujme návštěvníka. 19

2.6.6 Porovnání s vlastní aplikací Tato webová aplikace má v porovnání s aplikacemi konkurenčních realitních kanceláří mnoho výhod. Hlavní výhodou jsou z pohledu návštěvníka velmi jednoduché a intuitivní webové stránky. Konkurenční webové aplikace mají vyhledávač buď pouze základní nebo zbytečně moc náročný a pomalý, případně složitý. Tato aplikace nabízí několik způsobů vyhledávání. Jednou z možností je vyhledání požadovaných nemovitostí pomocí rychlých odkazů. Další možností je vyhledání z titulní stránky pomocí výběru typu nemovitosti a kliknutí na odpovídající kraj na mapě České republiky. V obou případech aplikace provede vyhledání nemovitostí podle zadaných kritérií a přesune uživatele na stránku, která se věnuje vyhledávání. Ta mu dále nabízí velmi široké spektrum kritérií pro vyhledávání. Díky tomuto řešení webová aplikace splňuje možnost rychlého a jednoduchého vyhledání nemovitosti podle základních kritérií, ale také je poté možno kritéria velmi rozšířit. Takto rozšířené vyhledávání nenabízí ani jedna z konkurenčních aplikací. Na konkurenčních webových stránkách lze velmi často nalézt velké množství informací o firmě a jejích službách. Velmi často se jedná až o příliš veliké množství dat, které poté působí na návštěvníka složitě. Některé konkurenční webové stránky jsou dokonce nevalidní, což je považováno vždy za velkou chybu. Tato aplikace je plně validní. 20

3 Praktická část V této části naleznete webovou aplikaci pro informační systém realitní kanceláře, který je tématem této bakalářské práce. Aplikace je zobrazena postupně od uživatelského prostředí až po uživatelské role a práva z nich vyplývající. Dále zde naleznete návrh databáze v MySQL s popisem jednotlivých tabulek a vybrané zdrojové kódy aplikace. 3.1 Návrh systému, pro koho je určen, funkcionalita 3.1.1 Představení aplikace Tento informační systém realitní kanceláře je webová aplikace, která je určena realitní kanceláři k prezentaci svých inzerátů na internetu. Jejím účelem je, aby mohla realitní kancelář oslovit co největší množství potenciálních zákazníků. K vytvoření aplikace bylo použito základních programovacích technologií, které se běžně používají k tvorbě webových stránek. Zdrojový kód je napsán v jazyce PHP. Také byl použit skriptovací jazyk JavaScript. Data jsou uložena v databázi MySQL. 3.1.2 Využití Aplikace má dva možné pohledy využití. První je z pohledu návštěvníka a druhý z pohledu samotné realitní kanceláře respektive jejích pracovníků. Návštěvník webových stránek může procházet a vyhledávat inzeráty, které jsou uložené v databázi. Dále si může zobrazit detailní informace o inzerátu nebo si pročíst ostatní stránky, které informují návštěvníky o této realitní kanceláři. Jednou z nich je stránka nazvaná služby. Ta obsahuje informace o všech službách, které firma nabízí. o nás je stránka, kde naleznete další informace o firmě. Poslední stránkou v hlavním menu jsou kontakty, které obsahují adresy a telefonní kontakty do realitní kanceláře. Pokud se návštěvník přihlásí, získá další práva na těchto webových stránkách. Konkrétně je mu umožněno přidávat komentáře k jednotlivým inzerátům. Na tyto komentáře může později dostat odpověď od pracovníka realitní kanceláře nebo přímo od makléře, který je přidělen k danému inzerátu. Druhý z pohledů nabízí rozsáhlé možnosti administrace a správy. Jedná se uživatelské role moderátor, makléř a administrátor, ale u makléře se jedná pouze o specifická práva. Roli moderátora by měli získat pracovníci v realitní kanceláři, roli administrátora ředitel realitní kanceláře a roli makléře pouze skuteční makléři. Hlavní částí webové aplikace je správa inzerátů. Jedná se hlavně o vytvoření, upravení, smazání nebo změnu stavu inzerátu. Potřebná práva k těmto úkonům mají pouze moderátoři a administrátor. Tato práva mají z důvodu ochrany firmy, protože pokud by mohl inzeráty přidávat i obyčejný uživatel, tak by firma přicházela o zisky. Hlavním problémem by byl přímý kontakt na majitele nemovitosti. Proto má realitní kancelář pracovníky, kteří se starají o správu inzerátů a pracovníky, kteří se starají o samotný prodej, jimiž jsou makléři. 21

3.1.3 Uživatelské prostředí Grafické prostředí je uživatelsky přívětivé a má velmi jednoduché ovládání. Na obrázku 5 můžete vidět hlavní rozdělení celé stránky. Obrázek 5 Hlavní rozdělení celé stránky Celá stránka je rozdělena na tři části. V horní části můžete vidět hlavičku stránky. Ta je označena červeným rámečkem. Jejím hlavním úkolem je graficky zapůsobit na návštěvníka stránek, ale také obsahuje důležitý zdrojový kód. Zejména se jedná o přihlášení do aplikace nebo případnou registraci nového uživatele. Také obsahuje pomocnou lištu, která slouží jako druhé menu. V tomto menu se po přihlášení zobrazí veškerá tlačítka, ke kterým má daný uživatel přidělena práva. Střední část je hlavní částí celé stránky, která navíc obsahuje lištu s hlavním menu (se zeleným rámečkem). Toto menu je stále stejné pro všechny uživatele. V hlavní části se zobrazují všechny stránky, které jsou v aplikaci k dispozici. Poslední částí je patička stránky (zobrazena hnědým rámečkem). Ta zobrazuje pouze autora webové aplikace a obrázkové odkazy, na kterých je možné zjistit, že je celá stránka validní. 22

Obrázek 6 Úvodní stránka webové aplikace Na úvodní stránce můžete vidět jednoduché rozdělení, které by mělo přispět uživateli k rychlému vyhledání inzerátů, o které se návštěvník zajímá. Stránka je rozdělena na několik částí. Nejnovější inzeráty zobrazují čtyři inzeráty, které byly naposled přidány. Rychlé vyhledávání umožňuje rychle vyhledat inzeráty pouze pomocí vybrání typu nemovitosti a kliknutím na vybraný kraj v České republice. Nebo může uživatel využít rychlé odkazy, kde pouhým kliknutím na odkaz zobrazí danou kategorii. Poslední částí jsou aktuality. Těm je věnován celý sloupec po pravé straně a zobrazují se vždy tři nejnovější aktuality. 3.1.4 Uživatelské role V této webové aplikaci je použito několik uživatelských rolí, které dávají uživatelům různá práva při práci s aplikací. Celkově jsou čtyři druhy uživatelských rolí. Uživatelské role jsou přiděleny až po přihlášení, které však není nutné. Každý uživatel má pouze jednu uživatelskou roli. Názornou ukázku práv jednotlivých uživatelských rolí můžete vidět na UML aktivity diagramu. 23

Obrázek 7 UML aktivity diagram Neregistrovaný uživatel: Má práva pouze k vyhledávání a prohlížení inzerátů. V případě zájmu o nemovitost musí použít buď e-mailový formulář, který zašle e-mail do realitní kanceláře, nebo kontaktovat přímo makléře, jenž je u dané nemovitosti uveden. Nemá práva k diskutování u inzerátů, správě inzerátů ani administraci webové aplikace. 24

Registrovaný uživatel: Má práva vyhledávání a prohlížení inzerátů na webových stránkách. Může přidávat příspěvky do diskuzí u inzerátů. Nemá práva ke správě inzerátů ani administraci. Moderátor: Tato role je určena pracovníkům realitní kanceláře. Má práva vytvářet, upravovat a mazat jednotlivé inzeráty. Přidávat obrázky k inzerátům přímo na server přes webové rozhraní a diskutovat u inzerátů. Má omezená práva k administraci webové aplikace. Může přidávat některé atributy inzerátů. Makléř: Tato role je určena pro makléře, kteří jsou zaměstnáni u realitní kanceláře. Mají možnost vyhledávat a pracovat s webovou aplikací, ale nemají práva pracovat s inzeráty ani administrací. Má možnost nahlédnout, jaké mu jsou přiděleny inzeráty, aby mohl reagovat na případné dotazy v diskuzi. Administrátor: Tato role je určena správci webových stránek, případně řediteli realitní kanceláře. Jedná se o roli s nejvyššími právy. Obsahuje všechna práva předchozích rolí kromě zobrazení přidělených inzerátů makléři. Může měnit práva jednotlivých uživatelů. Může povolit nebo zakázat přístup uživateli na webové stránky v případě nevhodného chování v diskuzích. Může přidávat některé atributy inzerátů. Má přístup do stránky logs, která zobrazuje veškerou aktivitu uživatelů. 25

3.1.5 Funkce aplikace Přidání inzerátu: Základní funkcí této aplikace je přidání inzerátu. K této funkci musí mít uživatel dostatečná práva, aby ji mohl provést. Na obrázku 8 můžete vidět formulář k vytvoření nového inzerátu. Obrázek 8 Úvodní stránka webové aplikace Nový inzerát bude přidávat pracovník realitní kanceláře, který bude mít uživatelskou roli moderátora. Ke každému inzerátu musí moderátor přiřadit makléře. Většinou se bude jednat o makléře, který již je v kontaktu s konkrétním zákazníkem. Ve vybíracích seznamech se zobrazují položky přímo z databáze, takže se jedná o plně variabilní systém. Přidání inzerátu má několik povinných položek. Tyto položky jsou označeny červenou hvězdičkou a je nutné je vyplnit, jinak formulář vypíše chybu, že uživatel nevyplnil požadované položky a současně vypíše, o které se jedná. 26

Inzerát: Stránka inzerát zobrazuje všechny informace, které jsou o daném inzerátu uloženy. Tato stránka je složena z několika částí. Nejprve zobrazuje nejdůležitější informace o daném inzerátu. Dále velké množství podrobností o nemovitosti. Velmi důležitý je také kontakt, který zákazník využije v případě zájmu o danou nemovitost. K tomuto účelu může kontaktovat přímo makléře, který je k inzerátu přiřazen nebo využít webový formulář. Poslední částí inzerátu je diskuze. Základní informace o inzerátu představují ty nejdůležitější data o nemovitosti, jejím umístění, konstrukci a ceně. Také jsou zobrazeny fotografie patřící k nemovitosti. Fotografie je možné kliknutím zvětšit. Tuto část inzerátu můžete vidět na obrázku 9. Obrázek 9 Základní informace o inzerátu Další částí inzerátu jsou podrobné informace o nemovitosti. Jedná se o detailní informace například o rozloze pozemku, roku výstavby, způsobu vytápění, zasíťování pozemku, případně další využitelné příslušenství. Také je zde část věnující se občanské vybavenosti dané lokality. V této části se návštěvník dozví zda je v blízkém okolí například lékař, obchod, pošta, školy či informace o dopravní obslužnosti. Tyto informace si můžete prohlédnout na následujícím obrázku 10. 27

Obrázek 10 Detailní informace o nemovitosti V případě zájmu o nemovitost je možné využít dva způsoby, jak realitní kancelář kontaktovat. Kontaktovat přímo makléře, který má nemovitost na starost a domluvit si s ním případnou schůzku, nebo využít webový formulář. Tento formulář po vyplnění odešle dotaz zájemce i s kontaktními údaji do realitní kanceláře, kde budou předány makléři a ten později bude zájemce kontaktovat. Tyto části inzerátu můžete vidět na následujících obrázcích 11 a 12. Obrázky 11 a 12 Kontakty na makléře a do realitní kanceláře 28

Poslední částí inzerátu je diskuze. Každý inzerát má vlastní diskuzi. K vložení nového příspěvku do diskuze je nutné mít dostatečná práva. Tato práva má každý registrovaný a zároveň přihlášený uživatel. Příklad diskuze můžete vidět na obrázku 13. Obrázek 13 Diskuze k inzerátu Administrace inzerátu: Pod pojmem administrace inzerátu se skrývají všechny možnosti práce s inzerátem. K administraci inzerátu je nutné, aby uživatel měl dostatečná práva. Jedná se o role moderátora a administrátora. Tyto uživatelé uvidí u každého inzerátu další pomocné menu, které k administraci slouží. Můžete ho vidět na následujícím obrázku 14. Obrázek 14 Pomocné menu k administraci inzerátu Hlavním bodem administrace inzerátu je určitě upravení inzerátu. V případě, že při zadávání inzerátu do systému udělá uživatel chybu, může inzerát pouze upravit a tím pádem nemusí vytvářet celý inzerát znovu. Po kliknutí na tento odkaz bude uživatel přesměrován na stránku, která je podobná formuláři pro přidávání inzerátu. Rozdíl je pouze v tom, že všechny položky jsou již vyplněny tím daným inzerátem, takže oprava chyby je jen jednoduchá práce. Neméně důležitým odkazem je přidání obrázku k inzerátu. Pomocí kvalitních obrázků si každý návštěvník webových stránek dokáže udělat představu o dané nemovitosti a jejím stavu. Přidání obrázku je velmi jednoduché. Po kliknutí na odkaz přibude na stránce inzerátu políčko pro vybrání souboru na disku a tlačítko k odeslání. Po vybrání obrázku a kliknutí na tlačítko dojde ke kontrole vlastností souboru. Přidat lze pouze obrázky ve formátu: *.jpg, *.png, *.jpeg, *.pjpeg. Další kontrolovanou vlastností je velikost souboru. Na server je možné nahrát soubory do velikosti 1MB. Také nesmí 29

již v dané složce existovat soubor se stejným názvem. Tyto soubory, pokud splní všechny podmínky, budou nahrány na server do složky fotogalerie, ve které se vytvoří ještě složka s číslem inzerátu. Také do názvu souboru bude přidáno číslo inzerátu. Tlačítka prodáno a ukončit inzerát znamenají, že se již inzerát nebude zobrazovat v nabídce aktuálních inzerátů ani ve vyhledávání. Dojde ke změně stavu inzerátu na prodáno, respektive ukončeno. Poté je možné tyto inzeráty vyhledat v prodaných nebo ukončených inzerátech. Také je možné tyto inzeráty opětovně aktivovat tlačítkem, které přibude v pomocném menu inzerátu. Posledním tlačítkem v pomocném menu inzerátu je smaž inzerát. Po kliknutí na toto tlačítko dojde k postupnému smazání záznamů ze všech tabulek v databázi, které obsahovaly nějaký záznam o daném inzerátu. Nejprve je však nutné smazat všechny obrázky, které jsou k nemovitosti přiřazeny. Takže si vypíšeme z databáze z tabulky b_obraz všechny záznamy se správným id_nemovitosti, která je přiřazena k tomuto inzerátu. A tyto obrázky smažeme z pevného disku serveru. Poté smažeme i prázdnou složku, která se jmenuje podle čísla inzerátu. V tu chvíli je inzerát úplně smazán. Vyhledávání: Na stránku vyhledávání je možné se dostat buď z titulní stránky využitím některého z rychlých vyhledávání nebo pomocí odkazu v hlavním menu. Stránka je rozdělena na tři části: Hlavní vyhledávácí formulář, rozšířené vyhledávání a zobrazení výsledků. Obrázek 15 Hlavní vyhledávací formulář Hlavní vyhledávácí formulář nabízí vyhledávání pouze podle základních údajů o nemovitosti. Položky vybíracího seznamu jsou vypisovány přímo z databáze, takže je možné kdykoliv vyhledávat podle nejaktuálnějších údajů. Dále formulář obsahuje seznam konstrukčních materiálů a dispozic. Tyto údaje jsou také vypisovány z databáze a jejich množství se může měnit. U těchto prvků formuláře je možné současně vybrat více kritérií podle kterých bude vyhledávač pracovat. 30

Obrázek 16 Rozšířené vyhledávání Rozšířené vyhledávání je k dispozici po kliknutí na odkaz rozšířené vyhledávání. Pod hlavní vyhledávacím formulářem se objeví další formulář se zaškrtávacími políčky, která rozšíří kritéria pro vyhledávání. Jedná se o detailní informace například způsobu vytápění, zasíťování pozemku, dalšího příslušenství nebo občanské vybavenosti v blízkém okolí nemovitosti. V poslední části se zobrazí inzeráty, které splňují všechna kritéria zadaná při vyhledávání. Administrace: Obrázek 17 Výsledky vyhledávání Obsah této stránky může zobrazit pouze uživatel s dostatečnými právy. Jedná se o role administrátora a moderátora. Avšak role moderátora má omezenou funkčnost administrace. Zásadním rozdílem je možnost administrátora měnit práva uživatelů. Administrace obsahuje několik částí. Dříve zmíněná možnost měnit práva uživatelů je umožněna pomocí následující tabulky, kde kliknutím na požadovanou roli a kliknutím na tlačítko dojde ke změně práv uživatelů. Tuto funkci může využít pouze administrátor. Příklad je zobrazen na obrázku 18. Obrázek 18 Změna práv uživatelů 31

Další funkcí, kterou může využít pouze administrátor je povolení nebo zabránění přístupu uživatele. Tato funkce je využitelná v případě, že je některý uživatel neukázněný v diskuzi. Nejčastěji využívá sprostá slova nebo uráží ostatní uživatele. Jak funkce vypadá můžete vidět na obrázku 19. Obrázek 19 Povolení přístupu uživatele Formulář pro přidání aktuality může využít administrátor i moderátor. Obsahuje dvě položky. Těmi jsou nadpis a text. Po odeslání je aktualita zobrazena na titulní stránce webové aplikace. Formulář pro přidání aktuality můžete vidět na obrázku 20. Obrázek 20 Formulář pro přidání aktuality V administraci také nalezneme formuláře pro přidání obce a dispozice. Oba formuláře jsou povoleny rolím administrátora i moderátora. Přidat obec je nutné v případě, že webová aplikace neobsahuje danou obec. Obec musí být přiřazena do správného kraje, aby bylo později možné správně vyhledávat. Přidat dispozici je nutné v případě, že má nemovitost atypické rozložení místností. Oba formuláře můžete vidět na následujících obrázcích 21 a 22. Obrázky 21 a 22 Formuláře pro přidání obce a dispozice do systému 32

Makléři: Stránka makléři zobrazuje informace o všech makléřích, které realitní kancelář má. Tato stránka se zobrazí pouze administrátorovi a moderátorovi. Jejím hlavním úkolem je rychlé vyhledání kontaktů na daného makléře. Příklad této stránky můžete vidět na následujícím obrázku 23. Registrace: Obrázek 23 Stránka makléři Nový uživatel, který chce přidávat příspěvky do diskuzí, musí projít registrací. Ta je volně přístupná pro každého návštěvníka. Po registraci získá návštěvník roli nazvanou uživatel. Obrázek 24 Registrace nového uživatele 33

V případě smluvní spolupráce uživatele s realitní kanceláří může administrátor zvýšit práva uživatele na některou další roli. Tento krok bez registrace není možný. Při vyplňování formuláře jsou kontrolována zadávaná data. Zejména zda již neexistuje uživatel se stejným uživatelským jménem. Stejným způsobem je prováděna kontrola zadávaného e-mailu, který také musí být unikátní. Dále je nutné vyplnit ve správném tvaru telefon a PSČ. Všechna vstupní pole formuláře jsou povinná a je nutné je správně vyplnit, jinak nedojde k registraci uživatele. Logs: Webová stránka logs zobrazuje veškerou aktivitu uživatelů webové aplikace. Každá činnost, která je prováděna ve webové aplikaci, je zaznamenána do databáze. Jedná se například o přihlášení a odhlášení uživatele, správu inzerátu, práci s obrázky nebo změnu stavu inzerátu. Přístup do této stránky má pouze administrátor. Na obrázku 25 můžete vidět zobrazení této stránky. Obrázek 25 Stránka logs 34

Přidělené inzeráty: Pouze uživatel s uživatelskou rolí makléř má přístup do této stránky. V ní jsou zobrazeny všechny aktivní inzeráty webové aplikace, které jsou danému makléři přiřazeny. Makléř takto získá snadný přístup pouze k těmto inzerátům a případně může odpovídat na příspěvky v diskuzi u daného inzerátu. Tuto stránku můžete vidět na obrázku 26. Prodané a ukončené inzeráty: Obrázek 26 Stránka přidělené inzeráty makléři Stránky s prodanými a ukončenými inzeráty jsou přístupné uživatelům s uživatelskou rolí moderátora a administrátora. Na těchto stránkách se zobrazují ukončené nebo prodané inzeráty. Pokud má inzerát jeden z těchto stavů, není již zobrazován v nabídce inzerátů ani ve vyhledávači. Inzeráty je možné znovu aktivovat, aby se opět zobrazily v hlavní nabídce. Příklady stránek s prodanými a ukončenými inzeráty můžete vidět na následujících obrázcích 27 a 28. Obrázek 27 Stránka ukončených inzerátů 35

3.2 Databázový model Obrázek 28 Stránka prodaných inzerátů Obrázek 29 ER diagram databáze 36

Tabulka b_role obsahuje čtyři záznamy, které určují roli přiřazenou jednotlivým uživatelům. Jsou pevně přidělena jednotlivá id. Například záznamu s id 1 je přiřazen název admin. Jedná se o roli administrátora. V tabulce b_uzivatel jsou uloženy všechny registrovaní uživatelé bez ohledu na to jakou mají přidělenou roli. Jednotlivé sloupce tabulky jsou informace o uživateli. Mezi nejdůležitější patří nick a heslo. Tyto údaje jsou nutné pro přihlášení do webové aplikace. Tabulky b_obec a b_region obsahují informace o umístění nemovitosti. V tabulce b_obec jsou záznamy obcí, které jsou přiřazeny do krajů České republiky, jenž jsou uloženy v tabulce b_region. V tabulkách b_stav_inzeratu, b_typ_inzeratu, b_typ_nemovitosti, b_dispozice, b_typ_vystavba a b_umisteni jsou uloženy pouze upřesňující informace k tabulkám b_nemovitost a b_inzerát. Tabulky b_det_site, b_prislusenstvi, b_cisla a b_obcanska_vybavenost obsahují detailní informace o dané nemovitosti. Většina položek v těchto tabulkách je tvořena datovým typem BOOL, který nabývá pouze dva stavy: 1 nebo 0. Zbylé údaje jsou číselné údaje o nemovitosti. Jedná se například o zastavěnou plochu nebo počet nadzemních podlaží nemovitosti. Tabulka b_nemovitost je spolu s tabulkou b_inzerát centrem celé navržené databáze. Tyto tabulky obsahují jen několik informací o inzerátu, respektive nemovitosti. Ostatní informace, které se k těmto tabulkám vztahují jsou v ostatních tabulkách, které jsou připojeny podle odpovídajících relačních vazeb. Tabulka b_obraz uchovává názvy jednotlivých fotografií, které jsou přiřazeny k daným nemovitostem. V tabulce b_diskuze jsou uloženy příspěvky v diskuzích k jednotlivým inzerátům. Zároveň je zde uložen autor příspěvku. Do tabulky b_aktuality se ukládají jednotlivé aktuality, které se poté zobrazují na titulní stránce aplikace. Tabulka b_logs slouží k ukládání veškeré uživatelské aktivity. Každá činnost, kterou přihlášený uživatel provádí je zde uložena. 3.3 Ukázka zdrojových kódů Přihlášení do systému Přihlášení je velmi důležitou částí aplikace. Také je nutné zajistit, aby byla aplikace bezpečná. Největší nebezpečí se nachází u vstupních formulářů. Nejprve vždy dojde k odstranění případných HTML tagů pomocí funkce strip_tags();. Další důležitou 37

ochranou je obrana proti SQL injection, kde pokud není vstupní formulář dostatečně ochráněn může dojít k porušení databáze, případně i smazání celé databáze. Toto řeší následující funkce. Obrázek 30 Ochrana proti SQL injection Po ošetření vstupního formuláře dojde k získání dat z databáze o uživateli, jehož uživatelské jméno bylo zadáno při přihlašování. Poté dojde ke kontrole správnosti uživatelského jména a hesla. Heslo zadávané do formuláře je nejprve zakódováno pomocí šifrování sha1. V databázi je heslo již zašifrované. Obrázek 31 Zdrojový kód pro přihlášení 38

Pokud uživatel tuto podmínku úspěšně splní dojde k další podmínce, kde se zjišťuje, zda má povolen vstup do aplikace. Pokud splní i tuto podmínku dojde k nastavení SESSION a uložení informací o tomto uživateli do ní. Také dojde k uložení informace o úspěšném přihlášení uživatele do tabulky b_logs. V případě, že uživatel nesplňuje některou z podmínek je vypsána odpovídající chybová zpráva. Nahrání fotografie na server Obrázek 32 Zdrojový kód pro nahrání obrázku na server 39

Nahrávaná fotografie musí před samotným nahráním splnit několik podmínek. Musí být menší než 1MB. Musí se jedna o soubor s příponou *.png, *.jpg, *.pjeg nebo *.jpeg. Poté je soubor přejmenován tak, že mu je na začátek názvu přidáno číslo inzerátu a pomlčka. Dále je ve složce fotogalerie/ vytvořen nový adresář s názvem čísla inzerátu. Poté je již fotografie uložena na disk na serveru. Také je název obrázku spolu s číslem inzerátu uložen do databáze do tabulky b_obraz. 3.4 Uživatelská příručka Uživatelské příručka je rozdělena na jednotlivé části podle role, která je uživateli přidělena. Každá část popisuje práva a možnosti uživatele. Nejvyšší pravomoc má administrátor, nejmenší neregistrovaný uživatel. Role neregistrovaného uživatele Neregistrovaný uživatel nemá žádná výhradní práva. Tento uživatel může pouze vyhledávat a prohlížet jednotlivé inzeráty. Pokud má zájem o vybranou nemovitost, může využít e-mailový formulář u daného inzerátu, ve kterém zanechá kontaktní údaje a poté ho bude náš makléř kontaktovat. Případně může kontaktovat přímo makléře pomocí kontaktů uvedených u daného inzerátu. Má možnost se zaregistrovat a tím získat další práva jako registrovaný uživatel. Role registrovaného uživatele Registrovaný uživatel může procházet a vyhledávat inzeráty. Navíc může u každého inzerátu přidávat příspěvky do diskuze. Registrovanému uživateli může administrátor změnit práva, případně mu povolit nebo zakázat přístup. Role moderátora Moderátor může procházet celými stránkami. Tato role je určena pracovníkům realitní kanceláře, kteří mohou spravovat veškeré inzeráty ve webové aplikaci. Uživatel má práva k vytváření nových inzerátů. K inzerátům může přidávat nové fotografie, jež se nahrávají přímo na server pomocí webového rozhraní u inzerátu. Také může inzeráty upravovat nebo mazat. Moderátor má také možnost vidět veškeré údaje o makléři, aby ho mohl rychle kontaktovat. Má omezené možnosti administrace. Může přidávat vybrané atributy inzerátu, například další obce nebo atypické dispozice. Role makléře Makléř může také procházet celé stránky. Nemůže však spravovat inzeráty, ani obrázky k nim přiřazené. Jeho hlavní možností je, že si může nechat vypsat jen inzeráty, které mu jsou přiděleny. U těchto inzerátů může poté reagovat na případné dotazy v diskuzi. 40

Role administrátora Administrátor má veškerá práva, která se v aplikaci vyskytují, kromě výpisu inzerátů přidělených jednotlivým makléřům. Administrátor má stejná práva jako moderátor, ale navíc může měnit práva uživatelů a nebo případně povolit či zakázat přístup uživateli, který se nevhodně choval v diskuzích. 3.5 Instalační příručka Na přiloženém CD se zdrojovými soubory projektu naleznete složku se zdrojovými kódy, které je nutné překopírovat na FTP server, jenž budete používat. Dále je nutné nastavit složce fotogalerie/ práva na 0777, aby měla aplikace možnost nahrávat nové fotografie do fotogalerie/. Dále je u složky nastavit, aby se práva projevila i u podsložek zatržením příkazu včetně podsložek. Tímto zajistíme, aby aplikace mohla v této složce vytvářet nové adresáře. Druhým krokem je vytvoření databáze. V administračním rozhraní aplikace phpmyadmin vložte celý obsah souboru nazvaného databaze.txt. Tímto dojde k vytvoření databáze a vložení základních dat do ní. Dále je nutné v souboru sql.php nastavit přístupové údaje k databázi. Soubor sql.php je umístěn v adresáři conf/. V databázi existuje uživatel admin, který slouží k prvotnímu nastavení práv uživatelů. Přístup je pomocí uživatelského jména admin a hesla 123. Později je nutno tomuto uživateli odebrat přístup do aplikace z důvodu bezpečnosti. 41

4 Závěr V rámci této práce byla vytvořena plně funkční webová aplikace pro realitní kancelář. Aplikace umožňuje všechny požadované funkce. Zejména byl kladen důraz na správu inzerátů a kvalitní vyhledávač. Dalšími splněnými podmínkami jsou jednoduché a uživatelsky přívětivé ovládání, kvalitní prezentace firmy a plně validní webové stránky. Aplikaci je kdykoliv možné upravit dle přání jednotlivých realitních kanceláří. Pokud bude někdy aplikace uvedena do ostrého provozu, tak očekávám nutnost vylepšování stávajícího systému o nové poznatky získané v praxi. Zdrojové kódy ani náhled do administrativní části žádná firma neposkytne z důvodu snížení rizika bezpečnosti jejich aplikace. Proto bylo možné provést analýzu pouze části určené návštěvníkům konkurenční webové aplikace. Zejména vzhled, viditelně použité technologie, pomocné stránky a vyhledávání. Vypracováním tohoto projektu jsem si rozšířil své dosavadní znalosti v programovacím jazyce PHP a relační databázi MySQL. 42

Literatura 1. LACKO, Luboslav. PHP a MySQL : Hotová řešení. Vydání první. Brno : CP Books, a.s., 2005. 292 s. ISBN 80-251-0397-8. 2. MRÁZEK, Gustav. Základy HTML [online]. 2004 [cit. 2011-05-06]. Úvod. Dostupné z WWW: <http://html.gimiweb.net/page/uvod_cz.php>. 3. ŽĎÁREK, Roman. Amatérská tvorba Webu [online]. 2004 [cit. 2011-05-06]. Úvod do PHP. Dostupné z WWW: <http://www.jakdelatweby.cz/php/uvod-do-php.php>. 4. JANOVSKÝ, Dušan. Jak psát web [online]. 2011, 2.5.2011 [cit. 2011-05-06]. Javascript - úvod. Dostupné z WWW: <http://www.jakpsatweb.cz/javascript/javascript-uvod.html>. 5. JANOVSKÝ, Dušan. Jak psát web [online]. 2011, 2.5.2011 [cit. 2011-05-06]. Úvod do CSS. Dostupné z WWW: <http://www.jakpsatweb.cz/css/css-uvod.html>. 6. ČTK. Počet realitních kanceláří v Česku loni poprvé za deset let klesl. Realit [online]. 30.3.2011, 3, [cit. 2011-05-06]. Dostupný z WWW: <http://www.realit.cz/aktualita/pocet-realitnich-kancelari-v-cesku-loni-poprve-zadeset-let-klesl>. 7. M&M Reality holding a. s. M&M reality : Oblíbená realitní kancelář - byty, domy, pozemky [online]. 2011 [cit. 2011-05-05]. Dostupné z WWW: <http://www.mmreality.cz/cs/>. 8. Effectix.com s.r.o. Reality RE/MAX Česká republika : realitní kanceláře, prodej nemovitostí [online]. 2010 [cit. 2011-05-05]. Dostupné z WWW: <http://www.remaxczech.cz/>. 9. Realitní kancelář STING, s. r. o. Reality, byty : Realitní kancelář STING [online]. 1997 [cit. 2011-05-05]. Dostupné z WWW: <http://www.rksting.cz/>. 10. ebrána s.r.o., www.ebrana.cz. Byty, domy, pozemky : TANA realitní kanceláře [online]. 2011 [cit. 2011-05-05]. Dostupné z WWW: <http://www.tana.cz/>. 11. TAUFER, Ivan, KOTYK, Josef a JAVŮREK, Milan. 2009. Jak psát a obhajovat závěrečnou práci bakalířskou, diplomovou, rigorózní, disertační, habilitační. Pardubice : Univerzita Pardubice, 2009. ISBN 978-80-7395-157-3. 43

Příloha A Instalační CD Přílohu tvoří instalační CD se zdrojovými kódy, které jsou nutné ke spuštění aplikace na serveru. Obsahuje naprogramované zdrojové kódy, soubor s SQL příkazy, které jsou nutné ke spuštění databáze MySQL a návod ke správné instalaci. 44