Platforma integrata de co municare si planificare a [612970]

Universitatea POLITEHNICA Bucure ști
Facultatea Automatică și Calculatoare
Departamentul Automatică și Informatică Industrială

Platforma integrata de co municare si planificare a
deplasarilor cu scop turistic

Coordonator Absolvent: [anonimizat]. Univ. Dr. Adriana Olteanu Diana Cocea

2018

2 Cuprins

1. Introducere …………. ………………………………………………………………………. 2
1.1 Structura documentului…………………………………………………………………………. 3
1.2 Obiectivele proiectului …………………….. …………………………………………………… 4
2. Prezentarea domeniului din care face parte lucrarea……………………………………………….. 5
3. Descrierea problemei abordate și a metodei de rezolvare propuse………… ………………… 14
4. Documentație tehnică – prezentarea aplicației, echipamentelor, algoritmilor, experimen –
telor etc. și a rezultatelor obținute ………………………………………………………………………. 25
4.1. Echipam ente utilizate…………………………………………………………………………………. 30
4.2. Tehnologii software…………………………………………………………………………………….40
4.3 Rezul tate obținute……………………………………………………………………………………….50
5. Concluzii și dezvoltări ulterioare (contribuții originale, domenii de utilizare posibile,
comparații cu realizări similare – cu sublinier ea avantajelor, performanțelor etc. -, alte
aspecte relevante) …………………………………………………………………………………………….. 59
7. Bibliografie………………………………………………………….. …………………………………………. 64
8. Anexe (cu fragmente de cod software sau/și diagrame sau alte elemente, dacă este cazul)

3

1. Introducere

Se poate spune, pe drept cuvant, ca traim intr -o societate cu totul informatizata. Acest
lucru se datoreaza faptului ca ne dam seama din ce in ce mai mult de faptul ca sistemele de
calcul ne usureaza munca, viata prin aparitia si dezvoltarea lor. In ultimii ani, aplicatiile
desktop au inceput sa fie tot mai putin folosit, tehnologiile dezvoltandu -se foarte mult in
zona web. Cel mai mare si cel mai evident avantaj al unei aplicatii web este flexibilitatea
acesteia. O aplicatie web poate fi accesata de oriunde, folosind orice calculator conectat la
internet. Acest lucru se d atoreaza localizarii aplicatiei pe un server, care poate fi accesat
daca exista conexiune la internet.

1.1 Structura documentului

Primul capitol prezinta cateva notiuni introductive referitoare la pr oblema data si
obiectivele proiectului.

In capitolul 2 sunt prezentate alte aplica ții cu aceeași temă, evidențiindu -se elementele
noi pe care proiectul de față le aduce.

In capitolul 3 este prezentata ideea generala a solutiei problemei pe care o propune
proiectul. Se realizeaza un chestionar completat de persoane de varste diferite, p e baza
caruia se va implementa chatbot -ul.

In capitolul 4 sunt analizate tehnologiile folosite pentru implementarea interfeței
aplicației și a logicii din spate. Capitolul va descrie procesul realizarii aplicatiei. Vom
vorbi despre alegerea tehnologiilor, framework -ul React pentru partea de front -end, dar si
motivul pentru care se combina atat de bine cu Firebase, serviciul pentru centralizarea
datelor. Fiecare etapa importanta din realizarea proiectului va avea exemple de cod, pentru
o mai buna intelegere .

In capitolul 5 se descrie functionalitatea exacta a aplicatiei, fiecare pas pe care
utilizatorul trebuie sa il faca pentru a putea folosi acest serviciu. Pe langa descrieri, fiecare
pas va avea asociat imagini din aplicatie, pentru a se putea ilustra c at mai bine
functionalitatea. Vor fi, de asemenea, specificate motivele pentru care s -au ales solutiile,
logica, ordinea.

Capitolul 6 reprezinta partea finala, cea a concluziilor. Aici vom face un rezumat al
functionalitatilor, concluzionand cu ajutorul r eal pe care aplicatia il ofera utilizatorilor la
problema care exista in momentul actual. Vom discuta, de asemenea, si despre dezvoltarile
ulterioare pe care proiectul urmeaza sa le aiba.

4 1.2 Obiectivele proiectului

Exista o varietate foarte mare de aplica tii, avand diverse functionalitati care vin in
ajutorul utilizatorilor. Dupa o cercetare asupra aplicatiilor existente pana in momentul de
fata, am desco perit faptul ca oamenii inca au „probleme” la capitolul calatorie, indiferent
de natura acesteia, spre exemplu, alegerea unui restaurant pentru servirea mesei, gasirea
unui loc de relaxare, gasirea cazarii potrivite. Toate aceste locuri nu sunt atat de usor de
gasit, deoarece oamenii au pareri si gusturi diferite, din acest motiv, parerile de pe un
forum sa u de pe diverse site -uri de promovare nu sunt intotdeauna relevante.

Aplicatia „Ghidul tau” vine în ajutorul oamenilor prin gasirea soluțiilor prin cea mai
simplă metodă – comunicarea dintre persoane. Lucrarea de față încurajeaza interacțiunea
dintre oam eni, deoarece ghidul din numele proiectului reprezinta, de fapt, chiar o persoana
reală care vine în ajutorul utilizatorului. De asemenea, cel care folosește aplicația va putea
sa își defineasca itinerariul pe care l -a parcurs, adăugand poze, comentarii, i nformatii
folositoare pentru alți utilizatori cu aceeasi destinație.

Obiectivele aplicației :

 Găsirea ghidului ideal cu ajutorul chatbot -ului
 Comunicarea dintre utilizator si ghid
 Definire itinerariu

2. Prezentarea aplicațiilor din același domeniu

Există diferite aplicatii in acelasi centru de interes, aplicatii care, insa, nu imbina toate
elementele necesare pentru ca utilizatorul sa aiba parte de o experienta completa.

Aplicatia “Flip the Trip” are puncte comune cu aplicatia dezvoltata in aceasta luc rare,
obiectivul ei general fiind acela de la face legatura intre persoane care au interese, doar din
punct de vedere al calatoriilor, comune. Persoanele pot comunica, isi pot face propriul
profil , pot adauga poze si informatii personale. Spre deosebire de aplicatia de față, “Flip
the Trip” nu are niciun mecanism prin care sa se facă o legatură automată între utilizatori.
Aplicația poate să sa folosească, de asemenea, de datele utilizatorului, in cazul in care
acesta are profil de Facebook si/sau Instagram.

5

Fig 2.1. Pagina de prezentare a aplicației “Flip the Trip”

O altă idee de aplicație este “Ask a Stranger”, care, dupa cum ii sugerează si
numele, incurajeaza turiștii să comunice cu persoanele necunoscute din aceeași zonă in
care se află in moment ul de față. Aplicația oferă puncte castigatoare utilizatorilor care au
ajutat, in acest mod, comunitatea poate creste si aplicația se poate dezvolta.

In concluzie, exista in momentul actual o mulțime de aplicații in aria de interes a
turismului. Acestea s e diferențiază in funcție de scopul principal pe care doresc sa il
realizeze. Majoritatea incurajează comunicarea intre persoane, ceea ce confirma faptul ca
experienta unei alte persoane este o foarte puternica sursa de informatie.

“Your Guide” se diferen tiaza de restul aplicatiilor prin faptul ca are implementat un
chatbot care face legatura intre persoane. Logica din spatele acestui chabot se bazeaza pe
un chestionar adresat persoanelor ce fac parte din diverse categorii de varsta. Pe baza
raspunsurilor primite in urma chestionarului au rezultat anumite procentaje asociate
intrebarilor chatbotului.

3. Prezentarea ideii generale a proiectului

Luând in considerare scopul aplicației si aplicațiile similare, funcționalitățile
principale ale proiectului de față sunt :

 Chatbot -ul face legatura dintre utilizatori, intre cel care dorește să călătorească
si ghid. Acestă legatura nu este facuta intampla tor, ci pe baza unei logici bine
pusa la punct.

Intr-o prima etapă, vizitatorul si ghidul vor trebui sa aiba in comun lucruri
esentiale :

6

 Destinația
 Limbile vorbite (cel putin una sa fie comună)
 Genul (in cazul in care călătorul specifică explicit fapt ul ca doreste sa
aiba drept ghid o persoana de gen feminin/masculin)

Următoarele informații importante in alegerea ghidului potrivit sunt:

o Atracțiile turistice
o Hobby -urile
o Vârsta
o Genul muzical
o Ocupația

Fiecare dint re informațiile de mai sus va avea a numite procentaje desemnate
pe baza unui chestionar completat de 20 de persoane (12 persoa ne cu varste
cuprinse intre 21 -30 ani, si 8 persoane cu varste cuprinse intre 41 -50 ani).

Formular realizat pentru alocarea procentajelor

7 Intrebarea adresata i n formular: “ Daca ai avea ocazia sa iti alegi un ghid pentru o
vacanta, care ar fi cele mai importante lucruri pe care ar trebui sa le aveti in comun pentru
a fi sigur ca sfaturi lui ti le potrive sc in totalitate?”.

In urma notelor date fiecarei raspuns, au rezultat urmatoarele procentaje:

Procentaje rezultate in urma sondajului

4.Tehnologii folosite pentru implementarea
aplicatiei

3.1 Interfata aplicatiei

Interfata este realizata doar pentru zona web, existand mai multe variante de
framework -uri pen tru implementare:

 React –
 Angular
 Vue.JS

Dintre toate aceste tehnologii am ales sa folosesc React, un framework pentru
aplicatiile web, dezvoltat de initatorii Facebook. A cesta stie de randeze eficient, doar
componenta in care datele s -au schimba t, din acest motiv este foarte inteligent, spre
deosebire de framework -ul Angular, care rerandeaza intreaga componenta, in cazul in care
ceva se modifica.
Abordarea React minimizeaza noile concepte care trebuie invatate, fiind mai
apropiat de standardele J avaScript.

8 Unul dintre lucrurile foarte bune la React este faptul ca view templates (sabloanele
de vederi) sunt create in JavaScript sau fisiere JSX. Avantajele rezultate:

 Nu trebuie sa inventam si sa invatam noi structuri de controale pentru a
manipula H TML, de exemplu directive “for” din Angular. Putem folosi cod
JavaScript pur, de exemplu “array.map” pentru a realiza iteratii intr -o
colectie.
 Orice eroare de sintaxa ca fi remarcata din timp la compilare

Managementul de stare este dificil si in cazul in care aplicatia ajunge la o
dimensiune mai mare, pot aparea unor erori in aplicatie. Pentru a usura partea de
management, se foloseste foarte mult libraria Redux.

Redux se bazeaza pe trei principii:

 Intreaga stare a aplicatiei este stocata intr -un obiect arbore, intr -un singur
loc de stocare
 Singura modalitate prin care se poate schimba arborele de stare este
emiterea unei actiuni, un obiect ce descrie ceea ce s -a intamplat
 Pentru a specifica modul in care actiunile transforma arborele de stare, se
scriu reductori puri

Pentru aplicatia de fata am ales sa nu folosesc libraria Redux, deoarece
dimensiunile aplicatiei nu necesitau acest lucru.

Angular reprezinta o alternativa pentru React. Este dezvoltat de Google si
reprezinta, de asemenea, un framework fo arte cunoscut si folosit.

Vue.JS reprezinta un framework de curand aparut. Este o combinatie intre React si
Angular, prezentand avantajele amandoua. Drept rezultat, Vue.JS suprinde prin simplitatea
pe care o ofera.

3.2 Backend -ul aplicatiei

Pentru partea de back -end a aplicatiei am ales sa folosesc o platforma care imi
asigura accesul din client la baza de date – Firebase, dezvoltat de Google.
Acest serviciu este usor de folosit si prezinta o multime de tool -uri foarte utile in
dezvoltarea aplicatiilor, p rintre care si cele folosite in realizarea aplicatiei de fata –
serviciul de autentificare si baza de date in timp real. Pentru toate aceste servicii ne
sunt puse la dispozitie serverele Google, dezvoltatorii neavand nevoie sa isi creeze un
server propriu.
Baza de date este de tip NoSQL si are implementat protocolul de comunicatie
WebSockets.

NoSQL, dupa cum ii spune si numele, in comparatie cu bazele de date relationale,
nu se bazeaza pe conceptia de legaturi intre tabele. O astfel de baza de date stoc heaza
datele sub forma unui arbore.
Datele pot fi accesate prin noduri, de exemplu, in cazul in care avem calea
“/users/messages/text”:

9  “text” – nodul curent
 “messages” – nodul parinte
 “users” – nodul parinte al precedentului
 “/” – nodul radacina

Fireba se ofera o interfata foarte intuitiva utilizatorilor.

Structura baza de date in Firebase

Interfata autentificare in Firebase

10

Similar Posts