UNIVERSITATEA POLITEHNICA TIMIȘOARA- FACULTATEA DE AUTOMATICĂ ȘI CALCULATOARE [308566]

FACULTATEA DE AUTOMATICĂ ȘI CALCULATOARE

Programul de Licență: [anonimizat]:

conf. dr. ing. Iosif SZEIDERT

TIMIȘOARA

2019

1. Introducere

Context

Defitiniție DEX:” TURÍSM, (2) turisme, s. n.  Totalitatea relațiilor și fenomenelor care rezultă din deplasarea și sejurul persoanelor în afara locului lor de reședință ([anonimizat].)”.

Totodată, turismul reprezintă un fenomen caracteristic civilizației actuale, o componentă majoră a vieții economice și sociale de care tot mai multe țări sunt interesate și pe care îl fac un factor cu ridicată importanță în dezvoltarea lor. Turismul reprezintă astăzi o [anonimizat], [anonimizat].

Agenția de turism este principalul distribuitor al produselor turistice. Ea poate fi definită ca fiind intreprinderea comercială care are ca scop:

–  [anonimizat];

– [anonimizat], [anonimizat] a clientului.

In literatura de specialitate și în terminologia OMT se folosește notiunea de agenție de voiaj.

Principalele obiective la momentul actual al unei agenții de turism constă în:

– [anonimizat];

– personalizarea produselor și serviciilor în scopul creșterii gradului de satisfacție al clientului;

– asigurarea efectuării eficiente a tuturor operațiunilor necesare pentru pregatirea și desfășurarea călătoriei turiștilor în cele mai bune condiții;

– [anonimizat].

Misiunea unei agenții nu ar trebui să se limiteze doar la vânzarea unor excelente destinații turistice ci și la oferirea confortului și liniștii de care clienții au nevoie.

[anonimizat]-se o aplicație care să asiste activitatea acesteia. [anonimizat], folosindu-ne de tehnologii din prezent și mutând majoritatea operațiilor dintr-o agenție în mediul online.

Totodată, trecerea de la a realiza majoritatea operațiilor pe “hârtie”, la o [anonimizat], a agentului de ticketing și a personalului care se ocupă de organizare/rezervări, [anonimizat], căruia i [anonimizat], programele, serviciile, etc.

[anonimizat] 2 [anonimizat]. Capitolul 3 prezintă tehnologiile informatice utilizate pentru realizarea aplicației web. Capitolul 4 prezintă analiza și proiectarea aplicației pentru o agenție de turism, iar în capitolul 5, interfața aplicației si modul de funcționare al acesteia.

MODUL DE ORGANIZARE ȘI FUNCȚIONARE AL UNEI AGENȚII DE TURISM

Ordonanța nr. 107 din 30 iulie 1999, privind activitatea de comercializare a serviciilor turistice, republicată în Monitorul Oficial nr. 448 din 16 iunie 2008, preluată de pe site-ul MDRT arată:

pachet de servicii turistice – combinația prestabilită a cel puțin două dintre următoarele trei grupe de servicii, cu condiția ca durata neîntreruptă a acestora să depășească 24 de ore sau să cuprindă o înnoptare, și anume:

transport;

cazare;

alte servicii, fără legătură cu transportul sau cazarea sau care nu sunt accesorii ale acestora și care reprezintă o parte semnificativă a pachetului de servicii turistice, cum ar fi: alimentație, tratament balnear, agrement și altele asemenea;

contract de comercializare a pachetului de servicii turistice, denumit în continuare contract- acordul de voință dintre agenția de turism și turist, care are ca obiect cumpărarea unui pachet de servicii turistice de către turist și eliberarea documentelor de plată și a documentelor de călătorie de către agenția de turism;

agenția de turism – orice unitate specializată, persoană juridică, care organizează, oferă și vinde pachete de servicii turistice sau componente ale acestora.

Activitățile specifice unei agenții de turism se bazează pe birourile de turism ale acesteia. Sarcinile sunt împărțite pe categorii, birourilor specifice, dupa cum urmeaza:

Biroul secretariat are urmatoarele sarcini:

efectuarea lucrărilor de secretariat;

înregistrarea corespondenței și repartizarea acesteia destinatarilor;

instruirea si coordonarea curierilor si comisionarilor.

Biroul de turism este organizat în doua compartimente și șase secții.

● Compartimentul producție are trei secții :

secția programare generală – care se ocupă cu elaborarea programelor de voiaj ;

secția operativă generală – care se ocupă de corelarea ofertei de voiaj în grup cu cererea;

secția operativă congrese si pelerinaje – care se ocupa de voiajele colective cu caracter profesional si religios.

● Compartimentul recepție organizează serviciile de primire și de acces și are în componența urmatoarele secții:

secția contracte pentru servicii de primire- care încheie contracte cu hoteluri si restaurante; incheie contracte cu furnizorii de diverse servicii (agenții de spectacole), încheie contracte cu agențiile corespondente.

secția recepție generala – care intocmește devizele estimative cerute de turiștii individuali pentru voiajele cu itinerarii stabilite de aceștia; inventariaza serviciile de primire din diverse localităti turistice oferite de agenție;

secția operativă generală – care indeplinește toate operațiunile de rezervări și de prestări servicii către clientela sosită in diversele localități vizitate.

Biroul dezvoltare are ca obiectiv cresterea vanzarilor.

Biroul transporturi este organizat pe doua secții cu atribuții specifice:

secția contracte:

– încheie contracte cu furnizorii de servicii de transport;

– stabilește tarifele de vânzare a biletelor și comisioanelor agenției;

– stabilește cu furnizorii clauzele contractuale si urmarește respectarea lor;

secția materiale:

– întocmește bilete și le distribuie filialelor si sucursalelor;

– întocmește registre de stoc, raspunde de gestionarea biletelor.

E .Biroul trafic accesoriu se compune din:

secția servicii bancare

– care efectuează schimb bancar și emite cărti de credit

secția asigurări diverse și expedieri bagaje

– care emite si vinde polițe de asigurare pentru bagaje și se ocupă cu serviciul de expediere al bagajului;

secția servicii diverse

– care încheie acorduri cu firme comerciale pentru vânzarea de bilete la spectacole, articole de librarie, suveniruri.

F. Biroul tarife și documentare este format din trei secții:

secția tarife: întocmește, tipărește și difuzează pliante și liste de tarife pentru servicii turistice;

secția documentare agențiala: întocmește si difuzează pentru fiecare localitate de interes turistic pliante cu informațiile necesare;

secția documentare neagențială: procură toate anuarele, publicațiile și orice alte informații editate de furnizorii de servicii.

G. Biroul publicitate poate sa cuprindă doua secții:

secția contracte

– care încheie contracte si elaborează planuri de promovare publicitară;

secția redactională

– pregateste textele pentru publicitatea pasivă, urmarește redactarea și tipărirea publicațiilor (reviste, rubrici de știri, broșuri etc.).

H. Biroul difuzare si fișier general care se ocupă cu expedierea documentației sau materialului publicitar.

Structura clasică de organizare a unei agenții de turism

Fig. 2.0

Aplicații asemănătoare

Karpaten

Fig. 2.1

Karpaten Turism este una dintre cele mai mari agenții turoperatoare din România, specializată în organizarea de pachete și servicii turistice complexe, atât pe plan local, cât și peste hotare.

Interfața cu utilizatorul este una accesibilă, cu un limbaj care nu conține termeni specifici sistemului, potrivit pentru a fi inteles de orice utilizator.

Funcționalitățile aplicației sunt multiple si constă în: posibilitatea rezervării online a pachetului turistic dorit, posibilitatea vizualizării ofertelor împărțite pe categorii în funcție de intersele utilizatorului (destinații turistice, revelion, circuite, croaziere,etc). Totodată aplicația permite utilizatorului contactarea personalului printr-un mesaj on-line.

La fel ca si aplicația prezentată pentru lucrarea de licență, această aplicație prezinta posibilitatea utilzatorilor de abonare la newsletter, pentru a primi ofertele noi ale agenției si orice informație noua adaugată. În plus față, aplicația permite clientului crearea unui cont pentru a avea acces la multiple opțiuni.

Perfect Tour

Fig. 2.2

Perfect Tour este o agenție cu multiple și complexe opțiuni de călătorie. Clieniți Perfect Tour se pot relaxa linistiți in timpul călătoriilor. Consultanții Perfect Tour sunt specilizați pe regiuni geografice și sunt pregatiți să raspundă prompt și celor mai pretențioase solicitări.

Interfața cu utilizatorul este ușor de utilizat, venind în întâmpinarea utilizatorului cu multiplele oferte, împărțite pe categorii. Sistemul informază utilizatorul asupra acțiunilor în derulare într-o perioadă de timp rezonabilă prin prezentarea ofertelor recente. Aplicația prezintă un suport “Help” care vine în ajutorul utilizatorului prin aceea că acesta poate adresa orice nelămurire personalului agenției.

Funcțiile oferite de aplicația web satisfac nevoile unui turist și constă în: posibilitatea rezervării călătoriei dorite, în hotelul dorit; posibilitatea filtrării informațiilor în funcție de interesele utilizatorului.

Direct Booking

Fig. 2.3

Direct Booking este o agenție de turism touroperatoare cu o experiență în domeniu de peste 9 ani, care oferă o gamă completă de pachete turistice atât cu transport charter avion și autocar cât și pachete cu transport individual.

Interfața cu utilizatorul este adaptată temei aplicației mai ales prin culorile folosite: predominant verde și albastru, care sunt culori vii ce descriu natura. Pentru a crea o credibilitate ridicată utilizatorului vizavi de aplicație, aceasta include părerile turiștilor cu care agenția a colaborat.

Pe lângă multitudinea de opțiuni referitoare la călătorie si cazare, aplicația oferă utilizatorului posibilitatea de a crea o cerere de ofertă. Pentru a veni în ajutorul utilizatorilor, pe lângă suportul oferit prin datele de contact, aplicația are o secțiune de întrbări frecvente ale utilizatorilor, care pot rezolva întâmpinate de aceștia.

Fig. 2.4 Tabel comparativ între aplicații

Trăsăturile comune ale aplicațiilor, sunt reprezentate de funcționalitățile impuse de domeniul aplicației. Alte opțiuni, prin care se diferă una de cealaltă, sunt cele care dau o complexitate aplicației, credibilitate, precum și o utilizare mai ușoară a acesteia.

În cazul fiecărei aplicații sunt respectate regulile culorilor, astfel că inferfața este reprezentată de culorile asociate naturii. Totodată, limbajul utilizat este unul simplu, fără a include termeni orientați pe sistem, realizându-se astfel o proiectare estetică și minimalistă a sistemului.

3. TEHNOLOGII INFORMATICE UTILIZATE PENTRU REALIZAREA APLICAȚIEI WEB

3.1 Prezentare generală a unei aplicații web

Aplicațiile web sunt programe web-based, executate într-un browser web si implementate folosind tehnologii precum: PHP, ASP, HTML, CSS, JAVASCRIPT, etc. Popularitatea acestora se afla într-un trend ascendent, tot mai mulți utilizatori îndreptându-se spre acest tip de aplicații datorita avantajelor pe care le oferă comparativ cu programele clasice (instalate si rulate).

Avantaje:

• Sunt independente de sistemul de operare. Pot fi rulate aproape de pe orice sistem de operare prin intermediul unui browser web

• Nu necesită instalare, fiind necesară doar existența unui browser web

• Actualizări / upgrade foarte ușor de făcut. Practic modificările se fac într-un singur loc (pe server), ele propagându-se automat către toți utilizatorii, nemaifiind necesară instalarea / reinstalarea aplicației pe computerul acestora. În cazul aplicațiilor client-server clasice interfața cu utilizatorul este asigurată prin intermediul unui program client instalat pe computerul fiecărui utilizator. Un upgrade la codul server de obicei presupune și un upgrade la codul de client, caz în care este necesară reinstalarea aplicației client pe fiecare computer utilizator.

• Backup-ul este foarte simplu de realizat, datele fiind stocate centralizat

• Pot fi rulate de pe orice computer care dispune de un browser web. Practic poate fi accesată din orice punct de pe glob

• De regulă marea majoritate a prelucrărilor se face pe server, prin urmare necesarul de resurse ale dispozitivului / computerului de pe care se accesează aplicația este minim

• Programarea aplicațiilor web este simplificată de existența software-ului Open Source precum: Symfony, CodeIgniter, Zend Framework, etc

• Pot fi folosite și de pe tabletă și smartphone întrucât acestea au browser încorporat. Dezavantaje:

• Poate fi dificil sau chiar imposibil de realizat o conexiune cu hardware-ul local al clientului (imprimante, scanner, etc)

SCHEMA DE PRINCIPIU A UNEI APLICAȚII WEB

În figura de mai jos este redată schema de principiu a unei aplicații web. Browser-ul utilizatorului trimite o cerere HTTP / HTTPS către serverul WEB iar acesta trimite clientului un răspuns prin cod HTML, CSS, Javascript, etc. Astfel se observă că este același principiu de funcționare ca în cazul afișării unei pagini web oarecare.

Fig. 3.0

Aplicația web pentru o agenție de se va baza pe mai multe tehnologii: – HTML, CSS , respectiv Bootstrap și jQuery au fost folosite pentru partea vizuală și crearea interfeței, în timp ce PHP se ocupă cu prelucrările ce au loc pe server (asigură funcționalitatea aplicației), iar MySQL asigură legătura cu baza de date prin stocarea datelor și accesul la acestea. De asemenea s-a folosit și Ajax acesta facilitând schimbul de informație între server și client.

3.2 HTML

HTML (HyperText Markup Language) este principalul limbaj de marcare utilizat în crearea de pagini web și alte informații ce pot fi redate într-un navigator web (web browser).

Scopul unui navigator web este acela de a citi documentele HTML și de a le reda într-o formă vizibilă sau /și audibilă. Navigatorul nu afișează marcajele HTML, ci le folosește pentru a interpreta conținutul paginii. Aceste indicații furnizate de către marcajele HTML, pot varia de la cele mai simple (fontul unui paragraf) la unele complexe (scripturi complicate, formulare, hărți). Tot prin intermediul marcajelor HTML, pot fi specificate metadate ce conțin informații despre document (titlul, autorul) sau informații ce specifică structurarea documentului (divizarea în paragrafe, liste, etc). HTML permite ca fiecare document să poată fi legat de altele prin hiperlegături (hyperlink) care formează web-ul.

Limbajul HTML poate fi citit și editat folosind orice editor simplu de text. Cu toate acestea, scrierea și modificarea paginilor solicită unele cunoștințe de HTML și consumă timp, astfel că dea lungul timpului au apărut programe utilitare cu scopul de a facilita crearea de pagini web. Editoarele grafice (denumite generic WYSIWYG = “what you see is what you get”) precum Macromedia Dreamweaver, Adobe GoLive sau Microsoft FrontPage permit ca paginile web să poată fi realizate ușor de către oricine are anumite cunoștințe de operare a calculatorului.

Deși crearea site-urilor folosind acest tip de programe este mult mai ușoară, trebuie precizat că de cele mai multe ori codul HTML generat de acestea este de o calitate slabă.

HTML poate fi generat direct prin utilizarea unor tehnologii de programare din partea serverului, precum : PHP (Hypertext Preprocessor), JSP (Java Server Pages) sau ASP (Active Server Pages).

3.3 CSS

CSS (Cascading Style Sheets) este un limbaj folosit pentru descrierea semanticii de prezentare (aspect și formatare) a unui document scris într-un limbaj de marcare (HTML).

De cele mai multe ori CSS este folosit pentru a stiliza paginile web scrise în HTML sau XHTML, dar limbajul poate fi aplicat oricărui tip de document XML. CSS a fost gândit în primul rând pentru a separa conținutul documentului (exprimat în HTML) de prezentarea documentului care include elemente precum: culori, font, orientare. Această separare îmbunătățește accesibilitatea conținutului și oferă o mai mare flexibilitate și control în specificarea și modificarea caracteristicilor prezentării. În plus, CSS permite ca mai multe pagini să folosească aceleași specificații de prezentare și reduce repetarea acestora. Mai mult, CSS oferă facilitatea ca aceeași pagină să poată fi prezentată în mai multe formate în funcție de metoda de redare (ecran, printare, dispozitive tactile, etc).

Stilurile CSS pot fi atașate documentelor HTML, atât prin includerea unor documente externe, cât și în cadrul documentului, folosind marcajul <style> și/sau atributul “style” (pentru specificarea stilului în cazul unui anumit element HTML).

Principalul dezavantaj al CSS este faptul că unele navigatoare nu sunt compatibile cu CSS și documentele HTML sunt afișate ca și cum CSS n-ar exista, dar cele mai cunoscute și utilizate browsere, cum ar fi: Mozilla Firefox, Internet Explorer, Opera, și altele, sunt compatibile CSS

Printre beneficiile CSS putem enumera: formatarea este introdusă într-un singur loc pentru tot documentul, editarea rapidă a etichetelor, micșorarea codului paginii și implicit încărcarea mai rapidă a acesteia.

Sintaxa CSS este împărțită în trei categorii/nivele:

• nivelul 1 – reprezintă proprietățile etichetelor din documentul HTML, folosind atributul style ( tip inline);

• nivelul 2 – reprezintă informația introdusă în blocul HEAD, utilizând marcajul <style> (embedded);

• nivelul 3 – reprezintă comenzile aflate în pagini separate (externe). Cea mai mare prioritate o are sintaxa de nivelul 1 (inline) iar cea mai mică o are cea de nivelul 3.

Utilizarea nivelului 3 (fișier extern care conține comenzi CSS) este practica recomandată deoarece poate fi utilizat în mai multe situații (mai multe fișiere HTML pot folosi același fișier extern CSS) eliminând astfel timpul necesar introducerii codului corespunzător în fiecare pagină și facilitând editarea lor într-un singur loc pentru mai multe fișiere.

3.4 BOOSTRAP

Bootstrap este un framework gratuit pentru front-end pentru dezvoltarea web mai rapidă și mai ușoară.

Bootstrap include șabloane de design HTML și CSS pentru tipografii, formulare, butoane, tabele, navigare, modalități, caruseluri de imagine și multe alte pluginuri JavaScript, precum și opționale.

Bootstrap vă oferă, de asemenea, posibilitatea de a crea cu ușurință modele receptive.

Avantajele Bootstrap:

-Ușor de folosit: Oricine are cunoștințe de bază despre HTML și CSS poate începe să utilizeze Bootstrap

-Funcții responsabile: CSS-ul receptiv al lui Bootstrap se adaptează la telefoane, tablete și desktop- uri

-Abordarea mobilă: În Bootstrap 3, stilurile mobil-prim sunt parte a cadrului de bază

-Compatibilitatea cu browserele : Bootstrap este compatibil cu toate browserele moderne (Chrome, Firefox, Internet Explorer, Edge, Safari și Opera)

-Scaffolding: Bootstrap vine cu o sistem de grile (grids), stiluri pentru link-uri, background-uri, butoane și multe altele.

-CSS: Bootstrap vine cu setări ce pot fi modificate din CSS și elemente prestabilite.

-Componente: Bootstrap conține o mulțime de elemente refolosibile precum icon-uri, dropdown- uri, meniuri, alerte, pop-overs și multe altele.

-Plugin-uri JavaScript: Bootstrap conține o mulțime de plugin-uri jQuery pe care le puteți include în funcție de necesități, fie pe toate.

Grid-ul bootstrap ne permite sa construim rapid layout-ul unui website responsive. Sistemul de grilă Bootstrap permite până la 12 coloane pe pagină.

Dacă nu doriți să utilizați toate cele 12 coloane individuale, puteți grupa coloanele împreună pentru a crea coloane mai largi:

Fig. 3.1

Sistemul de grilă Bootstrap este receptiv și coloanele vor fi rearanjate în funcție de dimensiunea ecranului: Pe un ecran mare ar putea să arate mai bine conținutul organizat în trei coloane, însă pe un ecran mic ar fi mai bine dacă elementele de conținut au fost stivuite unul peste celălalt.

Sistemul de grilă Bootstrap 4 are cinci clase:

.col- (dispozitive suplimentare mici – lățimea ecranului mai mică de 576 de pixeli)

.col-sm- (dispozitive mici – lățimea ecranului egală sau mai mare de 576 pixeli)

.col-md- (dispozitive medii – lățimea ecranului egală sau mai mare de 768 pixeli)

.col-lg- (dispozitive mari – lățimea ecranului egală sau mai mare de 992 pixeli)

.col-xl- (dispozitive cu dimensiuni mari – lățimea ecranului egală sau mai mare de 1200 pixeli)

Clasele de mai sus pot fi combinate pentru a crea structuri mai dinamice și mai flexibile. Unele reguli ale sistemului de grilă Bootstrap 4:

Rândurile trebuie să fie plasate într-o .container(lățime fixă) sau .container-fluid(lățime întreagă) pentru alinierea și umplerea corespunzătoare

Utilizați rânduri pentru a crea grupuri orizontale de coloane

Conținutul trebuie plasat în coloane și numai coloanele pot fi copii imediate de rânduri

Clase predefinite cum ar fi .row și .col-sm-4sunt disponibile pentru a face rapid machete de rețea

Coloanele creează jgheaburi (goluri între conținutul coloanelor) prin umplutură. Plăcuirea este compensată în rânduri pentru prima și ultima coloană prin marja negativă.rows

Grilele de coloană sunt create prin specificarea numărului de 12 coloane disponibile pe care doriți să le includeți. De exemplu, trei coloane egale ar folosi trei.col-sm-4

Lățimile coloanelor sunt exprimate în procente, astfel încât acestea sunt întotdeauna lichide și dimensionate în raport cu elementul părinte.

Cea mai mare diferență între Bootstrap 3 și Bootstrap 4 este că Bootstrap 4 utilizează acum flexbox, în loc să plutească. Un avantaj important cu flexbox este faptul că coloanele de rețea fără o lățime specificată vor fi dispuse automat ca "coloane de lățime egală" (și înălțime egală). Exemplu: Trei elemente cu .col-sm fiecare va fi automat cu o lățime de 33,33% de la punctul de rupere mic și în sus.

3.5 PHP

PHP (PHP Hypertext Preprocessor, inițial Personal Home Page) este un limbaj de programare server-side destinat dezvoltării web, dar folosit de asemenea ca un limbaj de programare de uz general. PHP a fost creat inițial de către Rasmus Lerdorf în 1995, iar acum este produs de Grupul PHP. Limbajul PHP a apărut în 1995 deoarece Rasmus Lerdorf dorea să afle câte vizitări are CV-ul lui online. PHP începe să fie remarcat din momentul în care Zeev Suraski și Andi Gutmans au rescris motorul, care va purta numele de Zend, o combinație a prenumelor celor doi programatori.

Datorită faptului că este open-source, PHP profită de faptul că are un suport activ din partea comunității online și se dezvoltă foarte rapid. Interpretorul PHP este cel mai utilizat limbaj de programare folosit pentru realizarea site-urilor Web dinamice.

Diferența față de alte limbaje de programare (precum JavaScript) este reprezentată de faptul că PHP execută operațiile pe server și nu pe calculatorul client. Astfel, PHP poate accesa baze de date, fișiere și alte resurse la care JavaScript nu are acces. În plus, PHP interpretează instrucțiunile pe server și returnează cod HTML necesar paginilor web. HTML este un limbaj static, iar codul scris în HTML este salvat în fișiere ce pot fi vizualizate prin apelarea lor în browser. Dacă este necesară modificarea conținutului paginilor HTML într-un mod dinamic și chiar crearea documentelor HTML în funcție de anumite condiții, va fi folosit un limbaj de scripting pe server, precum PHP, Perl, ASP sau altele. Respectivele pagini pot conține funcții de interogare a bazei de date, preluarea de date de pe alte site-uri sau din alte fișiere, iar în final este construită o pagină HTML trimisă către browser. Codul PHP nu este vizibil vizitatorilor. El nu este compilat, ci rămâne pe server și la fiecare cerere din partea clientului este interpretat și doar rezultatul (HTML) este vizibil.

PHP a fost folosit și în cadrul acestui proiect pentru a implementa funcționalitatea aplicației pe partea de server și de lucru cu datele.

3.6 MySQL

MySQL este un sistem de gestiune a bazelor de date relațional, creat de compania suedeza MySQL AB (în momentul de față deținută de Oracle). MySQL rulează ca un server, facilitând conectarea mai multor utilizatori și accesul la mai multe baze de date. Este printre cele mai populare sisteme de gestiune a bazelor de date, și chiar cel mai popular dintre sistemele cu sursă deschisă (open-source) la ora actuală. MySQL este totodată un element important al utilitarelor de tip LAMP (Linux, Apache, MySQL, PHP), care fac ușoară configurarea și utilizarea unui server web. MySQL este strâns legat de PHP, împreună formând așa-numitul Duo-Dinamic, folosit la majoritatea site-urilor existente.

Deși, de cele mai multe ori este utilizat alături de PHP, MySQL permite construirea de aplicații în orice limbaj major de programare (C, C++, Java, Perl, Python). Administrarea bazelor de date MySQL se poate face atât folosind modul linie de comandă, cât și prin intermediul unor interfețe grafice precum: MySQL Administrator, MySQL Workbench sau phpMyAdmin.

Principalele caracteristici ale MySQL sunt:

faptul că este un sistem de baze de date relațional;

arhitectura client/server: mysql lucrează ca un server de baze de date la care se pot conecta mai mulți clienți (programe de aplicație). Clienții pot rula pe aceeași mașină fizică sau pot fi localizați pe un alt calculator, comunicând prin rețeaua locală sau prin Internet;

compatibilitatea SQL: după cum reiese și din denumirea sa, este folosit limbajul de baze de date SQL, ca și limbaj standardizat pentru interogarea și actualizarea datelor;

viteza: MySQL este considerat una dintre cele mai rapide aplicații de lucru cu bazele de date;

independența de platformă: aplicațiile client pot rula pe o varietate de sisteme de operare, iar MySQL ca și server poate de asemenea să fie executat pe platforme precum: Apple Macintosh OS X, Linux, Microsoft Windows, dar și alte variante de Unix, cum ar fi: AIX, BSDI, FreeBSD, HP-UX, Open BSD sau Solaris.

O altă caracteristică importantă a MySQL este faptul că poate rula pe platforme cloud cum ar fi Amazon EC2, existând mai multe posibilități pentru realizarea acestei facilități precum: utilizarea unei mașini virtuale cu MySQL instalat, sau oferirea de servicii MySQL de către operatorul de găzduire.

MySQL are atât puncte forte cât și puncte slabe, “Mulți fani înrăiți ai MySQL spun că acest SGBD este mai rapid, mai de încredere și mai ieftin, sau pur și simplu mai bun, decât orice alt sistem de gestiune a bazelor de date (inclusiv sistemele comerciale precum Oracle sau DB2), în timp ce multi oponenți ai MySQL spun chiar că nu este nici măcar un sistem de baze de date relațional”. [Michael Kofler]

În ceea ce privește aplicația prezentată în această lucrare, MySQL are un rol important pentru realizarea ei în primul rând datorită faptului că este prelucrat un set de date de dimensiune mare, iar accesul la aceste date trebuie să fie cât se poate de rapid și corect. MySQL, împreună cu PHP realizează operațiile de regăsire, actualizare, inserare și ștergere a datelor.

3.7 jQuery

jQuery este o bibliotecă JavaScript concepută pentru a simplifica scripturile de pe partea de client și anume scripturile executate prin intermediul elementelor HTML. A fost lansată în ianuarie 2006 de către John Resig. Sintaxa jQuery face mai ușoară navigarea într-un document, selectarea elementelor din DOM (Document Object Model), crearea animațiilor, manipularea evenimentelor și chiar dezvoltarea de aplicații AJAX. jQuery oferă de asemenea posibilitatea dezvoltatorilor de a crea extensii pentru bibliotecile de JavaScript. Astfel, se pot abstractiza interacțiunile , animațiile și efectele.

jQuery permite îndeplinirea unor sarcini precum:

– accesarea unor anumite părți din pagină și traversarea elementelor paginii;

– modificarea aspectului unei pagini și posibilitatea schimbării dinamice a proprietăților după încărcarea paginii;

– modificarea conținutului paginilor (text, imagini);

– răspuns la interacțiunea utilizatorului cu elementele HTML;

– adăugarea de animații complexe;

Plugin-urile sau extensiile sunt cele mai interesante facilități oferite de jQuery. Programatorii pot dezvolta subaplicații care să extindă funcțiile de bază jQuery cu funcții folosite de către plugin.

Astfel, biblioteca principală ocupă doar atât spațiu cât este necesar, în timp ce extensiile vor fi încărcate doar la cerere și în acele pagini unde sunt necesare. Dezvoltatorii pot utiliza un set de extensii predefinite, numit jQuery UI (jQuery User Interface). Principalul avantaj al jQuery este faptul că dezvoltarea și testarea componentelor se face concomitent și cu dezvoltarea bibliotecii principale, astfel că este eliminată incompatibilitatea.

În cadrul aplicației de administrare, jQuery asigură interactivitatea utilizatorului cu mediul de lucru.

3.8 AJAX

Ajax este un acronim (denumirea prescurtata) de la Asynchronous JavaScript And XML. Ajax este o combinație de mai multe limbaje (client side și server side) folosite împreună, bazate în principal pe JavaScript. Aceasta tehnologie își are originea în anii 1998-2000 când a fost dezvoltată și folosită de Microsoft în aplicația Outlook Web Acces utilizând extensii ale proprietăților HTML incluse în Internet Explorer 5. Dar acest termen "AJAX" a fost creat în 2005, a devenit popular și a cunoscut o dezvoltare accentuată după ce a fost folosit de Google în aplicațiile sale: Google Maps, GMail. În mod standard, înainte de Ajax, pentru fiecare interacțiune a unei aplicații web cu serverul, pagina web trebuia complet reîncărcată. Cu tehnologia Ajax pot fi încărcate și modificate doar anumite părți din pagina, prelucrate și generate de server, fără a reîncărca toata pagina web. Acest lucru are ca rezultat încărcarea mai rapida a conținutului în pagina și reducerea traficului. De asemenea, pot fi trimise date la server, de la pagina web deschisa, în timp ce utilizatorul urmărește conținutul paginii, fără ca aceasta sa fie afectata.

Pentru folosirea Ajax este necesara cunoașterea în primul rând a limbajelor HTML sau XHTML si Javascript, apoi CSS și a unui limbaj de programare pentru partea de server precum PHP sau ASP. Pentru Ajax nu contează tipul limbajului de programare folosit pe partea de server ci răspunsul primit de la server să fie cu un Content-Type de tip text (plain, XML, HTML). Ajax este suportat de majoritatea navigatoarelor web, Internet Explorer, Mozilla Firefox, Opera, Safarii,

…., și utilizează în principal obiectul JavaScript XMLHttpRequest, acesta permite realizarea comunicării cu serverul si afișarea datelor primite fără a fi necesara reîncărcarea paginii. Având in vedere ca Ajax trebuie sa folosească JavaScript, care poate fi dezactivat de utilizator, iar motoarele de căutare încă nu știu sa indexeze paginile din site care sunt generate prin JavaScript; trebuie ținut cont de aceste lucruri când se creează site-uri web care folosesc Ajax.

4.9 WAMP server

WampServer este o platformă Web de dezvoltare bazată pe WAMP care permite rularea scripturilor PHP local (fără a fi nevoie conectarea la un server extern). WampServer nu este el însuși un software, ci un mediu care cuprinde trei servere (Apache, MySQL și MariaDB), un interpret de script (PHP), precum și phpMyAdmin pentru administrarea web bazei de date MySQL.

4. ANALIZA ȘI PROIECTAREA APLICAȚIEI PENTRU O AGENȚIE DE TURISM

4.1 Descrierea aplicației și funcțiile acesteia

Aplicația este destinată clienților agențiilor de turism, respectiv personalului birourilor dintr-o astfel de agenție. Caracterul general al acesteia permite folosirea ei de catre orice agenție care prestează serviciile conținute de aceasta.

Prin această aplicație se urmărește prestarea de servicii turistice online, ușurând astfel accesul clienților la ofertele agenției și la serviciile oferite de aceasta. Prezentarea ofertelor si serviciilor de catre angajații agenției, cărora le revin aceste atribuții, sunt realizate acum mult mai ușor prin expunerea acestora online, putând fi accesate de orice doritor/client. Rezervările pentru pachetele turistice pot fi făcute, de asemenea, online. Aplicația permite, in principiu, introducerea de către client a informațiilor necesare pentru realizarea rezervării pachetului dorit de acesta, car vor fi memorate de aplicație în vederea accesării lor de catre agentul de reservări. În același timp, primirea gratuită de noi oferte poate fi realizată prin abonarea cu ajutorul adresei de e-mail a clientului la newsletter-ul aflat la îndemâna clientului pe fiecare pagină.

4.2 Proiectarea interfeței

Interfața (GUI – Graphical User Interface) este unul dintre cele mai importante elemente ale unei aplicații deoarece reprezintă partea vizuală cu care interacționează utilizatorul. Scopul interfeței este acela de a face interacțiunea utilizatorului cât de simplă și eficientă posibil pentru ca acesta să-și atingă obiectivele. Acest tip de gândire a interfeței este de cele mai multe ori denumit: user-centered design și anume aspect centrat pe utilizator și după cum spune denumirea se referă la faptul că atunci când se proiectează o interfață, persoana care folosește aplicația trebuie să fie cel mai important element luat în considerare. Procesul de dezvoltare a interfeței trebuie să balanseze funcționalitatea tehnică și elementele vizuale pentru a crea un sistem care este nu doar operațional ci și utilizabil și adaptabil la schimbările de care are nevoie utilizatorul.

Aspectul referitor la prezentarea informației este descris în articolul 12 al standardului ISO 9241 referitor la organizarea informației (aranjare, aliniere, grupare, etichetare, locație), prin șapte atribute:

claritate: conținutul informației este redat rapid și exact;

discriminabilitate: informațiile redate pot fi distinse eficient;

simplitate: utilizatorii nu sunt supraîncărcați cu informații inutile;

consistență: un aspect unic, conform cu aștepțările utilizatorilor;

detectabilitate: atenția utilizatorului este direcționată către informația necesară;

lizibilitate: informația este ușor de citit;

înțelegere: informația este ușor de înțeles, neambiguă și ușor recunoscută;

Aspectul aplicației este unul clasic pentru o aplicație web, și este reprezentat de împărțirea ferestrei browserului în mai multe părți cu funcționalități diferite

meniul: de unde utilizatorul poate naviga în paginile dorite ale aplicației

Fig. 4.0

conținutul paginii care diferă de la o pagină la alta si poate cuprinde fie ofertele disonibile, fie detaliile referitoare la o ofertă si posibilități de rezervare

Fig. 4.1

Fig. 4.2

Fig. 4.3

subsolul paginii, unde utilizatorii întâlnesc o parte din echipa agenției de turism, precum și detalii de contact

Fig. 4.4

4.2 Proiectarea bazei de date

4.2.1 Noțiuni teoretice

În primul rând, trebuie precizat faptul că realizarea unei aplicații cu baze de date necesită existența unui sistem de baze de date (DBS = Database System), ce reprezintă un set de elemente interconectate prin intermediul cărora se realizează colectarea, stocarea și procesarea datelor.

Din categoria produselor software, cel mai important este Sistemul de Gestiune a Bazei de Date(SGBD), ce reprezintă un ansamblu de programe ce oferă o interfață între baza de date și utilizatori.

Astfel, un SGBD are rolul de a asigura: definirea și descrierea structurii bazei de date, încărcarea și validarea datelor, accesul la date pentru operații de consultare, interogare sau actualizare, mentenanța bazei de date și protecția bazei de date. Într-un sistem de calcul, datele sunt stocate atât în memoria internă (temporară), dar mai ales în memoria externă. Stocarea datelor în memoria externă a fost condiționată de aspecte precum : accesul rapid și ușor la date, volumul de date tot mai mare, creșterea complexității datelor, perfecționarea echipamentelor de stocare și nu în ultimul rând lucrul în rețelele de calculatoare. Stocarea datelor se poate face atât în fișiere, cât și în baze de date (care au evoluat din fișiere).

Baza de date este un ansamblu de colecții de date organizat coerent, structurat astfel încât redundanța să fie minimă și controlată, iar accesul la date să fie permis mai multor utilizatori simultan și în timp util. Deși există mai multe generații de baze de date (arborescente, rețea, relaționale , orientate obiect), cele mai utilizate în practică sunt cele relaționale (aproximativ >75% din total).

Pentru a înțelege conceputul de bază de date, voi prezenta pe scurt elementele unei baze de date:

domeniul de valori desemnează mulțimea valorilor posibile pentru o caracteristică;

caracteristica reprezintă definirea și descrierea unui anumit aspect dintr-o entitate din lumea reală;

familia de caracteristici reprezintă ansamblul proprietăților care se referă la aceeași entitate din lumea reală;

colecția de date reprezintă o familie de caracteristici asupra căreia se aplică un predicat care reprezintă o legătură între colecția curentă de date și o altă colecție.

Putem deci spune ca baza de date este un ansamblu de colecții de date aflate în interdependență împreună cu descrierea datelor.

Revenind la modelul relațional, proiectarea unei baze de date presupune definirea entităților și a legăturilor dintre acestea. Astfel, entitățile vor fi definite sub forma unor tablouri bidimensionale denumite tabele sau relații. Conceptele utilizate sunt următoarele:

domeniul desemnează ansamblul valorilor ce pot fi utilizate;

tabela sau relatia este un subansamblu al produsului cartezian dintre mai multe domenii, caracterizat printr-o denumire;

atributul ilustrează o coloană dintr-o tabelă care are o denumire și care va lua valori dintr-un domeniu. Unele atribute pot avea rolul de cheie;

tuplul (înregistrare/realizare/instanță) este linia dintr-o tabela;

cheia reprezintă un atribut ori un ansamblu de atribute cu rolul de a identifica un tuplu dintr-o tabelă;

Definirea legăturii dintre entități se face la nivel logic prin construirea de asocieri cu ajutorul unor atribute de legătură (chei externe).

Ansamblul tabelelor și al legăturilor dintre acestea constituie schema bazei de date.

Un aspect important în realizarea unei baze de date este reprezentat de înlăturarea anomaliilor.

Cea mai utilizată tehnică pentru rezolvarea acestei situații este tehnica normalizării care presupune ca toate relațiile să respecte cele cinci forme normale.

4.3 Proiectarea practică a bazei de date

Pentru facilitatea creării bazei de date și a tabelelor s-a folosit phpMyAdmin

Fig. 4.5

Baza de date care poartă denumirea de concerte prezintă următoarele tabele:

Tabel c pentru stocarea și afișarea in pagina web a datelor despre ofertele care privesc concertele sau alte evenimente

Fig. 4.6

Tabel circuite pentru stocarea și afișarea datelor referitoare la ofertele ce privesc circuitele turistice

Fig. 4.7

Tabel email care stocheaza datele utilizatorilor care doresc abonarea la newsletter pentru a primi noile oferte

Fig. 4.8

Tabel rezervare care presupune salvarea datelor introduse de către client în vederea realizării rezervării pachetului dorit

Fig. 4.9

Tabel tari care salvează pentru afișare in pagina web a datelor referitoare la ofertele pentru o anumită țară

Fig. 4.10

Proiectarea fizică a bazei de date este reprezentată de alegerea structurilor de acces și memorare a datelor, astfel încât acestea să fie optime. Se ține cont de timpul de răspuns, utilizarea spațiului de memorie sau capacitatea tranzacțională. Aceste decizii se pot lua după analiza aplicației care va utiliza baza de date și mai ales după testarea funcționării acesteia în condițiile dorite (un anumit număr de utilizatori și un anumit volum de date). În principal, analiza fizică a bazei de date are ca scop descoperirea atributelor care sunt cel mai frecvent utilizate în interogări sau care sunt actualizate cel mai des, pentru stabilirea indexurilor secundare ale relațiilor.

Un alt obiectiv care trebuie urmărit în proiectarea bazei de date este reprezentat de către protecția bazei de date și ne referim la securitatea și integritatea datelor. Securitatea datelor este realizată în primul rând prin autorizarea și controlul accesului la date. Utilizatorii vor fi identificați și vor avea anumite drepturi în ceea ce privește accesul la baza de date în funcție de calitatea /funcția pe care o îndeplinesc. Un alt aspect ce ține de securitate este faptul că unele date, cum ar fi parolele vor fi transmise codificat. Integritatea bazei de date este asigurată prin restricții de integritate și validări asupra datelor, dar și prin salvarea unor copii de siguranță (backup).

5. PREZENTAREA MODULUI DE FUNCȚIONARE SI IMPLEMENTARE AL APLICAȚIEI

5.1 Implementarea aplicației

Pentru dezvoltarea aplicației am utilizat tehnologiile prezentate în capitolul 3 al curentei lucrări. Astfel, am folosit ca și mediu de lucru SublimeText (versiunea 3). Serverul web utilizat este Apache care conține modulele de MySQL și PHP, iar pentru crearea structurii bazei de date am folosit utilitarul PhpMyAdmin. În timp ce partea care s-a ocupat cu funcționalitatea aplicației a fost realizată în PHP și MySQL, pentru partea vizuală a programului au fost utilizate HTML, CSS cu framework Bootstrat și jQuery.

5.1.1 Implementarea bazei de date și a funcționalității acesteia

Implementarea bazei de date este realizată prin intermediul limbajului de descriere a datelor (LDD) pentru crearea tabelelor, iar apoi prin limbajul de manipulare a datelor (LMD) pentru popularea, regăsirea și actualizarea datelor.

Crearea bazei de date a fost realizată utilizând aplicația PhpMyAdmin care se conectează la serverul MySQL și accesează baza de date. Crearea tabelelor poate fi făcută atât în mod vizual folosind asistentul aplicației, cât și prin scrierea de cod SQL. Spre exemplu, crearea tabelei rezervare se realizează executând următoarea comandă SQL:

DROP TABLE IF EXISTS `rezervare`;

CREATE TABLE IF NOT EXISTS `rezervare` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`nume` varchar(30) NOT NULL,

`prenume` varchar(30) NOT NULL,

`telefon` int(11) NOT NULL,

`email` varchar(30) NOT NULL,

`adulti` int(11) NOT NULL,

`copii` int(11) NOT NULL,

`numepechet` varchar(30) NOT NULL,

`data` date NOT NULL,

`camera` varchar(10) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

Fig. 5.0

Se observă faptul că tabela “rezervare” face parte din baza de date “concerte”, și are atributele: id, nume, prenume, telefon, email, adulti, copii, numepachet, data, camera, dintre care id este cheie primară.

În ceea ce privește funcționalitatea bazei de date, acesta este realizată prin limbajul de manipulare a datelor prin intermediul comenzilor INSERT, UPDATE și DELETE.

De exemplu inserarea datelor în tabela rezervare se realizează executând următoarea comandă SQL:

INSERT INTO `rezervare` (`id`, `nume`, `prenume`, `telefon`, `email`, `adulti`, `copii`, `numepechet`, `data`, `camera`) VALUES

(1, 'Popa', 'Alisa', 753528275, 'popa.alisa97@yahoo.com', 1, 2, Balcani, '2019-07-24', Single);

care are ca și rezultat:

Fig. 5.1

Implementarea interfeței și a funcționalității acesteia

În proiectarea și realizarea interfeței am ținut cont de câteva aspecte importante, și anume:

am pus accent pe simplitate, care face mai ușoară memorarea și micșorează posibilitatea de apariție a confuziilor;

mesajele de eroare sunt clare pentru utilizator, acesta nu trebuie să învețe detalii de programare;

interfața este una simplă de utilizat, fără a pune utilizatorii în dificultate, etc.

Proiectarea interfeței este realizată folosind atât HTML+CSS, cat și framework-ul Bootstrap ceea ce a permis crearea unei interfețe ușor de utilizat atât pe desktop cât și pe laptop sau tabletă, De exemplu pentru crearea formularului de rezervare a pachetelor turistice ce vizează circuitele, s-a folosit următorul cod:

<div class="container" style="height: 100%">

<div class="row">

<form name="form1" action="insert.php" method="POST">

<table>

<tr>

<td>Nume </td>

<td><input type="text" name="t1" id="t1"></td>

</tr>

<tr>

<td>Prenume </td>

<td><input type="text" name="t2" id="t2"></td>

</tr>

<tr>

<td>Telefon </td>

<td><input type="tel" name="t3" id="t3"></td>

</tr>

<tr>

<td>Email </td>

<td><input type="email" name="t4" id="t4"></td>

</tr>

<tr>

<td>Adulti </td>

<td><input type="text" name="t5" id="t5"></td>

</tr>

<tr>

<td>Copii </td>

<td><input type="text" name="t6" id="t6"></td>

</tr>

<tr><td>Pachet</td>

<td><select name="t7" id="t7">

<option value="Balcani">Balcani</option>

<option value="Africa">Africa</option>

<option value="Argentina">Argentina</option>

<option value="Austria">Austria</option>

<option value="Caucaz">Caucaz</option>

<option value="China">China</option>

<option value="Elvetia">Elvetia</option>

<option value="Grecia">Grecia</option>

<option value="Israel">Israel</option>

<option value="Maroc">Maroc</option>

<option value="Romania">Romania</option>

<option value="Acotia">Scotia</option>

<option value="SUA">SUA si Canada</option>

</select></td>

</tr>

<tr>

<td>Data </td>

<td><input type="date" name="t8" id="t8"></td>

</tr>

<tr><td>Tip camera</td>

<td><select name="t9" id="t9">

<option value="volvo">Single</option>

<option value="saab">Dubla</option>

</select></td>

</tr>

<tr>

<td><input type="submit" name="b1" value="Rezervati" onclick="aa();">

</td>

</tr>

</table>

</form>

</div>

</div>

Proiectare în direcția esteticii este reprezentată de informație grupată în categorii (exemplu în figua de mai jos) și organizarea stimulilor vizuali in structuri mari. Culorile folosite în proiectarea interfeței sunt culorile specifice temei aplicației:

Albastrul: Este culoarea care ne definește planeta (“Planeta Albastră”). În general exprimă o stare de odihnă si pasivitate. În contextul paginii este folosită pentru a induce sentimentul de libertate, liniște, etc, creat printr-o calătorie de vis.

Albul este culoarea care reflectă lumină, puritate, iar în combinație cu albastru realizează un contrast deosebit.

Fig. 5.2

Tipurile informațiilor utilizate se deosebesc atât prin culoare, cât și prin mărimea textului, respectând astfel un important principiu de proiectare vizuala, care face referire la modul de percepere și interacțiune al utilizatorului cu interfața.

Fig. 5.2

Fig. 5.3

Fig. 5.4

Pentru a spori credibilitatea site-ului în viziunea utilizatorului, în partea de subsol a paginii de început, acesta poate găsi o parte din echipa care se află în spatele siteului. Detaliile prezentate vizează calificarea profesională a membrilor: studii superioare, postul ocupat.

Fig. 5.5

5.2 Utilizarea aplicației

Aplicația este intuitivă și ușor de utilizat de orice persoană, chiar și neinițiată în lucrul cu calculatorul, respectând astfel unul dintre principiile lui Nielsen(“Crearea unui model al sistemului care să fie compatibil cu realitatea”)

Sistemul comunică cu utilizatorul în limbajul uzual acestuia, folosind fraze, cuvinte și concepte familiare și nu termeni orientați pe sistem. Informația apare într-o ordine și urmează o logică “naturală”.

Fig. 5.6

Totodată, aplicația ajută utilizatorul să recunoască și diagnosticheze o eroare prin afișarea unor mesaje într-un limbaj simplu( fără codificări), care să indice in mod precis problema apărută, respectând prin aceasta un alt principiu al lui Nielsen :

Fig. 5.7

Fiind o aplicație ușor de utilizat, nu este nevoie de a furniza suport și documentare in vederea utilizării acesteia. Orice informație este ușor de căutat, focalizată pe ce are de făcut utilizatorul, în caz contrat, suportul este asigurat prin datele de contact la care clientul poate apela pentru orice nelamurire.

Prima pagină cu care utilizatorul ia contact atunci când utilizează aplicația este “index.php” si reprezintă pagina principală a aplicației. Aici, exista o secțiune informativă, intitulată “Cele mai vizitate locuri din lume” unde utilizatorii pot vizualiza pe baza informațiilor culese din statisticile de pe internet, cele mai frumoase locuri din lume. Totodată, aici se pot vizualiza si ultimele oferte disponibile introduse.

Fig. 5.8

Fig. 5.9

Meniul este secțiunea de unde utilizatorul poate naviga între paginile aplciației și este adaptat atât versiunii mobile cât și celei pe calculator.

În această parte a paginii sunt reprezentate pe categorii ofertele agenției, făcând în acest fel munca mai ușoară utilzatorului.

Fig. 5.10

Fig. 5.11

Pagina “europa.html” reprezintă ofertele repartizate pe continente, si anume reprezintă ofertele din Europa. Prin acționarea butonului de “Vizualizare” a ofertei, utilizatorul va fi redirecționat pe o altă pagină unde va găsi orașele pentru care agenția are oferte curente.

Fig. 5.12

Fig. 5.13

Ofertele sunt afișate în pagină din baza de date, unde sunt introduse atât informații text despre acestea, cât și imaginile aferente ofertei.

Fig. 5.14

La acționarea butonului de “Vizualizare” din cadrul ofertei, va apărea o fereastră cu detalii referitoare la pachetul turistic respectiv.

Pagina “vacante.html” conține la fel ca si celelalte pagini care sunt grupate pe continente, o serie de oferte turistice, dar care fac referire la vacanțe exotice, specifice anului curent, 2019.

Fig. 5.15

“circuite.html” și “croaziere.html” prerezintă paginile din aplicație referitoare la pachete turistice pentru circuite si croaziere. La fel ca și pentru celelalte oferte turistice prezentate în paginile anterioare, și pentru circuite și croaziere se pot face rezervări online, iar acest aspect este afișat în fotografia “rezvare”

Fig. 5.16

Fig. 5.17

Fig. 5.18

Fig. 5.19

În figurile de mai sus este expus un exemplu de efectuare a cazării și modul în care informațiile sunt introduse în baza de date după ce utilizatorul completează formularul de cazare.

Secțiunea “Evenimente” conține tipuri de evenimente: Concerte, Nuntă in străinătate, Revelion, reprezintă o secțiune mai specială față de celelalte, întrucât aici sunt regăsite oferte mai complexe.

Pe lângă facilitățile de cazare, transport, etc pe care le au turiștii care aleg ofertele agenției, ofertele concertelor, conțin inclus și biletul de intrare la concertul ales.

Fig. 5.20

Fig. 5.21

Opțiunea “Contact” duce utilizatorul în partea de subsol a paginii, unde acesta găsește informațiile necesare pentru a intra în legatură cu personalul ageției. Tot aici se găsește și secțiunea de abonare la newsletter, prin care dacă se va înscrie, utilizatorul va primi noile oferte și actualizări.

Fig. 5.22

Concluzii

Întregul proces de concepere al acestei lucrări a fost pentru mine o adevărată provocare prin aceea că am învățat multe lucruri noi, am aprofundat și îmbogățit cunoștințe. Pentru toate acestea am avut mult timp de alocat documentării tehnice.

Aplicația realizată oferă posibilitatea unui utilizator (turist) de a “traversa” online lumea și a alege opțiunile turistice care îl avantajează.

Lucrarea reprezintă doar o mică parte din ceea ce se întamplă în viața reală într-o agenție de turism. Atfel, mai este nevoie de a adaugă informații despre modul în care se desfășoară transportul, felul în care arată unitățile de cazare cu care turiștii vor lua contact. De asemenea, se poate implementa posibilitatea creării unui cont de utilizator, prin care clienții fideli ai agenției să poată avea și alte funcții disponibile: adăugarea în secțiunea de favorite a unor oferte care au stârnit interesul acestora, cererea unei oferte, etc.

Având în vedere cele enumerate mai sus, rezultă faptul că aplicația care și-a propus să realizeze online funcțiile unei agenții de turism, a reușit să își atingă scopul.

Bibliografie

Wikipedia, Scribd – în special pentru partea de început a lucrării

https://www.php.net/ – pentru funcțiile PHP

http://www.discant.ro/ – AJAX, CSS

https://dev.mysql.com/doc/ – MySQL

https://www.w3schools.com/ HTML, CSS, JavaScript

Similar Posts