Lucrare de licență [303430]

UNIVERSITATEA „DUNĂREA DE JOS” [anonimizat]. univ. dr. Maria Cristina ENACHE

Absolvent: [anonimizat], 2017

Capitolul 1 – Introducere

Turismul și-a constituit în timp o [anonimizat], politică și motivațională. [anonimizat], a elaborării programului (dimensiunea și structura activității), cât și în desfășurarea ei corectă și apoi în procesul final al verificării rezultatelor. Piața reprezintă astfel o [anonimizat].

Anual, tot mai mulți turiști renunță la tradiționalele metode de a-și alege destinația de vacanță. Rezervarea biletelor avia și alegerea de sine stătător a hotelului este soluția pentru care optează majoritatea turiștilor. O [anonimizat] a [anonimizat]. [anonimizat] o filtrare a [anonimizat] .

[anonimizat] a [anonimizat] a acesteia, devenind astfel necesară studierea în detaliu a [anonimizat] a elementelor componente ale acesteia: cererea și oferta turistică. [stiucum]

Turismul, [anonimizat]-o manieră aparte a resurselor naturale și patrimoniului antropic a devenit ramura economică cu impact major asupra lumii contemporane. A [anonimizat] i se acorde atenția cuvenită. [rasfoiesc]

Piața turistică este o componentă a pieței în mod general și a [anonimizat]. O primă definiție a pieței turistice trebuie realizată pornind de la conținutul ce i-a fost atribuit de teoria economică. Astfel, [anonimizat], [anonimizat]. [rasfoiesc]

[anonimizat] a [anonimizat]. Din acest punct de vedere piața turistică reprezintă sfera economică de interferența a [anonimizat], [anonimizat].

[anonimizat]: cererea și oferta turistică.

O primă particularitate a pieței turistice rezultă din rolul determinant al ofertei turistice. Oferta este percepută de către cerere sub forma unei „imagini”, construită prin cumularea și sintetizarea tuturor informațiilor primite și acumulate de fiecare turist potențial. Astfel, decizia de consum turistic se poate adopta numai în raport cu imaginea ofertei. Mai mult, contactul direct cu oferta turistică se stabilește de abia în timpul consumului.[stiucum]

Capacitatea de cazare reprezintă elementul esențial al bazei materiale turistice de care este organic dependentă însăși dezvoltarea activităților turistice. Există o continuă corelație între mărimea, structura și gruparea bazei materiale de cazare cu intensitatea și canalizarea fluxurilor turistice sau cu apariția de noi forme de practicare a turismului, toate grefate pe un fond turistic complex. [rasfoiesc]

Hotelurile au apărut ca unități de cazare la sfârșitul evului mediu. Principala funcție a oricărui hotel este cea de cazare, dar el asociază acesteia și alte însușiri care-l transformă adesea într-o celulă clasică a habitatului turistic sau chiar într-un obiectiv turistic de sine stătător. Pe lângă funcția de cazare, a cărei importanță se reflectă în dotările și serviciile proprii, hotelurile moderne se adaptează tipurilor de turism practicate în sfera lor de influență. Astfel în cazul turismului cultural, aceste baze vor fi dotate cu săli de conferință și proiecții, cu spații expoziționale sau pentru reuniuni științifice, iar dacă hotelul este situat într-o zona caracteristică turismului de recreere, din structură sa nu vor lipsi piscine, terenuri de tenis, discoteci, baruri. [rasfoiesc]

Pensiunile și spațiile de cazare private pun la dispoziția turiștilor anumite servicii, de calitate superioară, în regiunile locuite, dar în care lipsesc celelalte baze. Nota specifică a pensiunilor este intimitatea și veritabilitatea serviciilor, ambele se realizează prin număr redus al locurilor de cazare, amenajate în apartamente familiare și recurgerea la ospitalitatea tradițională. În orașe sunt puse la dispoziția călătorilor, în perioada de fluxuri maxime, spații de cazare cu caracter privat, durata sejurului este scurtă, iar turiștii nu apelează la alte servicii oferite de proprietari. [rasfoiesc]

1.1 Motivația alegerii temei

Am decis să aleg această temă deoarece, din punct de vedere tehnologic lumea se află într-o continuă dezvoltare, internetul făcând viața omului din ce în ce mai lejeră pe zi ce trece, ajungând astfel ca aproape orice lucru să fie poată să fie făcut sau vândut pe internet. Am considerat că o aplicație online de booking ar avea un mare impact asupra unui utilizator, deoarece acesta are acces mult mai ușor la informații despre o anumită zonă într-un timp foarte scurt. Pe de altă parte, din punct de vedere economic, turismul reprezintă o ramură importantă a economiei, deoarece prin dezvoltarea acestuia economia poate avea o creștere considerabilă, deoarece românul actual cheltuiește în medie aproximativ între 500 și 1500 de lei pentru o perioadă aproximativ 10 – 30 de zile pe an. Însă deși peste 90% din populația ‚României călătorește în scop de relaxare exista și o pondere de 5% din populație care călătorește în scop de serviciu de aceea am ales să creez o aplicație online pentru booking care să aibe integrat și posibilitatea închirierii unei mașini sau vizitarea unor anumite locații cum ar fi monumente istorice sau biserici pentru turiștii care vor să viziteze cât mai multe dintr-un oraș sau pub-uri, cafenele sau club-uri pentru amatorii de distracții și amatori celor ce apreciază mai mult viața de noapte.

1.2. Obiectivele cercetării

O aplicație online de tip booking poate fi interpretată în limba română ca un planificator de vacanțe acoperind mai multe planuri cum ar fi oferte de excursii cu cazare, oferte de cazare cu masa sau mese incluse și așa mai departe, de aceea am decis ca obiectivele cercetării să fie urmatoarele:

O simplă aplicație care poate satisface nevoile unui utilizator într-un timp foarte scurt;

Posibilitatea de inchiriere nu doar a unei camere a unei unități de cazare dar și a unui automobil pentru utilizator;

Un coș de cumpărături pentru utilizator pentru a-și vedea comenzile făcute dar și pentru a avea posiblitatea renunțării la acestea;

Acoperirea unei arii cât mai largă în zona României privind ofertele de unități de cazare;

1.3. Prezentarea capitolelor lucrării

Lucrarea este structurată pe 4 capitole.

În capitolul 1 prezintă pe scurt o introducere a lucrării cu privire importanța turismului în viața de zi cu zi precum și importanța acestuia în economia unei țări .De asemenea, am prezentat pe scurt ce cuprinde aplicația precum și motivarea alegerii temei și
importanța acesteia, și am realizat o descriere succintă a capitolelor lucrării.

În capitolul 2 am realizat o prezentare a importanței turismului online. De asemenea,
am realizat și o analiză a problemei prezentând câteva statistici asupra tendințelor
de călătorie în cadrul țării cât și în afara acestuia.

Capitolul 3 am ales să prezint proiectarea bazei de date relaționale, respectiv modelele
specifice etapei de proiectare a unui sistem online cum sunt modelul conceptual al datelor, modelul logic al datelor și modelul fizic al datelor, în cadrul modelului fizic al datelor prezentând fiecare tabel în parte cu toate caracteristicile acestora . Capitolul mai cuprinde descrierea tehnologiilor folosite pentru realizarea acestei aplicații web, precum și a instrumentelor software utilizate. Printre tehnologiile au fost utilizate PHP, MySQL, HTML, CSS, Apache, JavaScript, jQuery iar instrumentele software utilizate în dezvoltarea acestei aplicații au fost Komode IDE 10, Adobe Photoshop și MySQL Workbench.

Capitolul 4 prezintă detaliat funcționalitățile sistemului realizat atât pe partea de
front-end cât și back-end. În final, lucrarea cuprinde concluziile finale și câteva propuneri ale dezvoltării acestei aplicații în viitor.

Capitolul 2 – Stadiul actual al cercetării

2.1. Stadiul actual al cercetării

Piața de turism online din România a explodat în ultima vreme, agențiile de turism începând să exploreze spațiul virtual pentru prezentarea ofertelor. În afara site-urilor proprii, acestea își promovează ofertele și cu ajutorul portalurilor specializate în promovarea ofertelor de turism, astfel încât cei care sunt în căutarea unei vacanțe pot beneficia de o plajă bogată și variată de pachete turistice. Turismul online a căpătat în ultima vreme o importanță ridicată, turiștii putând avea rezervarea dorită, confirmată și garantată după numai câteva click-uri, realizându-se astfel o economie de timp substanțială în condiții de garanție totală. [turisminfo]

Conform datelor oferite de Remus Vișan, în 2016, industria locală de turism online a înregistrat o creștere de 30-40% față de anul 2015 și încă se mențiune la 1/3 din valoarea pieței de turism locale evaluată la 4.5 miliarde lei. Este o estimare grosso modo pe baza informațiilor din piață corelate cu evoluția pieței de turism din România.

Agențiile de turism online care își dispută piața locală de rezervări turistice online sunt Vola.ro, Paravion, Esky, Tripsta și Flygo. Primele trei agenții de turism online locale concentrează peste 77% din achizițiile făcute de turiști în mediul online, creștere confirmată și de către Lucian Boronea.[ turism20]

Turismul online a luat avânt datorită accesibilității rapide a informațiilor legate de destinații, atracții și obiective turistice, hărți, impresii și păreri ale altor turiști ce au vizitat locurile respective, creând astfel condițiile necesare alegerii unui sejur potrivit și al unei vacanțe reușite. Multitudinea de oferte de sejur, cazare, oferte speciale, last minute, early booking, circuite, croaziere, hoteluri și bilete de avion prezente în mediul online și simplitatea accesării acestora de acasă sau de la birou facilitează achiziționarea pachetelor turistice la aceleași tarife sau mai mici ca cele de agenție.

Previziunile pentru dezvoltarea turismului on line sunt foarte optimiste, având în vedere că din ce în ce mai mulți români au acces la internet. Chiar dacă piața din România este dominată de agențiile clasice, prin dezvoltarea site-urilor proprii, tot mai multe agenții au trecut de la sistemul de vânzare offline spre vânzarea prin internet, investind tot mai mult în această direcție sau în promovarea pachetelor turistice cu ajutorul portalurilor de turism – care le pot garanta accesul la un număr tot mai mare de clienți și, deci, implicit succesul pe termen lung. [turisminfo]

Piața de turism online este cel mai des frecventată de către persoane cu educație superioară și venituri medii spre mari, vârsta variind între 18 și 45 de ani. De asemenea, o mare parte dintre clienți sunt femei și locuiesc în mediul urban, în orașe cu peste 200.000 de locuitori. Bucureștiul este cel mai activ din acest punct de vedere, fiind orașul cu cea mai mare penetrare a pieței de turism online.[smark]

În final, cei care au cel mai mult de câștigat sunt turiștii, care își pot planifica mult mai rapid și mai comod vacanțele, și industria turismului, care se apropie astfel de standardele occidentale și de creșterea mult așteptată și bine meritată.[turisminfo]

2.2. Analiza cercetării

Un studiu făcut pe un grup de 300 de persoane cu participarea mai multor județe la acest sondaj, sondaj făcut cu ajutorul Google Drive, a reieșit ca mai mult de 90% din persoanele întrebate fac sau au făcut o rezervare cu ajutorul unui site de booking. Cu ajutorul unui site de booking utilizatorii pot aduna informații despre anumite oferte și chiar compara anumite oferte pentru a alege cel mai bun preț. În viitor, este mai mult probabil de a obține o creștere a procentului de oameni care au folosit pentru a căuta pe Internet o ofertă a unei pensiuni sau a unui Hotel. De asemenea, prin oferirea posibilității de rezervare online la
Hotel sau Pensiune, Unitatea dvs. poate obține mai multă popularitate în rândul publicului tânăr.

Figura 2.1 – Utilizatorii care au făcut o rezervare la hotel perioada 2010-2015[INSSE]

După cum reiese și în figura 2.1 utilizatorii au început ușor ușor să achiziționeze cât mai multe lucruri cu ajutorul internetului deoarece mediul online este foarte ușor de accesat și utilizatorii își pot face cumpărături care în mod normal ar dura o zi întreagă doar prin apăsarea unui click.

Însă nu doar nu doar mediul online a avut o creștere semnificativă în ultimii ani dar și turismul, călătoria și drumețiile fiind cea mai favorită metodă de relaxare. Potrivit site-ului de statistică INSSE.ro în 2015 românii au avut parte de aproape 18.900.000 de călătorii în care au avut un total de 76277379 de înnoptări în alte orașe. Conform graficului din figura 2.2. mulți români aleg vacanțele scurte de 1-3 zile însemnând aproximativ 4200000 de turiști care aleg să se cazeze într-o pensiune sau hotel.

Figura 2.2. Grafic-preferințele turiștilor.

Conform Federației Patronatelor din Turismul Românesc(FPTR) în jur de 155.000 deromâniși-au petrecut Revelionul în stațiunile din țară, în creștere cu 7% față de anul trecut, cheltuind aproximativ 155 de milioane de lei, cu 8% mai mult comparativ cu anul precedent. În străinătate au călătorit, prin intermediul agențiilor de turism, pentru petrecerea sărbătorilor de iarnă din acest an aproape 10.000 de români, în creștere cu 22%. Aceștia au cheltuit în afara țării, doar pentru servicii turistice, peste 6 milioane euro, sumă cu 23% mai mare față cea din anul anterior.

Chiar dacă sfârșitul de an a fost marcat de evenimente politice, economice și sociale atât peplan intern, cât și extern, acestea nu i-au mai afectat pe turiștii români la fel ca în anii anteriori, ceea ce a determinat creșterea circulației turistice în preajma sărbătorilor de iarnă.

În această perioadă s-a menținut preferința turiștilor pentru destinațiile din România, tendință care se va păstra pe tot parcursul anului 2017, pe fondul conjuncturii politice internaționale și a siguranței pe care o oferă țara noastră ca destinație de vacanță. [fptr]

Figura 2.3. Situație estimativă a locurilor vândute pentru revelion 2016/2017 în România

Din partea unui alt articol de presă aflăm că Turiștii au cheltuit peste 51 milioane lei doar pentru servicii turistice și peste 35 milioane pentru distracție. Bugetul mediu de cheltuieli estimat pentru alte servicii, în afară de cazare și mic dejun este de 100 de lei pe zi.

În topul preferințelor românilor s-au aflat pensiunile turistice, unde au sărbătorit Paștele peste 65.000 turiști. În ultimele 3 nopți ale minivacanței, în unitățile de cazare clasificate de pe litoralul românesc numărul turiștilor a scăzut, mulți preferând să sărbătorească Paștele în familie, astfel rămânând pe litoral circa 16.000 de turiști. Cu această ocazie, turiștii rămași pe litoral au primit gratuit din partea gazdelor, ouă roșii, cozonac și alte produse tradiționale de Paste.

Aproximativ 25.000 de turiști au ajuns la munte, dublu față de anul trecut. Astfel, unitățile de cazare de pe Valea Prahovei au fost ocupate în proporție de 70-80%, în timp ce în celelalte stațiuni montane gradul de ocupare a fost de până la 70%.

În stațiunile balneare numărul turiștilor a rămas ne modificat, 10.000 de turiști petrecând Paștele în aceste zone, număr similar cu cel din 2012.

De aceea consider că turismul din punct de vedere economic este una dintre cea mai importantă dacă nu cea mai importantă ramură a economiei unei țări, dar pentru aceasta este nevoie de promovare în mediul online deoarece peste aproximativ 90% din persoanele care își caută un plan pentru o vacanță ajung să găsească pe un site de tip booking.

Capitolul 3 – Proiectarea unui sistem informatic de tip booking

În acest capitol am să prezint proiectarea unei baze de date, respectiv modelele specifice etapei de proiectare a unei baze de date, cum ar fi modelul conceptual al datelor, modelul logic al datelor precum și modelul fizic al datelor în ultimul model fiind prezentat tabelele din cadrul aplicației cu fiecare atribut în parte și tipul aferent atributului.

3.1. Modelul conceptual al datelor

Nivelul conceptual constă în analiza sistemului informațional în termenii obiectivelor, fără a ține cont de nici un concept legat de organizare (”ce trebuie făcut și cu ce date?”). Trebuie studiate separat în plan conceptual, pe de o parte datele și organizarea lor și pe de altă parte prelucrările. În termeni de organizare a datelor se face apel la formalismul entitate-relație și aceasta se traduce prin entități de bază și relații între aceste entități. [V. Lupu, pag. 57]

Modelul conceptual al datelor (MCD) utilizează o abstractizare prin relație, recunoscută de Organizația Internațională de Standardizare (ISO) ca fiind o apropiere de modelul entitate-relație. Modelul conceptual al datelor reprezintă o structură generală și logică a bazei de date, structură care este independentă de software-ul utilizat sau de structura de stocare a datelor. [V. Lupu, pag. 59].

În cadrul aplicației am ales să folosesc 7 entități: Utilizator, Camera, Unitate Cazare, Transport, Oras, Regiune și Atractii. Pentru aplicație acestea vor servi drept tabele fiecare fiind caracterizată de un atribut identificator. În cadrul MCD (Fig. 3.1.) toate entitățile sunt legate între ele prin asociații.

3.2. Modelul logic al datelor (MLD)

Figura 3.1. Modelul Logic al Datelor(MLD)

Trecerea de la Modelul Conceptual de date la modelul Logic de date, trebuie respectate un set de reguli, și anume:

Fiecărei entități din MCD îi corespunde în modelul logic o schemă de relație .

Dacă există cel puțin o cardinalitate maximală 1 în relație pentru o entitate în tabelul corespunzător în MLD se adaugă cheia entității cu care intră în asociere.

Dacă ambele cardinalități maximale sunt n, se creează o nouă relație care conține cheile celor două entități și atributele asocierii.

În urma respectării celor 3 reguli enunțate modelul a avut următoarele modificări

Între entitatea Camera și entitatea Unitate de cazare, în urma cardinalității 1-n, a migrat cheia primară din entitatea unitate de cazare drept cheie străină în entitatea camera;

Între entitatea Unitate de cazare și entitatea Oraș, în urma cardinalității 1,n, a migrat cheia primară din entitatea Oraș drept cheie străină în entitatea Unitate de cazare;

Între entitatea Transport și entitatea Oraș, în urma cardinalității 1,n, a migrat cheia primară din entitatea Oraș drept cheie străină în entitatea Transport;

Între entitatea Atracții și entitatea Oraș, în urma cardinalității 1,n, a migrat cheia primară din entitatea Oraș drept cheie străină în entitatea Atracții;

Între entitatea Oraș și entitatea Regiune, în urma cardinalității 1,n, a migrat cheia primară din entitatea Regiune drept cheie străină în entitatea Oraș;

Între entitatea Utilizator, entitatea Cameră și entitatea Transport în urma cardinalității n-n, a fost creată o noua entitatea Achiziționeaza(Figura 3.3.6.) migrând toate cheile primare din entitățile Utilizator, Camera și Transport drept chei străine în entitatea Achiziționează .

3.3. Modelul fizic al datelor (MFD)

La nivelul datelor se va trece de la o clasă de soluții la una singură. Aceasta se concretizează prin utilizarea unui anumit SGBD. Se face o alegere privind metodele de stocare și de acces la informații. Se construiește la acest nivel modelul fizic al datelor (MFD) care este transformarea modelului logic al datelor (MLD) prin echivalarea noțiunilor de tablou și coloane cu noțiunile de relație și atribute din modelul logic al datelor.

Descrierea modelului fizic al datelor (MFD) este legată de SGBD-ul folosit și are la bază descrierea tabelelor utilizate în cadrul aplicației împreună cu toate elementele sale: identificatori, indecși sau reguli de integritate. [C. Georgescu, pag. 59]

Entitatea Utilizator cuprinde toate datele de identificare a utilizatorilor, dar și a persoanelor autorizate să introducă oferte și locații în baza de date după cum reiese din Figura 3.2.

Figura 3.2. Entitatea Utilizator

Entitatea Utilizator

Entitatea ,,Utilizator” este formată din șase atribute;

E-mail – VARCHAR care poate atinge o lungime maximă de 145 de caractere;

Parola – VARCHAR care poate atinge o lungime maximă de 45 de caractere;

Nume – VARCHAR care poate atinge o lungime maximă de 45 de caractere;

Prenume – VARCHAR care poate atinge o lungime maximă de 45 de caractere;

Tip-utilizator – de tip INT(INTEGER) .

În cadrul acestei entități am ales drept identificator, atributul ,,e-mail,, , deoarece acesta identifică unic fiecare utilizator înregistrat în cadrul aplicației. Aceasta este de tip VARCHAR și are o lungime de 145 de caractere.

În această entitate se află și atributul ,,Tip-utilizator,, și are rolul de a diferenția utilizatorii de tip client de utilizatorii de tip administrator. Această entitate este de tip Integer și are drept valori prestabilite 1 sau 0, 0 fiind reprezentat de utilizatorul de tip client și 1 fiind reprezentat de utilizatorul de tip administrator. În cadrul aplicației nu se pot creea conturi de administrator, crearea acestuia fiind posibilă doar prin introducerea directă în baza de date.

Entitatea Achiziționează

Figura 3.3. Entitatea Achiziționează

Entitatea Achiziționează are de a ține o evidență a rezervărilor făcute în cadrul aplicației. Această entitate, în urma trecerii de la MCD la MLD, a primit în componența sa 3 atribute cu valoarea de chei străine și anume:

Camera_idCamera care provine de la entitatea Camera;

Transport_idTransport care provine de la entitatea Transport;

Utilizator_Email care provine de la entitatea Utilizator.

Atributul Utilizator_Email alături de atributul Data Check-in vor avea și valoarea de cheie primară în cadrul acestei entități.

Entitatea Cameră

Această entitate are rolul de a ține evidența ofertelor unităților de cazare din cadrul aplicației. Aceasta este formata din:

IdCamera Integer;

Tip – VARCHAR care poate atinge o lungime maximă de 145 de caractere;

Pret – INTEGER;

Poza – VARCHAR care poate atinge o lungime maximă de 145 de caractere;

Disponibil – VARCHAR care poate atinge o lungime maximă de 45 de caractere;

Unitate_cazare_idunitate_cazare – INTEGER care în urma trecerii de la MCD la MLD acest atribut a devenit cheie străină în entitatea Camera.

În cadrul acestei entități am ales drept identificator entitatea ,,IdCamera,, , deoarece aceasta are proprietatea auto increment (entitatea pornește de la valoarea 1 și se incrementează cu fiecare înregistrare efectuată) și poate identifica unic fiecare ofertă, oferind astfel posibilitatea unui control mai ușor al bazei de date.

Am folosit entitatea ,,tip,, pentru a putea diferenția ofertele între ele, dar și pentru o utilizare mai lejeră în cadrul aplicației a ofertelor.

În cazul atributului ,,Poza,, am ales ca aceasta să fie de tip VARCHAR cu o lungime maximă de 145 de caractere și va avea drept valoarea calea spre pozele ofertelor.

Atributul ,,Disponibil,, are rolul de a verifica disponibilitatea unei camere. Aceasta are valoare implicită ,,da,, sau ,,nu,, pentru a seta disponibilitatea unei camere.

Figura 3.4. Entitatea Cameră

Entitatea Unitate de cazare

În această entitate se vor stoca date despre Unitățile de cazare din fiecare oraș, legătura dintre entitatea Unitate de cazare și entitea Oraș fiind posibilă prin atributul cu valoare de cheie străină Oras_idOras din entitatea Unitate de cazare.

Entitatea cuprinde următoarele atribute:

Idunitate cazare – integer;

Denumire – VARCHAR care poate atinge o lungime maximă de 145 de caractere;

Poza – VARCHAR care poate atinge o lungime maximă de 145 de caractere;

Descriere – VARCHAR care poate atinge o lungime maximă de 500 de caractere;

Oras_idOras – INTEGER care în urma trecerii de la MCD la MLD acest atribut a devenit cheie străină pentru această entitate.

Figura 3.5. Entitatea Unitate Cazare

Entitatea Oraș

Această entitate va cuprinde date cu toate orașele României, în care se vor regăsi oferte această entitate este legată de entitatea Regiune prin atributul cu valoare de cheie străină Regiune_idRegiune care a migrat din entitatea Regiune în urma trecerii de la MCD la MLD.

Aceasta are următoarele atribute:

IdOras – integer;

Denumire – VARCHAR care poate atinge o lungime maximă de 145 de caractere;

Descriere – VARCHAR care poate atinge o lungime maximă de 500 de caractere;

Regiune_idRegiune – INTEGER care în urma trecerii de la MCD la MLD acest atribut a devenit cheie străină pentru această entitate.

Figura 3.6. Entitatea Oraș

Entitatea Atracții Turistice

În această entitate se vor stoca date despre atracțiile turistice din fiecare oraș, legătura dintre entitatea atracții și tabela oraș fiind posibilă prin atributul cu valoare de cheie străină Oras_idOras din entitatea Atracții.

Ea cuprinde următoarele atribute;

Idatractii – integer;

Denumire – VARCHAR care poate atinge o lungime maximă de 145 de caractere;

Poza – VARCHAR care poate atinge o lungime maximă de 145 de caractere;

Descriere – VARCHAR care poate atinge o lungime maximă de 500 de caractere;

Oras_idOras – INTEGER care în urma trecerii de la MCD la MLD acest atribut a devenit cheie străină pentru această entitate.

Figura 3.7. Entitatea Atracții turistică

Entitatea Regiune

În această entitate se vor stoca date despre Regiunile României :

IdRegiune – integer;

Denumire – VARCHAR care poate atinge o lungime maximă de 145 de caractere.

Figura 3.8. Entitatea Regiune

Entitatea Transport

În această entitate se vor stoca date despre toate autoturismele disponibile dintr-un anumit oraș, legătura dintre enitatea Transport și entitatea Oraș va fi făcută cu ajutorul atributului idOras care a migrat din entitatea Oraș drept cheie străină în entitatea transport.

IdTransport – integer;

Denumire – VARCHAR care poate atinge o lungime maximă de 145 de caractere;

Descriere – VARCHAR care poate atinge o lungime maximă de 500 de caractere;

Oras_idOras – INTEGER care în urma trecerii de la MCD la MLD acest atribut a devenit cheie străină pentru această entitate.

Figura 3.9 Entitatea Transport

Capitolul 4. Realizarea sistemului informatic: Cozminge S.R.L.

În acest capitol va fi prezentat un sistem informatic reprezentând un site pentru planificarea vacanței, inclusiv cum se va realiza o rezervare în cadrul acestuia. Aplicația este dezvoltată este structurată pe două părți: interfața cu utilizatorul, unde clientul poate afla detalii despre o cameră dintr-un anumit oraș și poate face direct rezervarea online în cazul în care acesta dorește asta, sau poate afla detalii despre restaurantele, pub-urile, club-urile și despre atracțiile turistice din zona care o dorește, și o parte de administrare, care este de gestionată de un administrator sau mai mulți administratori.

4.1. Tehnologii și intrumente software utilizate în realizarea aplicației

4.1.1. Tehnologiile utilizate în realizarea aplicației

HTML & HTML5

HTML este o formă de marcare orientată către prezentarea documentelor text pe osingură pagină, utilizând un software de redare specializat, numit agent utilizator HTML, un exemplu de astfel de software este browser-ul web. HTML furnizează mijloacele prin care conținutul unui fișier poate fi adnotat cu diverse tipuri de metode și indicații de redare. Indicațiile pot varia de la introducerea unei imagini sau decorațiuni ale textului, cum ar fi specificarea faptului că un anumit cuvânt trebuie subliniat, până la scripturi mai complexe, hărți de imagini și formulare. Metodele pot include informații despre titlul și autorul documentului, informații structurale despre împărțirea documentului în diferite segmente, paragrafe, liste, titluri etc. și informații importante care permit ca documentul să poată fi legat de alte documente pentru a forma astfel hiperlink-uri (sau web-ul). [decode]

HTML are următoarele caracteristici:

documentele HTML sunt exclusiv de tip text (cod ASCII), ele pot fi editate direct, cu ajutorul programelor specifice sistemului de operare instalat (Wordpad, Notepad sau orice alt editor de texte);

documentele descrise în HTML sunt independente de platforma de lucru, ele pot fi vizualizate cu ajutorul browser-elor care lucrează pe diferite sisteme de calcul;

HTML utilizează pentru descrierea documentelor web etichete marcaje (tag-uri),care stabilesc atât structura cât și aspectul acestuia. [E. Castro, pag. 3].

HTML se poate genera direct utilizând tehnologii de codare din partea serverului cum ar fi PHP, JSP sau ASP. De asemenea, multe aplicații, precum sistemele de gestionare a conținutului, wiki-uri și forumuri web generează pagini HTML.

O altă utilizare a HTML-ului este în e-mail. Majoritatea aplicațiilor de e-mail folosesc un editor HTML încorporat pentru compunerea e-mailurilor și un motor de prezentare a e-mailurilor de acest tip.

Acest limbaj HTML prezintă o serie de caracteristici:

permite descrierea structurii documentelor fără a descrie organizarea în pagina acestora;

oferă o reprezentare proprie pentru fiecare navigator;

permite actualizarea în timp real a documentelor HTML.

Utilizarea HTML oferă următoarele avantaje:

este ușor de utilizat;

oferă un control total asupra elementelor utilizate în realizarea de pagini web;

permite reutilizarea codului astfel încât, pentru realizarea unei pagini web, se pot folosi cu succes secvențe de cod HTML de la alte pagini web realizate anterior.[E. Castro, pag. 7].

În cadrul aplicației codul HTML, împreuna cu codul CSS, reprezintă aproximativ 80% din întreaga aplicație fiind regăsit în aproape toate paginile aplicației.

CSS – Cascade Style Sheet

CSS (Cascading Style Sheets) este un standard pentru formatarea elementelor unui document HTML. Stilurile se pot atașa elementelor HTML prin intermediul unor fișiere externe sau în cadrul documentului, prin elementul <style> și/sau atributul style. CSS se poate utiliza și pentru formatarea elementelor XHTML, XML și SVGL.

Beneficiile sintaxei CSS sunt:

formatarea este introdusă într-un singur loc pentru tot documentul;

editarea rapidă a etichetelor;

datorită introducerii într-un singur loc a etichetelor se obține o micșorare a codului

paginii, implicit încărcarea mai rapidă a acesteia. [D.A. Căpriță]

Sintaxa CSS este structurată pe trei nivele:

nivelul 1, de tip inline, reprezintă proprietățile etichetelor din documentul HTML și
este cel mai important; se mai numește și selector;

nivelul 2, de tip embedded, este informația introdusă în blocul head, ce include toate
scripturile, precizând browser-ului unde anume se găsesc stilurile;

nivelul 3, de tip extern, este reprezentat de comenzile aflate în pagini separate și este
cel mai puțin important.

Prin utilizarea standardelor moderne, cum ar fi CSS și XHTML, se reduc costurile
de construcție și de menținere a unui site în comparație cu paginile HTML simple, dar și
cantitatea de lățime de bandă și spațiul pe hard disk necesar, rezultând astfel beneficii
imediate pe termen lung pentru orice site.

În ceea ce privește dezvoltarea standardelor CSS, acestea au avut următoarea evoluție:

CSS 1

Prima specificație CSS de a deveni o recomandare oficială W3C (World Wide Web Consortium) este CSS nivel 1, publicată pe 17 decembrie 1996. Håkon Wium Lie și Bert Bos sunt creditați ca dezvoltatori originali. Printre capabilitățile sale se numără suportul pentru

Proprietățile fonturilor, cum ar fi familia fontului și mărimea

Culoarea textului, a fundalurilor și a altor elemente

Atribute de text, cum ar fi spațierea între cuvinte, litere și linii de text

Alinierea textului, a imaginilor, a tabelelor și a altor elemente

Margine, bordura, umplutură și poziționare pentru majoritatea elementelor

Identificarea unică și clasificarea generică a grupurilor de atribute

W3C nu mai recomandă folosirea CSS de nivel 1.

CSS 2

Specificația CSS de nivel 2 a fost dezvoltată de W3C și publicată ca o recomandare în mai 1998. Un super set al CSS 1, CSS 2 include o serie de noi capacități precum poziționarea absolută, relativă și fixă a elementelor și z-index, conceptul de Tipuri de suporturi media, suport pentru foi de stil audio (care au fost înlocuite mai târziu de modulele de vorbire CSS 3) și text bidirecțional și proprietăți noi de fonturi, cum ar fi umbre.

W3C nu mai recomandă folosirea CSS de nivel 2.

CSS 2.1

Revizuirea CSS de nivel 2, numită adesea "CSS 2.1", remediază erorile în CSS 2, elimină caracteristicile puțin susținute sau nu sunt complet interoperabile și adaugă caietului de sarcini extensii deja implementate. Pentru a se conforma procesului W3C pentru standardizarea specificațiilor tehnice, CSS 2.1 a trecut de-a lungul timpului între stadiul proiectului de lucru și statutul de recomandare a candidatului. CSS 2.1 a devenit mai întâi o Recomandare pentru candidat pe 25 februarie 2004, dar a fost revizuită la un proiect de lucru pe 13 iunie 2005 pentru o revizuire ulterioară. Acesta a revenit la Recomandarea candidatului la 19 iulie 2007 și apoi a fost actualizat de două ori în 2009. Cu toate acestea, deoarece au fost făcute schimbări și clarificări, acesta a revenit din nou la Proiectul de apel final din 7 decembrie 2010.

CSS 2.1 a trecut la recomandarea propusă la 12 aprilie 2011. După ce a fost revizuit de către Comitetul consultativ al W3C, acesta a fost în cele din urmă publicat ca Recomandare W3C la 7 iunie 2011.

CSS 2.1 a fost planificat ca revizuirea inițială și finală a nivelului 2 – dar lucrările cu prioritate redusă pentru CSS 2.2 au început în 201

CSS 3

Spre deosebire de CSS 2, care este o specificație unică, definind diferite caracteristici, CSS 3 este împărțit în mai multe documente separate numite "module". Fiecare modul adaugă noi capabilități sau extinde caracteristicile definite în CSS 2, păstrând compatibilitatea cu versiunile anterioare. Lucrul la nivelul 3 al CSS a început în perioada publicării recomandării inițiale CSS 2. Cele mai vechi proiecte CSS 3 au fost publicate în iunie 1999.

Datorită modularizării, diferitele module au stabilitate și stări diferite. Începând cu luna iunie 2012, au fost publicate peste cincizeci de module CSS de la Grupul de lucru CSS , iar patru dintre acestea au fost publicate ca recomandări formale:

2012-06-19: Media Queries

2011-09-29: Namespaces

2011-09-29: Selectors Level 3. [wikicss]

CSS are un rol foarte important în stilizarea codului HTML, cu ajutorul acestuia putem așeza, schimba sau modifica diferite lucruri în pagina web, în cadrul aplicației a fost folosit prin utilizarea unui fișier extern și apelarea acestuia fiind posibilă utilizând codul de mai jos:

<link rel="stylesheet" href="exemplu.css"

PHP

PHP, limbaj de programare, este cea mai eficientă modalitate de dezvoltare a paginilor Web în mod dinamic. Numele PHP provine din limba engleză și este un acronim recursiv: Php: Hypertext Preprocessor. Inițial este folosit pentru a produce pagini web dinamice, este folosit pe scară largă în dezvoltarea paginilor și aplicațiilor web. De asemenea, este folosit în principal înglobat în codul HTML, dar de la versiunea 4.3.0 se poate folosi și în mod „linie de comandă” (CLI) și permite crearea de aplicații independente. Reprezintă unul din cele mai importante limbaje de programare de tip webopen-source și server-side, având versiuni disponibile pentru majoritatea web serverelor și pentru toate sistemele de operare. Conform statisticilor este instalat pe 20 de milioane de situri web și pe 1 milion de servere web. Este disponibil sub Licenṭa PHP ṣi Free Software Foundation îl consideră a fi un software liber.[decode]

PHP-ul este unul din cele mai folosite limbaje de programare server-side, conform unui studiu efectuat de Netcraft în aprilie 2002, apărând pe 9 din cele 37 milioane de domenii cercetate în studiu. De asemenea, există un grafic al creșterii folosirii PHP-ului pe site-ul oficial.

Popularitatea de care se bucură acest limbaj de programare se datorează următoarelor caracteristici :

Familiaritatea: sintaxa limbajului este foarte ușoară combinând sintaxele unora din cele mai populare limbaje Perl sau C;

Simplitatea: sintaxa limbajului este destul de liberă. Nu este nevoie de includere de biblioteci sau de directive de compilare, codul PHP inclus într-un document executându-se între marcajele speciale;

Eficiența: PHP-ul se folosește de mecanisme de alocare a resurselor, foarte necesare unui mediu multiutilizator, așa cum este web-ul;

Securitate: PHP-ul pune la dispoziția programatorului un set flexibil și eficient de măsuri de siguranță;

Flexibilitate : fiind apărut din necesitatea dezvoltării web-ului, PHP a fost modularizat pentru a ține pasul cu dezvoltarea diferitelor tehnologii. Nefiind legat de un anumit server web, PHP-ul a fost integrat pentru numeroasele servere web existente: Apache, IIS, Zeus, server, etc.;

Gratuitate: este probabil cea mai importantă caracteristică a PHP-ului. Dezvoltarea PHP-ului sub licența open-source a determinat adaptarea rapidă a PHP-ului la nevoile web-ului, eficientizarea și securizarea codului. [Wikiphp]

Avantajele folosirii PHP-ului:

este un limbaj inter-platformă și este gratuit;

poate fi utilizat pe orice calculator fără nici un fel de costuri;

oferă programatorului libertatea de a alege un sistem de operare și un server de web;

poate fi folosit pe aproape toate marile sisteme de operare, incluzând Linux, multe
variante de Unix (incluzând HP-UX, Solaris și OpenBSD), Microsoft Windows, Mac OS X;

are suport pentru majoritatea serverelor de web din prezent: Apache, Microsoft
Internet Information Server, Personal Web Server, Netscape și altele;

pentru majoritatea serverelor, PHP are un modul, iar pentru celelalte suportă
standardul CGI, PHP putând să lucreze ca un procesor CGI;

este relativ simplu și direct, de aceea PHP este mult mai ușor de învățat și de utilizat față, spre exemplu, de ASP.NET care necesită cunoașterea unor noțiuni de VBScript, C# , sau față de CGI care necesită cunoștințe de Perl sau C;

nu are probleme de compatibilitate cu browserul. Scripturile PHP sunt interpretate
de server și nimic mai mult, așadar nu trebuie să ne facem griji dacă limbajul în care dezvoltăm este recunoscut de browserele utilizate de clienți;

permite o încărcare mai rapidă pe partea clientului;

oferă posibilitatea de a alege programarea procedurală sau programarea orientată
obiect, sau chiar ambele.

Din punct de vedere al structurii și al design-ului HTML și CSS stau la baza oricărui pagini web dar pentru ca o pagina web să devină dinamică programatorul trebuie să utilizeze cod PHP. Îl va ajuta să introducă, șteargă sau să schimbe date într-o bază de date sau să le afișeze în cadrul paginii. În cadrul aplicației a fost folosit codul PHP pentru a:

afișa, adăuga,șterge sau modifica date în baza de date;

conecta utilizatorii pe aplicație;

face diferența între utilizator de tip admin sau utilizator de tip client;

JAVASCRIPT

JavaScript este un limbaj de scripting folosit în general ca limbaj de scripting client-side pentru aplicații web (codul Javascript este inclus in pagini și este interpretat de browserul clientului). JavaScript poate fi folosit și în alte contexte în afară de acesta (există și o versiune JavaScript server-side ) dar își datorează popularitatea versiunii client-side. JavaScript a fost creat în 1995 de Brendan Eich (Netscape) pentru a aduce un plus de dinamism paginilor web. Numele inițial al limbajului a fost LiveScript și a fost creat cu scopul de a oferi un limbaj simplu de scripting pentru a aduce modificări dinamice paginilor web HTML pe partea de client (de unde și „Live”). Deoarece înainte de lansarea limbajului, Java era la apogeul popularității, s-a decis schimbarea numelui din LiveScript în JavaScript din motive comerciale. Totuși, Java și JavaScript au puține lucruri în comun. Faptul că browserul este responsabil de interpretarea codului JavaScript a adus unele dezavantaje. În primii ani de viață utilizarea JavaScript era foarte dificilă, datorită lipsei unui standard, datorită evoluției rapide în lumea browserelor și mai ales datorită evoluției pe drumuri divergente a principalilor lor producători (Microsoft, Firefox și Opera). Codul scris în JavaScript pentru Internet Explorer, Firefox și Opera nu producea decât rareori același rezultat. Existau deseori diferențe mari și între rezultatele produse de versiuni succesive ale aceluiași browser. Din aceste motive, majoritatea scripturilor trebuiau scrise în mai multe variante similare ceea ce era deosebit de neplăcut pentru dezvoltatori. De asemenea, a durat mult timp până au apărut unele medii de dezvoltare și depanare avansate. Astfel a durat destul de mult până când tehnologia a ajuns la maturitate și a devenit destul de avansată pentru a fi folosită pe scară largă. Odată cu apariția Web 2.0 și AJAX, JavaScript a crescut în popularitate și astăzi, o gamă largă de aplicații web (Google Mail, Yahoo Mail) folosesc această tehnologie. [ clubcisco]

JavaScript este limbajul favorit al creatorilor de site-uri Web deoarece:

este un limbaj ușor de asimilat;

sunt suficiente câteva secvențe de cod pentru a mări gradul de interactivitate al paginilor Web;

este un limbaj care poate fi ușor interpretat de browser;

programele JavaScript,ca și codul CSS, poate fi introdus atât direct în fișierul HTML în interiorul tagului <SCRIPT> </SCRIPT>, cât și în exteriorul fișierului prin apelarea acestuia utilizănd codul <script src="exemplu.js"></script>

Avantajele utilizării JavaScript:

validarea conținutului unui formular;

crearea animațiilor personalizate;

ascunderea sau afișarea conținutului în pagină;

schimbarea stilului unui conținut în funcție de preferințele utilizatorului. [wikijs]

În cadrul aplicației, tehnologia JavaScript a fost folosită pentru a verifica dacă restricțiile câmpurilor din formularele de înregistrare respectiv conectare au fost respectate și în cazul în care acestea nu sunt completate deloc sau sunt completate greșit, utilizatorul va primi un mesaj de eroare în locul în care a fost încalcată restricția.

JQUERY

jQuery este o platformă de dezvoltare JavaScript, concepută pentru a ușura și îmbunătăți procese precum traversarea arborelui DOM în HTML, managementul inter-browser al evenimentelor, animații și cereri tip AJAX. jQuery a fost gândit să fie cât mai mic posibil, disponibil în toate versiunile de browsere importante existente, și să respecte filosofia "Unobtrusive JavaScript". Biblioteca a fost lansată in 2006 de către John Resig [decode]

jQuery se poate folosi pentru a rezolva următoarele probleme specifice programării web:

selecții de elemente în arborele DOM folosind propriul motor de selecții open source Sizzle, un proiect născut din jQuery

parcurgere și modificarea arborelui DOM (incluzând suport pentru selectori CSS 3 și XPath simpli)

înregistrarea și modificarea evenimentelor din browser

manipularea elementelor CSS

efecte și animații

cereri tip AJAX

extensii

utilităti – versiunea browser-ului, funcția each. [Wikipedia]

Avantajele folosirii librăriei JQuery;

Versiunea 1.x prezintă un grad ridicat de compatibilitate cu toate browserele, inclusiv cu IE6;

Librăria jQuery are dimensiuni reduse de circa 96 KB pentru întreaga librarie în varianta comprimată;

Multe firme internationale utilizează jQuery cum sunt: IBM, Netflix, Nokia, Wikipedia, Google și Microsoft;

Avănd in vedere succesul de care se bucura, succes verificat prin gradul difuziunii sale, librăria jQuery este una dintre cele mai active în ceea ce privește producerea de cod nou și de plug-in-uri, bucurându-se de o comunitate de dezvoltatori în continua creștere. .[dana-damoc]

Librăria JQuery a fost folosită în cadrul aplicației pentru a ascunde respectiv afișa un anumit conținut din pagină în funcție de preferințele utilizatorului ca în exemplul de mai jos figura (Figura 4.1.1.).

Figura 4.1. Exemplu de Cod JQuery utilizat în cadrul aplicației

MySql

MySQL este un sistem de gestiune a bazelor de date relaționale, produs de compania suedeza MySQL AB și distribuit sub Licența Publică Generală GNU. Este cel mai popular SGBD open-source la ora actuală, fiind o componentă cheie a stivei LAMP (Linux, Apache, MySQL, PHP).

Deși este folosit foarte des împreună cu limbajul de programare PHP, cu MySQL se pot construi aplicații în orice limbaj major. Există multe scheme API disponibile pentru MySQL ce permit scrierea aplicațiilor în numeroase limbaje de programare pentru accesarea bazelor de date MySQL, cum ar fi: C, C++, C#, Java, Perl, PHP, Python, FreeBasic, etc., fiecare dintre acestea folosind un tip specific API. O interfață de tip ODBC denumită MyODBC permite altor limbaje de programare ce folosesc această interfață, să interacționeze cu bazele de date MySQL cum ar fi ASP sau Visual Basic. În sprijinul acestor limbaje de programare, unele companii produc componente de tip COM/COM+ sau .NET (pentru Windows) prin intermediul cărora respectivele limbaje să poată folosi acest SGBD mult mai ușor decât prin intermediul sistemului ODBC. Aceste componente pot fi gratuite (ca de exemplu MyVBQL) sau comerciale.

MySQL este componentă integrată a platformelor LAMP sau WAMP (Linux/Windows-Apache-MySQL-PHP/Perl/Python). Popularitatea sa ca aplicație web este strâns legată de cea a PHP-ului care este adesea combinat cu MySQL și denumit Duo-ul Dinamic. În multe cărți de specialitate este precizat faptul ca MySQL este mult mai ușor de invățat și folosit decât multe din aplicațiile de gestiune a bazelor de date, ca exemplu comanda de ieșire fiind una simplă și evidentă: „exit” sau „quit”.

Pentru a administra bazele de date MySQL se poate folosi modul linie de comandă sau, prin descărcare de pe internet, o interfață grafică: MySQL Administrator și MySQL Query Browser. Un alt instrument de management al acestor baze de date este aplicația gratuită, scrisă în PHP, phpMyAdmin.

MySQL poate fi rulat pe multe dintre platformele software existente: AIX, FreeBSD, GNU/Linux, Mac OS X, NetBSD, Solaris, SunOS, Windows 9x/NT/2000/XP/Vista.[Wikipedia]

Apache

Apache a jucat și joacă un rol important în dezvoltarea webului, fiind folosit în prezent în circa 65.2 % din paginile web el fiind un server web cu o contribuție notabilă la dezvoltatea Internetului (world wide web). Apache a reprezentat prima alternativă viabilă la Netscape Communications Corporation, și a evoluat rapid în funcționalitate și performanță ca un rival competitiv pentru alte servere web bazate pe Unix.

Serverul Apache este caracterizat ca fiind un software gratuit și open source, acesta făcând ca, începând din aprile 1996, el să fie cel mai popular server HTTP. Cu toate că în noiembrie 2005 a început să piardă din cota de piață, în aprilie 2008 Apache stătea încă la baza a peste 50 % din siturile web, iar în iunie 2013 a ajuns la 65.2%. Apache este folosit pentru 46,91% din totalul domeniului românesc.

Apache suportă o mare varietate de module care îi extind funcționalitatea, acestea variază de la server side programming și până la scheme de autentificare. Câteva limbaje suportate sunt: mod_perl, mod_python, Tcl și PHP. Ca alte module putem enumera: SSL și TLS support (mod_ssl), un modul proxyun, modul de rescriere URL (cunoscut ca un motor de rescriere mod_rewrite), custom log files (mod_log_config) și suport de filtrare (mod_include și mod_ext_filter). O altă calitate a serverului Apache este virtual hosting (găzduirea virtuală), care constă în posibilitatea de a găzdui mai multe situri simultan pe același server.

Principalul competitor al serverului Apache este Microsoft Internet Information Services (IIS), urmat de Sun Java System Web Server al companiei Sun Microsystems și multe altele, cum ar fi Zeus Web Server.

Apache este folosit de unele din cele mai mari situri din lume. Astfel, motorul de căutare folosit de Google folosește o versiune modificată de Apache numită Google Web Server (GWS); și proiectele Wikimedia inclusiv Wikipedia rulează tot pe un server Apache.

În cadrul aplicației a fost folosita thenologia apache , folosind pachetul XAMPP, care a stat la baza creării unui server local pentru a rula aplicația fără a fi nevoie de internet.[wikipedia]

4.1.2. Instrumente software

Komodo IDE

Komodo IDE este un mediu de dezvoltare integrat (integrated development environment IDE) pentru limbaje de programare dinamice. A fost introdusă în mai 2000.

Komodo IDE utilizează baza de cod Mozilla și Scintilla cum împărtășesc și multe trăsături și suportă aceleași limbi (inclusiv Python, Perl, PHP, Ruby, Tcl, SQL, Smarty, CSS, HTML și XML) și sisteme de operare (Linux, OS X, și Windows). Componenta editor este implementată utilizând Netscape Plugin Application Programming Interface(NPAPI), cu interfața de tip Scintilla integrată XML interfața cu utilizatorul (XUL) în același mod ca un plugin de browser web.

Komodo IDE are caracteristici găsite într-un mediu integrat de dezvoltare (IDE), cum ar fi suportul de debugging, Document Object Model (DOM) viewer, interactive shells, controlul integrării codului sursă și capacitatea de a selecta motorul utilizat pentru a rula expresii regulate asigură compatibilitatea cu obiectivul final de implementare.[wikipedia]

Avantajele folosirii Komodo IDE:

Compilează în timp real codul;

Recunoaște diferitele tipuri de fișiere cum ar fi PHP,JavaScript,HTML,CSS fiecare având compilatorul propriu.

Komodo IDE a fost folosit pentru a scrie aplicația.

Figura 4.2. Komodo IDE

MySQL Workbench

MySQL Workbench este un instrument de proiectare baze de date vizuale care integrează dezvoltarea SQL, administrarea, proiectarea bazelor de date, crearea și întreținerea într-un singur mediu de dezvoltare integrat pentru sistemul de baze de date MySQL. Este succesorul DBDesigner 4 de la fabFORCE.net și înlocuiește pachetul anterior de software, MySQL GUI Tools Bundle.[wikipedia]

Figura 4.3. MySQL Workbench

Am folosit software-ulMySQL Workbench pentru proiectarea bazelor de date și extragerea documentului .sql pentru integrarea în PhpMyAdmin.

Adobe Photoshop

Adobe Photoshop, este cel unul dintre cele mai cunoscute software de editare de imagini digitale, fotografii, grafică pentru tipar, video și Web de pe piață. Photoshop este un program cu o interfață intuitivă și care permite o multitudine extraordinară de modificări necesare în mod curent profesioniștilor și nu numai: editări de luminozitate și contrast, culoare, focalizare, aplicare de efecte pe imagine sau pe zone (selecții), retușare de imagini degradate, număr arbitrar de canale de culoare, suport de canale de culoare pe 8, 16 sau 32 biți, efecte third-party etc. Există situații specifice pentru un profesionist în domeniu când alte pachete duc la rezultate mai rapide, însă pentru prelucrări generale de imagine, întrucât furnizează instrumente solide, la standard industrial, Photoshop este efectiv indispensabil.

Alături de aplicația Photoshop (ajuns la versiunea CC, succesorul versiunii CS6), este inclusă și aplicația ImageReady, cu un impresionant set de instrumente Web pentru optimizarea și previzualizarea imaginilor (dinamice sau statice), prelucrarea pachetelor de imagini cu ajutorul sistemului droplets-uri (mini-programe de tip drag and drop) și realizarea imaginilor rollover (imagini ce își schimbă aspectul la trecerea cu mouse-ul peste), precum și pentru realizarea de GIF-uri animate.

Principalele elemente prin care Photoshop se diferențiază de aplicațiile concurente și prin care stabilește noi standarde în industria prelucrării de imagini digitale sunt:

Selecțiile

Straturile (Layers)

Măștile (Masks)

Canalele (Channels)

Retușarea

Optimizarea imaginilor pentru Web

Adobe Photoshop a fost folosit în cadrul aplicației pentru contura un format al aplicației la începutul acesteia și pentru crearea de imagini care au fost folosite în cadrul aplicației.

XAMPP

XAMPP este un pachet de programe free software, open source și cross-platform web server, care constă în Apache HTTP Server, MySQL database și interpretoare pentru scripturile scrise în limbajele de programare PHP și Perl.

Numele XAMPP este un acronim pentru:

X (de la "cross", care înseamnă cross-platform)

Apache HTTP Server

MySQL

PHP

Perl

În cadrul aplicației, pachetul de programe XAMPP, a fost folosit pentru serverul de Apache și pentru baza de date din cadrul MySQL.

4.2. Prezentarea interfeței utilizator și a panoului de administrator

4.2.1. Prezentarea interfeței utilizator

În cadrul acestui subcapitol am să prezint interfața cu utilizatorul a aplicației, fiind prezentat în detaliu fiecare pagină a acesteia, fiecare pagina fiind însoțită cu o poză sugestivă.

Figura 4.4. Interfață aplicație

În cadrul primii pagini al aplicației (Homepage figura 4.4.) am ales să împart pagina în 3 mari secțiuni și anume ;Header, Mijloc(conținut) și Footer.

Prima secțiune (Figura 4.5), este formată din două părți, în prima parte se află Logo-ul firmei alături de motto-ul aplicației iar în a doua parte se regăsesc un număr de contact al firmei, o secțiune de search pentru ai permite utilizatorului o parcurgere mai rapidă spre ce caută acesta, și un meniu cu două pagini Contul Meu respectiv Limba. Prin selecția funcției Contul meu utilizatorul va fi trimis spre o altă pagina unde va putea să se logheze și în cazul în care acesta nu are cont, are oportunitatea să-și creeze unul. În partea de jos al header-ului se regăsește un meniu cu 7 pagini, utilizatorul va vedea doar 6 dintre acestea deoarece ultima pagină este destinată și vizibilă doar administratorului site-ului, deoarece aceasta are ca scop inserarea de noi oferte,orașe,unități de cazare etc.

Figura 4.5. Header aplicație

În partea de header sub meniu se află un slider cu poze (Figura 4.6.). Pozele din cadrul slider-ului se interschimbă între ele automat la un interval de câteva secunde, dar se pot schimba și manual printr-un click pe cele două săgeți stânga – dreapta. În slider, în partea de jos a acestuia, este poziționată o căsuță de selecție, care va ajuta utilizatorul să găsească mai repede ceea ce are nevoie, ușurându-i munca acestuia. Această căsuță conține alte 4 căsuțe, cea mai importantă fiind căsuța numărul 1, deoarece celelalte 3 căsuțe se schimbă în funcție de ce alege utilizatorul în cadrul primei căsuțe.

Figura 4.6. Carusel aplicație

Această căsuță de selecție a fost realizată cu ajutorul CSS-ului(Cascade style sheet) pentru poziționare și stilizare a fiecărei căsuțe în parte, fiecare având aproape același stil singurul lucru diferit față de celelalte căsuțe fiind conținutul acestora.

Exemplu:

.col1{

width: 25%;

height: 180px;

float:left;

position: relative;

padding-left: 20px;

}

De asemenea, a fost folosit și limbajul de programare JavaScript pentru a afișa respectiv ascunde căsuțele de selecție dorite de către utilizator. Această acțiune are loc în funcție de valoarea aleasă de către utilizator în prima căsuță de selecție, în aceasta sunt poziționate 3 butoane de tip radio fiecare având același nume pentru a nu exista doua butoane bifate în același timp, dar cu valori diferite, primul este setat ca și Checked pentru a le afișa la început pe primele 3 ca în exemplul de mai jos:

<form action="" id="form">

<input id="hotel" type="radio" name="alege" value="hotel" checked="checked">

<label for=hotel>Hotel</label><br>

<input id="pens" type="radio" name="alege" value='pensiuni'>

<label for=pens>Pensiuni</label><br>

<input id="inchiriat" type="radio" name="alege" value='masini'>

<label for=inchiriat>Inchiriat Masini</label><br>

</form>

Pentru partea de Javascript, ca în exemplu de mai jos, a fost o variabilă cu numele checkedValue care va prelua valoarea dată de ce alege utilizatorul în cadrul butoanelor radio, apoi prin comparație va afișa sau va ascunde căsuțele aferente valorii respective.

$(document).ready(function() {

$('.col2').show();

$(’.col3’).show();

$(’.col4’).show();

$('.col5').hide();

$('.col6').hide();

$('.col7').hide();

$('.col8').hide();

$('.col9').hide();

$('.col10').hide();

$('input[type="radio"]').change(function() {

Var checkedValue

=$("input[name='alege']:checked").val();

if(checkedValue == 'hotel') {

$('.col2').show();

$('.col3').show();

$('.col4').show();

$('.col5').hide();

$('.col6').hide();

$('.col7').hide();

$('.col8').hide();

$('.col9').hide();

$('.col10').hide();

}

else if(checkedValue == 'pensiuni') {

$('.col2').hide();

$('.col3').hide();

$('.col4').hide();

$('.col5').show();

$('.col6').show();

$('.col7').show();

$('.col8').hide();

$('.col9').hide();

$('.col10').hide();

}

else if(checkedValue == 'masini') {

$('.col2').hide();

$('.col3').hide();

$('.col4').hide();

$('.col5').hide();

$('.col6').hide();

$('.col7').hide();

$('.col8').show();

$('.col9').show();

$('.col10').show();

}

});

A doua secțiune(Figura 4.7.) cuprinde un rezumat al fiecărui oraș în parte, arătând cât este în medie prețul pe o noapte în cadrul unei pensiuni sau al unui hotel în acel oraș.

Figura 4.7. Secțiunea de mijloc a aplicației

A treia secțiune este împărțită la rândul ei în 3 mari categorii și anume;

Suport Tehnic;

Unde se vor regăsi întrebările și răspunsurile ajutătoare pentru a face utilizatorului o navigare cât mai ușoară.

Butoanele Social-media;

În cazul în care utilizatorul vrea să rămână în legătura cu firma pentru oferte noi. Acestea sunt de la stânga la dreapta ; Facebook, Youtube, Googleplus, Twitter și Vimeo.

Abonare;

În această categorie utilizatorul se poate abona la newsletter-ul companiei pentru a fi atenționat în timp real de noile oferte.

Figura 4.8. Secțunea de jos(bottom) a aplicației

Utilizatorul aplicației se conectează accesând pagina de logare a aplicației care se află în partea din dreapta sus a fiecărei pagini, pe căsuța ,,Contul Meu,, . Utilizatorul va fi redirecționat pe pagina de logare (Figura 4.9.) care va fi compusă dintr-un formular în mijlocul ecranului cu doua căsuțe: ,,E-mail,, respectiv ,,Parola,, unde utilizatorul își va trece contul acestuia, în cazul în care acesta nu dispune de un cont, va da click pe textul ,,Inregistreaza-te aici,, unde va fi redirecționat către o alta pagină pentru a se înregistra.

Figura 4.9. Pagina de logare a aplicației

Formularul are implementat un set reguli și anume:

Câmpul de E-mail nu poate conține mai puțin de 5 caractere și conținutul trebuie să fie de tip emai;

Câmpul de Parola nu poate conține mai puțin de 6 caractere.

După logare, dacă aceasta a avut succes, utilizatorul va fi redirecționat către pagina principală și îi va apărea un mesaj în colțul din stânga sus a ecranului ca în exemplul de mai jos.( Figura 4.10.).

Figura 4.10. Mesajul de logare

Pentru a se deloga utilizatorul va da click pe textul Log Out și sesiunea va fi distrusă. Pentru a se înregistra un utilizator va trebui, din pagina de conectare, să dea click pe textul ,, Inregistreaza-te aici ! ,, și va fi redirecționată spre pagina de înregistrare ca în exemplul de mai jos. (Figura 4.11.)

Figura 4.11. Pagina de înregistrare în aplicație

Ca și în cazul conectării această pagină este formată dintr-un formular și 6 câmpuri de completat și anume: Adresa de E-mail, Parola, Rescrieți Parola, Nume și Prenume. Și au un set de reguli :

Câmpul E-mail nu poate să conțină mai puțin de 6 caractere, trebuie să fie de tip email și să nu mai existe alt email asemănător înregistrat în baza de date;

Câmpul Parola trebuie sa conțină cel putin 6 caractere;

Câmpul Rescrie Parola trebuie să conțină cel puțin 6 caractere și să fie aceleași caractere ca și în câmpul Parola;

Câmpul Nume și câmpul Prenume trebuie să conțină cel puțin 2 caractere.

După introducerea datelor și apăsarea de către utilizator a butonului trimite, aplicația va prelua datele din formular, va verifica daca datele introduse respecta setul de reguli iar daca acestea sunt respectate îi va afișa utilizatorului un mesaj de success și se va putea conecta ca în exemplul de mai jos. ( Figura 4.12.)

Figura 4.12. Mesajul de succes

Pagina pentru recuperarea parolei (figura 4.13. ) va fi alcătuită doar dintr-un singur câmp și anume ,, Adresa de email,, unde utilizatorul își va introduce email-ul și în cazul în care acesta există în baza de date va fi redirecționat catre pagina de conectare și va primi un email cu parola respectivă email-ului introdus.

Figura 4.13. Pagina pentru recuperarea parolei

Paginile Hotel,Pensiune și respective închiriere mașini au fost create după același model, pagina hotel după cum arată exemplul de mai jos (Figura 4.14.) este formată din mai multe căsuțe, fiecare căsuță având datele preluate direct din baza de date.

Figura 4.14. Pagina Hotel

Datele au fost preluate urmând exemplul de mai jos, și cu ajutorul limbajului PHP de fiecare dată când se adaugă date în baza de date, pagina va mai crea o căsuță cu datele noi introduse.

Figura 4.15. Codul PHP pentru pagina Hotel

În pagina Locații utilizatorul are posibilitatea să aleagă o anumită regiune în care va dori să meargă, pagina fiind formată dintr-o hartă a României ca în exemplul de mai jos(Figura 4.15.), unde fiecare regiune fiind delimitată cu ajutorul instrumentului Area Map redirecționând la pagini diferite în funcție de preferințele utilizatorului.

Figura 4.16. Pagina Locații

După alegerea regiunii de către utilizator acesta va fi redirecționat către o pagina cu oferte(Figura 4.16.) care va fi compusă cu o bara de meniu în partea stângă formată din:

Regiune care dacă utilizatorul va da click pe ea va fi redirecționat către pagina locații pentru a-și alege altă regiune;

Hotele în care vor fi afișate ofertele de hotele din acea regiune și dacă utilizatorul va alege una din orașele afișate, pagina hotele va afișa doar hotelurile din acel oraș;

Pensiuni în care vor fi afișate ofertele de pensiunile din acea regiune și dacă utilizatorul va alege una din orașele afișate, pagina pensiunile va afișa doar pensiunile din acel oraș;

Oras fiind reprezentată cu o hartă a regiunii alese de către utilizator delimitată pe orașe fiecare oraș redirecționând utilizatorul către o pagina diferită, acest lucru fiind făcut cu ajutorul instrumentului Area Map și stilizarea cu ajutorul limbajului de programare Javascipt.

Atracție Turistică în care vor fi afișate toate Atracțiile turistice din acea regiune și dacă utilizatorul va alege una din orașele afișate, pagina ,,Atractii turistice,, va afișa doar atracțiile din acel oraș.

Figura 4.17. Pagina Oferte

Iar în partea din dreapta vor fi afișate, în funcție de alegerea utilizatorului, conținutul paginii.

Dacă utilizatorul va alege opțiunea Hotele sau Pensiuni din partea stângă, în cazul în care nu a ales nici un oraș din cele afișate apoi a ales opțiunea hotele, partea din dreapta îi va afișa o lista cu hotele sau pensiuni ca în exemplul de mai jos (Figura 4.17.). Toate datele afișate fiind introduse direct din baza de date cu ajutorul limbajului PHP și stilizarea lor a fost realizată cu ajutorul CSS-ului.

.

Figura 4.18. Oferte Hotel

După afișarea ofertelor de pensiuni sau hotele utilizatorul va putea să citească o scurtă descriere a fiecărui hotel după care, dacă acesta este interesat de una dintre unitățile de cazare afișate acesta va putea da click pe butonul ,,Rezervati Acum!,, din partea de jos al fiecărei oferte în parte și va fi redirecționat către o altă pagină unde va putea face rezervarea.

Pagina pentru rezervare (Figura 4.18.) va fi reprezentată prin o scurtă prezentare a unității de cazare în partea dreaptă cu o poză a unității de cazare în partea stângă.

Figura 4.19. Pagina de rezervare

În partea de jos a paginii se vor regăsi camerele de care dispune unitatea de cazare până la momentul respectiv. Afișarea unității de cazarea fost realizată extrăgând din pagina din care utilizatorul și-a ales unitatea de cazare id-ul unității de cazare prin metoda GET ca în exemplul de mai jos. (Figura 4.19)

Figura 4.20. Exemplu Metoda GET

După ce id-ul a fost trimis către pagină, acesta este folosit pentru a face interogarea în baza de date pentru a extrage date despre unitatea de cazare și pentru a le afișa în ordine, codul pentru extragerea datelor din baza de date și pentru afișarea acestora este în exemplul din figura 4.20. de mai jos.

Figura 4.21. Exemplu Cod pentru afișare

Dar pentru ca un utilizator să facă rezervarea mai întai trebuie să vadă ce camere dispune unitatea de cazare până în acel moment, pentru acest lucru a fost făcut un query în baza de date folosind id-ul unității de cazare în tabela Camera afișând astfel fiecare camera a fiecărei unități de cazare, acest lucru a fost posibil cu ajutorul secvenței de cod din exemplul de mai jos. (Figura 4.21.)

Figura 4.22. Exemplu cod afișare cameră

Cu ajutorul limbajului de scriptare JavaScript, Camerele vor fi afișate într-un mod dinamic, a fost folosit un eveniment din Jquery și anume ,,OnClick,, respectiv ,,OnDblClick,, folosind funcțiile ,,SlideDown,, și ,,SlideUp,, ca atunci când utilizatorul va da click pe camera pe care va dori să o rezerve îi va apărea o fereastră cu o imagine a camerei selectate respectiv o căsuță Check-In și Check-Out, codul folosit pentru slider este în exemplul de mai jos.

$(document).ready(function() {

$('.formular').hide();

$('.cam').click(function() {

$( ".formular" ).slideDown( "slow", function() {

});

});

$('.cam').dblclick(function() {

$( ".formular" ).slideUp( "slow", function() {

});

});

În pagina utilizatorului, după ce va da click pe camera dorită, îi va apărea o fereastră ca în exemplul de mai jos (figura 4.22.) unde își va selecta perioada când va dori să se cazeze.

Figura 4.23. Exemplu camera cu Slide-Off

După ce utilizatorul și-a inserat perioada în care va dori să închirieze camera, aceste date vor fi transmise către o altă pagină unde se va face inserarea datelor în baza de date și vor fi preluate datele utilizatorului și a camerei pe care a ales-o și va primi un email de confirmare a rezervării alături de un cod de anulare a acesteia ca în exemplul de mai jos. (Figura 4.23.)

figura 4.24. Email de confirmare

Scrierea email-ului și trimiterea acestuia a fost realizat cu ajutorul PHP-ului, în pagina de rezervare.php, în cadrul acestei pagini au fost preluate toate datele necesare pentru a realiza rezervarea și au fost folosite pentru a scrie mesajul de confirmare din figura 4.23. unde au fost toate integrate în funcția email() din cadrul PHP ca în exemplul din figura 4.24.

Figura 4.25. Cod pentru trimiterea Email-ului

Această funcție are nevoie de 4 variabile și anume:

$to unde va fi salvată adresa de email către care va fi trimis email-ul, în cazul acesta va fi email-ul utilizatorului care a făcut rezervarea;

$subject care va fi titlul email-ului;

$txt care va fi textul propriu-zis al email-ului;

$headers care va fi adresa expeditorului în cazul nostru va fi cozmin.ghenea@gmail.com adică cel al administratorului.

Funcția va prelua cele 4 variabile în ordine și va trimite email-ul. Dacă mesajul a fost trimis cu succes utilizatorul va fi redirecționat către pagina principală, dacă acesta nu este redirecționat îi va apărea un mesaj de eroare.

4.2.2 Prezentarea panoului de administrator

În continuarea acestui capitol, vom prezenta și cea de-a doua parte, și anume partea administratorului. În cadrul aplicației diferența dintre utilizatorul de tip client și utilizatorul de tip admin se face prin câmpul Tip-Utilizator din tabela Utilizator, utilizatorul de tip administrator fiind de tip 1 iar utilizatorul de tip client fiind de tip 0 sau NULL. Contul de tip administrator nu va putea fi creat în aplicație ci doar în baza de date.

Administratorul se va loga ca și utilizatorul normal în pagina de logare diferența fiind odată logat administratorul va primi un alt mesaj de success, cum e în exemplul de mai jos.

Figura 4.26. Mesaj de logare pentru administrator

Administratorul în cadrul aplicației va avea dreptul să introducă, să șteargă sau să modifice conținutul din cadrul aplicației.

Utilizatorul de tip administrator, odată ce s-a logat cu un cont valid de administrator, îi va aparea în prima pagină, în bara meniului din partea de sus, o opțiune în plus față de ceilalți utilizatori și anume opțiunea ,,Introducere Oferta,, ca în poza de mai jos. (Figura 4.26.)

Figura 4.27. Pagina pentru introdus Oferte

Acesta va alege din partea stângă ce anume vrea să introducă și anume o unitate nou de cazare, o Camera dintr-o unitate de cazare, un oraș nou în cazul în care acesta nu a fost introdus până în momentul respectiv și atracțiile turistice din diferite orașe.

Pentru a introduce o unitate nouă de cazare administratorul trebuie să completeze un formular ca în exemplul de mai jos. (Figura 4.27.)

Figura 4.28. Inserare Unitate de cazare

În cadrul acestui formular toate câmpurile vor fi completate obligatoriu, pentru a nu cauza erori în afișarea ofertelor în alte pagini. Câmpul tipul unității și câmpul Oraș vor for doua câmpuri create cu ajutorul Select Option, Tipul unității fiind o listă statică cu două valori reprezentând Unitatea de cazare de tip Hotel și respectiv Pensiune și Oraș fiind o listă dinamică reprezentată de fiecare oraș introdus până la momentul respectiv, este o listă dinamică deoarece de fiecare dată când administratorul introduce un nou oraș acesta va apărea în această listă. Codul pentru această listă se află în partea de mai jos. (Figura 4.28)

Figura 4.29. Codul PHP pentru Select-Option dinamic.

Am ales această modalitate deoarece în cadrul aplicației,în urma trecerii de la MCD la MLD cheia primară din tabela Oras a migrat drept cheie străină în tabela unitate de cazare de aceea de fiecare dată când se introduce o unitate de cazare nouă trebuie specificat și de unde este acea unitate de cazare și acest lucru a fost făcut prin interogarea tabelei Oras și extragerea din această tabela a id-ului și denumirii orașului respectiv, ca atunci când administratorul alege un oraș lista, îi va returna id-ul orașului respectiv.

Pentru câmpul ,,Calea spre poza,, administratorul nu va trebui să insereze decât denumirea pozei pe care vrea să o introducă în formular.

Această acțiune este posibilă datorită codului de mai jos(Figura 4.29.).

Figura 4.30. Inserare poză

Câmpul are la rândul lui câteva restricții și anume :

Poza trebuie neapărat să fie introdusă in folderul poza/hotele;

Poza trebuie să fie de tip .PNG.

După apăsarea butonului trimite, noile date vor fi introduse direct în baza de date și afișate în diferitele pagini ale aplicației.

Administratorul, în cazul în care a introdus o ofertă greșit sau vrea să șteargă o ofertă deoarece aceasta nu mai este valabilă, poate șterge sau modifica din pagina în care se află oferta se află, și anume Hoteluri, Pensiuni sau Închirieri Mașini. Acest lucru poate fi realizat prin apăsarea ,,x-ului,, din colțul din dreapta sus al fiecărei oferte în parte ca în exemplul de mai jos(Figura 4.30.).

Figura 4.31. Pagina hotel din perspectiva Administratorului

După ce administratorul apasă pe butonul de ștergere aplicația va extrage id-ul ofertei la care se afla butonul respectiv și-l va trimite prin metoda GET într-o altă pagină unde va avea loc ștergerea respectivă, odată ce ștergerea a avut loc administratorul este redirecționat pe pagina în care a fost ștearsă oferta.

CONCLUZII ȘI PROPUNERI

În concluzie, piața de turism online este foarte populară în rândul utilizatorilor ,fiind cea mai lejeră, rapidă și utilă modalitate de a planifica o vacanță. De asemenea, reprezintă o sursă continuă de venit, deoarece este cea mai utilizată metodă de promovare a unei unități de cazare, al unui oraș sau al unei localități.

Serviciile reprezintă unul din cele mai moderne sectoare din cadrul oricărei
economii naționale, indiferent de nivelul ei de dezvoltare. Dezvoltarea serviciilor apare pe
un anumit nivel de dezvoltare și determină la rândul său, dezvoltarea unor alte sectoare sau
diversificarea unor servicii existente.

Putem afirma cu certitudine că progresul tehnologic reprezintă baza pentru
inovările radicale în domeniul serviciilor. Tehnologia informațională nu vizează doar
programatorii, ci își pune amprenta aspra vieții noastre de zi cu zi. Din acest motiv, nici un
serviciu nu poate să supraviețuiească fără utilizarea tehnologiei informaționale. Una din
cele mai importante funcții ale acestei mari tehnologii este de a împuternici atât angajații
firmei prestatoare de servicii cât și clienții acesteia.

În prezent, majoritatea companiilor care își desfășoară afacerea în “lumea reală” au
situri pe internet. Pe lângă acestea, există și companiile care iși derulează activitățile
exclusiv în lumea virtuală, existând numai prin intermediul Internetului.
Trăim, fără să conștientizăm, o revoluție a comunicării și informării, în care fiecare
dintre noi este implicat mai mult sau mai puțin. Noua cultură creată de Internet și procesul
de globalizare are un impact direct sau indirect asupra tuturor domeniilor și oamenilor
planetei. Țările avansate, care dețin monopolul acestor noi tehnologii de comunicare și
informare (ICT), au avansat în construirea Societății Informaționale. Termen aproape
necunoscut publicului larg în urmă cu mai puțin de un deceniu, Internetul a devenit astăzi
una dintre principalele modalități de comunicare și de informare, a lumii moderne.

Numărul de utilizatori ai rețelei Internet se apropie de stabilizare în țările dezvoltate și
crește într-un ritm susținut în țările în curs de dezvoltare. În țările dezvoltate ale lumii orice
persoană educată folosește în mod curent rețeaua Internet pentru a obține informații, în
legătură cu cele mai diverse domenii. Până în momentul actual, aplicația poate face o rezervare în timp real confirmarea fiind făcută prin email, utilizatorii pot căuta în anumite regiuni și orașe în funcție de harta României delimitarea fiind atât în funcție de regiune cât și în funcție de oraș, aceștia după ce și-au ales un oraș, au ocazia să închirieze un autoturism, să vizualizeze toate unitățile de cazare din acel oraș și chiar să vadă toate atracțiile turisticie din acea zonă.

Aplicațiile online de tip booking au o posibilitate de dezvoltare nelimitată, deoarece o aplicație web poate fi concepută exact cum își dorește creatorul aplicației, imaginația acestuia fiind punctul de plecare. Pentru aplicație propunerile de dezvoltare ar fi următoarele:

Am ales ca prima propunere schimbarea culorii background-ului într-una mai caldă, care poate induce utilizatorului ideea de vacanță;

Pentru a doua propunere am ales crearea unui coș de cumpărături, unde utilizatorul poate vedea în timp real starea rezervării și posibilitatea anulării în timp real a acesteia;

O altă propunere ar fi implementarea unui sector de recenzii pentru camere și/sau al unității de cazare, unde ceilalți utilizatori pot vedea ce note au dat alți utilizatori pentru aceeași cameră și pot citi comentariile pozitive sau negative;

Ca o ultimă propunere aș dori să implementez un sistem de recompensare pentru clienții fideli ai aplicației, în cazul în care un client face mai mult de 4 rezervări în cadrul aplicației acesta va primi o reducere semnificativă pentru a 5 rezervare.

BIBLIOGRAFIE

SITEOGRAFIE

LISTA FIGURILOR

Figura 2.1 Utilizatorii care au făcut o rezervare la hotel perioada 2010-2015…………………….7

Figura 2.2. Grafic-preferințele turiștilor………………………………………………………………………..8

Figura 2.3.Situație estimativă a locurilor vândute pentru revelion 2016/2017 în România….9

Figura 3.1. Modelul Logic al Datelor(MLD)…………………………………………………………………12

Figura 3.2 Entitatea Utilizator……………………………………………………………………………………..14

Figura 3.3 Entitatea Achiziționează……………………………………………………………………………..15

Figura 3.4. Entitatea Cameră………………………………………………………………………………………16

Figura 3.5. Entitatea Unitate_Cazare……………………………………………………………………………17

Figura 3.6. Entitatea Oraș…………………………………………………………………………………………..18

Figura 3.7. Entitatea Atracții turistică………………………………………………………………………….19

Figura 3.8. Entitatea Regiune……………………………………………………………………………………..19

Figura 3.9 Entitatea Transport…………………………………………………………………………………….20

Figura 4.1. Exemplu de Cod JQuery utilizat în cadrul aplicației………………………………………31

Figura 4.2. Komodo IDE……………………………………………………………………………………………34

Figura 4.3. MySQL Workbench………………………………………………………………………………….34

Figura 4.4. Interfață aplicație………………………………………………………………………………………37

Figura 4.5. Header aplicație………………………………………………………………………………………..38

Figura 4.6. Carusel aplicație……………………………………………………………………………………….38

Figura 4.7 Secțiunea de mijloc aplicație………………………………………………………………………41

Figura 4.8. Secțunea de jos(bottom) a aplicației…………………………………………………………..42

Figura 4.9. Pagina de logare a aplicației……………………………………………………………………..43

Figura 4.10. Mesajul de logare………………………………………………………………………………….43

Figura 4.11. Pagina de înregistrare în aplicație……………………………………………………………44

Figura 4.12 Mesajul de success…………………………………………………………………………………45

Figura 4.13 Pagina pentru recuperarea parolei…………………………………………………………….45

Figura 4.14. Pagina Hotel…………………………………………………………………………………………46

Figura 4.15. Codul PHP pentru pagina Hotel………………………………………………………………46

Figura 4.16. Pagina Locații……………………………………………………………………………………….47

Figura 4.17. Pagina Oferte………………………………………………………………………………………..48

Figura 4.18. Oferte Hotel………………………………………………………………………………………….49

Figura 4.19. Pagina de rezervare………………………………………………………………………………..49

Figura 4.20. Exemplu Metoda GET…………………………………………………………………………..50

Figura 4.21. Exemplu Cod pentru afișare……………………………………………………………………50

Figura 4.22. Exemplu cod afișare camera……………………………………………………………………51

Figura 4.23. Exemplu camera cu Slide-Off…………………………………………………………………52

Figura 4.24. Email de confirmare……………………………………………………………………………….52

Figura 4.25. Cod pentru trimiterea Email-ului………………………………………………………………53

Figura 4.26. Mesaj de logare pentru administrator………………………………………………………..54

Figura 4.27. Pagina pentru introdus Oferte………………………………………………………………….54

Figura 4.28. Inserare Unitate de cazare……………………………………………………………………….55

Figura 4.29. Codul PHP pentru Select-Option dinamic…………………………………………………56

Figura 4.30. Inserare poză…………………………………………………………………………………………56

Figura 4.31. Pagina hotel din perspectiva Administratorului…………………………………………57

Similar Posts