0% au considerat acest document util (0 voturi)
49 vizualizări44 pagini

Proiect de Licență Aplicație de Monitorizare A Locației

Documentul prezintă un proiect de licență pentru o aplicație de monitorizare a locației. Include o analiză a pieței și a aplicațiilor similare, precum și o descriere a funcționalităților aplicației și a tehnologiilor folosite.

Încărcat de

dco123
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
49 vizualizări44 pagini

Proiect de Licență Aplicație de Monitorizare A Locației

Documentul prezintă un proiect de licență pentru o aplicație de monitorizare a locației. Include o analiză a pieței și a aplicațiilor similare, precum și o descriere a funcționalităților aplicației și a tehnologiilor folosite.

Încărcat de

dco123
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

Universitatea POLITEHNICA București

Facultatea de Automatică și Calculatoare

Departamentul de Automatică și Informatică Industrială

PROIECT DE LICENȚĂ

Aplicație de monitorizare a locației

Coordonator științific

Dr. Ing. Ș.l. Munteanu Călin

Absolvent

Eparu Andreea-Mihaela

2016
CUPRINS

[Link] 3

1.1 MOTIVAȚIE 3
1.2 OBIECTIVE 3
1.3 DESCRIEREA DOMENIULUI DIN CARE FACE PARTE 4
1.4 PREZENTAREA CAPITOLELOR 4

2. Analiză tip business 5

2.1 ANALIZĂ DE PIAȚĂ 5


2.1 ANALIZĂ SWOT 7

3. Aplicații similare și funcționalități ale aplicației implementate 8

3.1 APLICAȚII SIMILARE 8


3.1.1 APLICAȚII ANDROID 8
3.1.2 APLICAȚII IOS 17
3.1.3 APLICAȚII WEB 18
3.2 FUNCȚIONALITĂȚI ALE APLICAȚIEI 20

[Link] metodelor de rezolvare a problemelor și selectarea soluției tehnice 21

4.1 MOTIVAREA ALEGERII TEHNOLOGIILOR 21


4.2 TEHNOLOGII FOLOSITE 22

5. Considerente legate de dezvoltarea aplicației 38

[Link], contribuții și direcții ulterioare de dezvoltare 43

[Link] 44

2
1. Introducere
1.1 Motivație
E greu să-ți amintești ce călătorie a fost înainte ca Google Maps să apară. Din feririce,
după o luptă grea, hărți din hârtie prost pliate și instrucțiuni de ghidare trase de mână, au rămas
de domeniul trecutului. În schimb, un telefon mobil sau orice dispozitiv performant, poate
confirma locația exactă a utilizatorului, o locație dorită, și traseul dintre cele două.

Următoarea generație de aplicații extinde domeniul de aplicare al geolocației. Acestea


pot fi folosite în mai multe domenii, dar și pentru un scop personal, pentru a identifica atât un
prieten sau un membru al familiei, cât și pentru a urmări un colet sau un produs comandat.

Ai idee unde se află familia ta? Acum știi! Scopul acestei aplicații vine din nevoia
oamenilor de a-și putea transmite locația în timp real. Mi-am dat seama de această nevoie a lor
observând eventualele anxietăți apărute în permanență, atât în familie, la serviciu, cât și atunci
când vine vorba de o întâlnire cu prietenii sau chiar în așteptarea unei comenzi.

1.2 Obiective
Obiectivul general al aplicației constă în localizarea în timp real a unui dispozitiv.

Aplicația vine în ajutorul companiilor pentru a scăpa de problemele care apar în


momentul în care angajații întârzie. Astfel, pot urmări locația exactă a acestora, pot vedea dacă
au rămas blocați în trafic sau au apărut alte inconveniente.

Poate fi folosită chiar și în familie pentru a identifica prin intermediul tehnologiei GPS
implementată în dispozitiv, un membru mai în vârstă sau un copil.

Aplicația are ca utilitate și urmărirea unor comenzi făcute online, pentru evitarea
problemelor apărute în general, precum plecarea de acasă și trimiterea coletului înapoi. Așa vei
ști exact unde se află și la ce oră trebuie sa fii acasă pentru a-l ridica.

Poate fi folosită și ca sistem de alarmă, de urgență, în momentul în care te rătăcești sau


rămâi blocat undeva. Printr-un singur buton poți chema prietenii sau familia în ajutor.

3
1.3 Descrierea domeniului din care face parte
Domeniul din care face parte aplicația include următoarele activități de furnizare
de expertiză în domeniul tehnologiilor informaționale: scrierea, modificarea, testarea și
susținerea programelor software; planificarea și proiectarea sistemelor informatice, care
integrează tehnologii hardware, software și de comunicații; mentenanța sistemelor software și
sistemelor informatice ale clienților și/sau a facilităților de preluare a datelor.

1.4 Prezentarea capitolelor


În cele ce urmează, voi detalia următoarele capitole: Capitolul 2 ce va conține o
analiză tip business care cuprinde analiza pieței și analiza SWOT; Capitolul 3 în care vor fi
prezentate aplicații similare și funcționalitățile aplicației implementate; Capitolul 4 care
prezintă motivația alegerii tehnologiilor și descrierea tehnologiilor folosite; Capitolul 5 ce
conține considerente legate de dezvoltarea aplicației și Capitolul 6 în care sunt scoase
concluziile, contribuțiile și sunt descrise direcțiile ulterioare de dezvoltare. La final, în Capitolul
7, va fi trecută și bibliografia utilizată pentru compunerea proiectului.

4
2. Analiză tip business
2.1 Analiză de piață
Privind din perspectiva utilizatorilor de telefoane mobile și al tabletelor, în România,
acest segment a depășit procentul de 50%, procent de penetrare din punct de vedere al
dispozitivelor inteligente. Acest fapt este anunțat ca fiind marcarea unui prag important, având
în vedere faptul că numărul de conexiuni al telefoanelor mobile a ajuns de 4 ori mai mare decât
conexiunile la Internet fix, așa cum este prezentat și în pictograma de mai jos. Astfel, România
pare a fi un teren propice pentru dezvoltarea aplicațiior de genul ShareLock. Având în vedere
și caracterul netradițional al acestei aplicații, putem spune că preconizăm un succes în ceea ce
privește popularitatea viitoare a acestei platforme.

Figure 1 Studiu pentru utilizare telefonie mobilă

Din punct de vedere demografic, pe segmentul de vârstă 16 - 34 de ani, apoximativ trei


din patru români folosesc un dispozitiv inteligent, iar unul din trei folosește o tabletă. Suntem
siguri și de faptul că numărul mare de telefoane mobile se va datora celor din segmentele de
peste 45 de ani, unde doar unul din trei folosește un dispozitiv inteligent.

5
Figure 2 Studiu demografic care vizează vârsta

Nici la scară mondială cifrele nu stau prost, unde în 2014 au fost vândute un număr de
1,95 miliarde de telefoane. Nu mai prezintă nicio surpriză faptul că trendul acestor vânzări este
unul ascendent, din moment ce în 2016 s-a ajuns la un număr mai mare de telefoane active
smartphone decât populația globului.

Figure 3 Statistici globale

6
Având în vedere disponibilitatea acestei aplicații prin intermediul platformelor Web,
aceasta poate fi accesată de pe orice dispozitiv ce este legat la Internet și are integrată tehnologia
GPS. Astfel, nu suntem restricționați de sistemele de operare a celor de la iOS și Android.
Sumele de implementare fiind de asemenea mult mai mici.

2.1 Analiză SWOT


Această analiză are la bază patru elemente, elemente ce prezintă acronim-ul cuvintelor:
Strenghts (puncte tari), Weaknesses (puncte slabe), Opportunities (Oportunități) și Threats
(Amenințări). Aceste patru cadrane ne ajută să ne dăm mai bine seama de ce amenințări sunt
prezente în piață, care sunt slăbiciunile proiectului nostru și, de asemenea, punctele forte și
oportunitățile ce ni se pot ivi. Acest gen de analiză este unul foarte bun, aporape nelipsit din
orice proiect. Se recomandă ca în acest gen de analiză totul să fie cât mai transparent pentru a
ști foarte bine unde se situează firma sau proiectul care urmează a fi lansat.

Strennghts Weaknesses
•Produs inovativ •Lipsa experienței în
•Succes demonstrat de acest tip de afacere
către competitorii din •Echipa de
piețele internationale management tânără
•Echipa de
implementare
experimentata

Opportunities Threats
•Aplicație compatibilă •Competitorii și sectorul
cu orice sistem de dezvoltare ce se
•Piața internă ce se află află într-o cresșere
în creștere permanentă
•Cheltuieli imprevizibile

7
3. Aplicații similare și funcționalități ale aplicației implementate
3.1 Aplicații similare
Există mai multe aplicații care pot ține pasiv un ochi pe prieteni și pe membrii familiei,
iar asta este o mare ușurare. Nu mai apar griji atunci când cineva uită să sune sau este reținut
într-un anumit loc. O privire rapidă în aplicația de urmărire și aceasta va spune tot ce trebuie să
ști – iar apoi te poți relaxa.

Ce au în comun toate aplicațiile implementate în acest scop? Utilizatorii trebuie să fie


de acord să își transmită locația. O altă caracteristică asemănătoare este aceea că niciun
dispozitiv nu va funcționa atât timp cât este oprit. Odată ce dispozitivul este închis, locația se
pierde automat.

Au fost dezvoltate în acest scop atât aplicații web, cât și aplicații mobile cu sisteme de
operare Android și iOS.

3.1.1 Aplicații Android


1. Urmărire GPS (Family Safety Production)

Această aplicație utilizează tehnologia GPS Tracker pentru o localizare în timp real,
rapidă și cu precizie, a persoanelor dragi. Aplicația dispune de o hartă GPS în care apar locațiile
exacte ale acestora sub formă de icon-uri. Este în mare parte dedicată părinților deoarece pot
avea informații cu privire la locația copiilor lor. De asemenea, este utilă și pentru localizarea
persoanelor în vârstă. Cu alte cuvinte are o utilitate în a menține persoanele dragi în condiții de
siguranță.

Aplicația poate trimite notificări în momentul în care persoanele înregistrate în aplicație


au ajuns la destinație în siguranță. Se poate urmări până și traseul parcurs în cazul în care
utilizatorul permite acest lucru.

Aplicația folosește 28 de sateliți pentru a găsi locația exactă a fiecaruia. Este un tracker
de încredere și extrem de precis. Funcționează pe o varietate de dispozitive Android. Poate
trimite o invitație celui dorit în aplicație, iar dacă invitația este acceptată, icon-ul lor va apărea
pe hartă și îi veți putea urmări locația 24/7.

8
Figure 4 Aplicație Urmărire GPS

2. Găsește prietenii mei (Family Safety Production)

Aplicația ajută la identificarea exacta a locației prietenilor pe harta de navigare.


Reprezintă un mod perfect de a urmări persoanele introduse în aplicație indiferent de locul unde
vă aflați în momentul respectiv. Nu este nevoie să sunați sau să trimiteți un SMS pentru a afla
locația acestora.

De asemenea, este ușor de utilizat și are multe beneficii. De exemplu, în momentul în


care stabiliți o călătorie cu mai multe persoane, se pot coordona detaliile acesteia, cum ar fi
locul și timpul de întâlnire, lista de cumpărături, puncte de interes. Toate acestea se pot stabili
înainte pentru a nu sta pe drum să consultați un ghid de călătorie. Poate fi utilizată și pentru a
găsi rătăcitori prin trimiterea locației respective, chiar dacă locurile sunt necunoscute de către
utilizator.

Aplicația funcționează atât pe iPhone, telefon cu Android, BlackBerry cât și pe telefoane


non-inteligente. Pentru a introduce persoane în aplicație, se trimite o invitație la care persoana

9
vizată trebuie să răspundă cu “Da”, iar după locația acesteia poate fi vizibilă pe hartă printr-un
icon reprezentativ.

Figure 5 Aplicație Găsește prietenii mei

3. Urmăriți orice telefon mobil (CS Systems Pvt Ltd)

Este o aplicație gratuită utilizată pentru a vedea locația exactă a persoanelor introduse.
Utilă pentru părinți în caz că sunt îngrijorați cu privire la siguranța copiilor, într-un cuplu pentru
a afla locația iubitului/iubitei sau chiar pentru aflarea propriei locații.

Prin această aplicație se poate verifica locația în timp real, indiferent că nu există
conexiune la internet pe dispozitivul persoanei vizate. Acest tracker de încredere folosește
sistem de navigare GPS, Wi-Fi și semnale turn. Indiferent de semnal, această aplicație este
precisă. O persoană poate fi introdusă în aplicație prin acceptarea unei invitații. Aceasta
generează codul de invitație în momentul descărcării ei.

Aplicația are ca și caracteristici următoarele:

10
- Urmărire one-way: se poate urmări locația persoanelor introduse în aplicație dar aceștia
nu pot vizualiza locația dumneavoastră;
- Se poate utiliza site-ul [Link] împreună cu funcția de urmărire a
telefonului, în cazul în care nu îl mai găsiți;
- Se poate găsi locația chiar dacă nu există conexiune la internet;
- Dispune de o caracteristică premium pentru a obține locația doar prin trimiterea unui
SMS cu textul “locate” , cu condiția ca aplicația să fie instalată pe telefonul respectiv;
- Mod de vizualizare prin satelit;
- Dispune de o interfață ușor de utilizat;
- Poate fi folosită chiar și atunci când bateria este scăzută.

Figure 6 Aplicație Urmăriți orice telefon mobil

11
Figure 7 Hartă aplicație Urmăriți orice telefon mobil

12
4. Family and Friend Locator (Phone Tracker Productions)

Este de asemenea, o aplicație Android prin care se poate urmări un alt telefon mobil
care are instalată aplicația respectivă. Folosește un GPS Tracker pentru a identifica locația
persoanei dorite. Se pot forma în aplicație chiar și grupuri. Locația poate fi dezactivată ușor, fie
pentru un contact fie pentru toate odată. Se poate vedea în aplicație și ultima utilizare a acesteia
de către persoanele cu care sunteți conectat și de asemenea, ultima locație cu precizie a lor.

Aplicația poate fi folosită atât prin GPS cât și prin alte metode bazate pe non-GPS.
Persoanele cu care se dorește contactul în aplicație sunt ușor de invitat: prin SMS, e-mail etc.
Aplicația poate trimite notificări în momentul în care o persoană a intrat în raza zonei alese de
utilizator și de asemenea trimite automat locația persoanei respective.

O altă funcționalitate a ei o reprezintă apelul de urgență prin SMS către persoanele


selectate într-un grup creat special pentru situații disperate.

Are de asemenea, o funcție de chat prin care se poate discuta atât cu o singură persoană
cât și cu un grup de persoane format, pentru a stabili locurile de întâlnire sau alte lucruri dorite.

Ca și un bonus spre deosebire de celelalte aplicații, te identifici cu numărul de telefon,


nu este nevoie de un cont de utilizator.

Figure 8 Aplicație Family and Friend Locator

13
5. Family Locator & Messaging (FAMILO)

FAMILO reprezintă o aplicație pentru familie, prieteni și alte grupuri mici care permite
păstrarea legăturii cu ușurință. Un avantaj al aplicației îl reprezintă faptul că aceasta
funcționează și în momentul în care bateria este scăzută.

Se pot salva anumite locații în aplicație, iar în momentul în care persoanele dragi cu
care se păstrează contactul vor intra în zonele respective se vor trimite automat notificări pentru
a ști că persoana a ajuns în siguranță. Spre deosebire de alte aplicații, zonele de interes pot fi
salvate pentru regăsirea și utilizarea ulterioară a lor.

Are un buton de panică integrat care permite trimiterea imediată a locației la accesarea
lui în caz de urgență.

14
O altă funcționalitate a aplicației o reprezintă chat-ul prin care se pot trimite atât mesaje
cât și imagini. Toate imaginile se pot salva într-un album foto pentru a păstra momentele fericite
împărtășite cu grupul.

Ca o concluzie, FAMILO are o serie de beneficii printre care: gratuitate pentru a


descărca aplicația, oferirea siguranței utilizatorilor cu privire la persoanele dragi cu care sunt în
contact, chat-ul care reprezintă un mod ușor de comunicare.

Figure 9 Aplicație Family Locator & Messaging

15
Funcționalități ale aplicației descrise cu imagini:

16
3.1.2 Aplicații iOS
1. Find my Friends

Această aplicație este dezvoltată în scopul localizării prietenilor în cazul în care aceștia
nu ajung la timp și te fac mereu să aștepți. Utilizează funcționalitățile de localizare a sistemului
de operare iOS7.

Ca și caracteristici, aplicația prezintă următoarele:

- Pentru a putea vizualiza locația, acea persoană trebuie să permită înainte acest lucru;
- Locația este trimisă de pe telefonul mobil doar atunci când un prieten o cere și i se
permite vizualizarea acesteia – nu este transmisă sau înregistrată în orice moment;
- Locația se poate ascunde în orice moment doar printr-un singur click;
- Ultima locație cunoscută este stocată timp de două ore pe server-ele Apple, iar apoi
ștearsă definitiv;
- Aplicația deconectează utilizatorul dacă acesta este inactiv timp de 15 minute;
- Logarea se face cu contul Apple al utilizatorului;
- Transmiterea locației se face prin e-mail-uri;
- Există posibilitatea de a transmite locații doar temporar, pentru câteva ore, zile sau
săptămâni, prin tab-ul Temporary.
- Se poate trimite prin aplicație o notificare în momentul în care tu sau prietenul tău plecați
spre locul de întâlnire. Acest lucru asigură faptul că la destinație nimeni nu v-a mai
aștepta;

Figure 10 Aplicație Find my Friends

17
2. Life360 Family Locator
Această aplicație gratuită permite membrilor unei familii să își poată urmări locația în timp real.
O caracteristică importantă a aplicației permite membrilor familiei să afle momentul în care
cineva a intrat într-o locație prestabilită, cum ar fi acasă sau la școală. În acel moment se va
trimite o alertă pentru a anunța celălalt utilizator.

Aplicația include, de asemenea, un istoric complet al locațiilor, ceea ce ajută la o


prezentarea generală a activitățiilor recente. Prin opțiunea “panic” încorporată în aplicație, se
trimite un semnal luminos de alarmă cu locația exactă a utilizatorului pentru e-mail-urile
desemnate în caz de o urgență.

Un dezavantaj al aplicației, îl reprezintă faptul că aplicația dispune de o versiune


premium care se vinde cu 5$ pe lună sau 50$ pe an. Această versiune vine cu locuri nelimitate
de check-in, asistență rutieră, capacitatea de a localiza dispozitive non-smartphones și protecție
în cazul în care se fură telefonul. Dar cu toate acestea, oferă o încercare gratuită timp de 30 de
zile.

Figure 11 Aplicație Life360 Family Locator

3.1.3 Aplicații web


1. iHi

iHi este o aplicație Web implementată cu copul de a transmite locația între două
dispozitive. Aplicația permite o distribuire ușoară a locației atât privat, prin e-mail, cât și public,
pe Twitter. Este o aplicație care poate avea succes în cazul în care celelalte aplicații mobile
eșuează.

18
Este o aplicație simplistă dar în același timp dezvoltată să funcționeze în orice condiții.
Poate fi considerată de asemenea un experiment pentru a arăta cât de simplă poate fi o aplicație
web, și în același timp utilă. Este o aplicație practică, utilizată în situațiile care pot apărea zilnic:
întâlniri, conferințe, orice tip de eveniment.

Se urmărește implementarea aplicației iHi și pentru sistemul de operare iOS.

Figure 12 Aplicație iHi

19
3.2 Funcționalități ale aplicației

La nivel de idei, funcționalitățile aplicației implementate sunt:

- Monitorizarea locației;

- Serviciu de trimitere a e-mail-urilor;

- Permite introducerea mai multor e-mail-uri pentru a transmite locatia;

- E-mail-ul trimis conține un link direct către locație; odată accesat link-ul, se face localizarea
între cele două puncte, cu indicarea celui mai scurt drum, direcțiile, și timpul în care se poate
ajunge până acolo;

- Funcționarea atât timp cât browser-ul este deschis;

- Nu necesită un cont pentru utilizare, acesta fiind un avantaj deoarece nu mai este nevoie de
introducerea datelor personale, un aspect neplăcut pentru multi utilizatori de aplicații;

- Fiind o aplicație Web, funcționează pe orice sistem de operare;

20
4. Analiza metodelor de rezolvare a problemelor și selectarea soluției tehnice
4.1 Motivarea alegerii tehnologiilor
Motivul pentru care am ales să dezvolt o aplicație web îl reprezintă faptul că în ziua de
azi aplicațiile web sunt extraordinar de complexe iar HTML5 oferă posibilități nelimitate.
Totodată, HTML5 este compatibil cu toate device-urile existente. Nu este necesar să dezvoltăm
separat câte o aplicație pentru Android și una pentru iOS atâta vreme cât ambele sisteme de
operare au browsere performante, browsere compatibile cu HTML5, și prin care putem să
construim tot ceea ce vrem noi.

Aplicațiile web trebuie întotdeauna privite din două perspective: din perspectiva de
server și din perspectiva de browser sau client.

La partea de server am ales să dezvolt o aplicație PHP scrisă în framework-ul Laravel.


Motivul pentru care am folosit Laravel este pentru că în momentul actual, tehnologia de vârf
este în PHP și acoperă 25% din toată piața de PHP existentă, fiind una dintre cele mai mari
piețe ale Internetului. Am folosit Laravel pentru a gestiona baza de date, folosind modulul
Laravel Eloquent care este cel mai complex query builder care există într-un framework PHP.
Totodată am folosit Laravel pentru a transmite e-mail-uri. În ceea ce privește e-mail-urile, am
ales să nu folosesc funcționalitatea de server de a trimite e-mail-uri pentru a nu fi blocați, pentru
spaming, sau alte probleme. Pentru a evita aceste aspecte am folosit Sendgrid. Sendgrid este de
fapt un serviciu SMTP, un serviciu de mailing, ca și yahoo doar că se poate apela programatic.

În ceea ce privește partea de front-end a aplicației, este alcătuită din părți de HTML,
CSS3, JavaScritp, în special pentru JavaScript am folosit framework-ul jQuery, și API-urile de
JavaScript: Google Maps API și Google Directions API. Folosind Google Maps API se
localizează broswer-ul user-ului, iar apoi la fiecare 5 secunde această acțiune se repetă. Folosind
un Request AJAX, se transmite locația către Laravel, care la rândul lui salvează în baza de date
locația actualizată.

Atunci când cineva dă click pe link-ul din e-mail, aplicația localizeaza user-ul și citește
ultima locație înregistrată în partea cealaltă, adică la user-ul localizat. Între locația curentă a
user-ului și a celui localizat, Google Directions API reușește să găsească cea mai rapidă rută și
totodată ne ajută să construim folosind JavaScript direcțiile.

21
4.2 Tehnologii folosite

Dezvoltarea PHP a început în anul 1995, când Rasmus Lerdof a scris programe CGI
(Common Gateway Interface) în C, pentru a-și menține pagina sa personală.

PHP/FI ar putea fi folosit pentru a implementa aplicații simple și dinamice. Pentru a


accelera raportarea bug-urilor și pentru a îmbunătăți codul, Lerdof inițial a anunțat lansarea
PHP/FI ca “Personal Home Page Tools (PHP Tools) versiunea 1.0” pe grupul Usenet
[Link] pe 8 Iunie, 1995. Această versiune a avut deja
funcționalitatea de bază a PHP din 2013. Aceasta include variabilele Perl și capacitatea de a
încorpora HTML. Sintaxa seamănă cu cea din Perl, dar a fost mai simplă, mai limitată și mai
puțin consistentă.

PHP la început nu a fost destinat să fie un nou limbaj de programare, după cum spunea
Lerdof, citez: “Nu știu cum să-l opresc, nu a existat niciodată nicio intenție de a scrie un limbaj
de programare […] Nu am absolut nicio idee despre cum se scrie un limbaj de programare, doar
am continuat să adaug următorul pas logic pe drum.” O echipă de dezvoltare a început să se
formeze și, după luni de muncă și de testare beta, s-a lansat oficial PHP/FI pe 2 Noiembrie,
1997.

PHP (Hypertext Preprocessor) este unul dintre cele mai utilizate limbaje de scripting.
Este un limbaj open source, cu sintaxa provenită din Perl, C și Java, proiectat pentru dezvoltarea
web dar, de asemenea, utilizat și ca un limbaj de programare de uz general. Codul PHP poate fi
integrat în HTML, sau poate fi utilizat în combinație cu sisteme de management de conținut
web și framework-uri. Este un instrument puternic utilizat în special pentru dezvoltarea rapidă
a aplicațiilor web, oferind dinamicitate și interactivitate acestora. Este utilizat pe scară largă și
dispune de gratuitate.

22
Codul PHP este de obicei procesat de un interpret implementat ca un modul în server-
ul web sau ca un CGI executabil. Server-ul web combină rezultatele interpretării și execuției
codului PHP, care pot fi orice tip de date, inclusiv imagini, cu pagina web generată. Codul PHP
poate fi, de asemenea, efectuat cu interfață de linie de comandă (CLI).

Limbajul PHP a evoluat fără o specificație formală scrisă sau standard până în anul
2014. În anul 2010 au crescut eforturile în vederea standardizării și a schimbului de cod în
aplicațiile PHP prin proiecte, cum ar fi PHP-FIG.

Fișierele PHP pot conține text, HTML, CSS, JavaScript și cod PHP. Codul PHP este
executat pe server și rezultatul este returnat browser-ului ca și HTML simplu.

Cu ajutorul limbajului PHP:

- Se poate genera conținut dinamic paginii;


- Se pot crea, deschide, citi, șterge și închide fișiere de pe server;
- Se pot colecta date din formulare;
- Se pot trimite/primi cookie-uri;
- Se pot adăuga, șterge sau modifica datele din baza de date;
- Se poate controla accesul utilizatorului;
- Se pot cripta datele.

Limbajul PHP poate fi utilizat pe orice sistem de operare, el susținând în prezent aproape
toate server-ele web existente (Apache, IIS etc). Limbajul permite afișarea imaginilor, a
fișierelor PDF și chiar filme Flash generate. Se poate afișa de asemenea text XHTML sau fișiere
XML.

Un alt avantaj al limbajului PHP îl reprezintă faptul că oferă posibilitatea de a utiliza


programarea procedurală orientată pe obiecte sau chiar o combinație a acestora.

Axat pe scripting de partea server-ului, cu ajutorul limbajului PHP se poate realiza un


alt program CGI (de exemplu pentru colectarea datelor, generarea conținutului dinamic al
paginilor, trimiterea și primirea de cookies).

23
Scripturile PHP sunt utilizate în trei domenii principale:

- Scripting de partea server-ului – un domeniu tradițional, de bază. În acest domeniu avem


nevoie de:
 analizator PHP
 server web
 navigator web
- Scripting în linia de comandă – în acest domeniu este nevoie doar de analizatorul PHP
și nu de server și navigator web, pentru a face un script PHP să ruleze. Este utilizat
pentru procesarea textelor. Este ideal pentru script-uri executate cu cron (*nix/Linux),
sau cu Task Scheduler (Windows).
- Scrierea unor aplicații de birou – este ideal să se foloseasca PHP-GTK pentru a scrie
aplicații de acest fel, PHP-GTK fiind o extensie a PHP care nu este disponibilă în
distributivul de bază.

Un script PHP poate fi plasat oriunde în document. Scriptul începe cu “ <?php “ și se termină
cu „ ?> “. Exemplu de script PHP care utilizează funcția “echo” pentru a scrie textul “Hello
World!” pe o pagină web:

Figure 13 Exemplu cod PHP

Un comentariu în codul PHP este reprezentat de o linie care nu este citită/executată ca


parte a programului. Scopul acestui comentariu este de a fi citit și înțeles de către cineva care
se uită peste codul respectiv, sau pentru a-și aduce aminte programatorul peste ceva timp de ce
a ales acea metodă de implementare.

24
În PHP, cuvintele cheie (de exemplu: if, else, while, echo etc), clasele, funcțiile,
respectiv și cele definite de utilizator, nu sunt case-sensitive, în schimb variabilele sunt.

Variabilele sunt “containere” pentru stocarea informațiilor. O variabilă poate avea un


nume scurt sau unul descriptiv. Variabilele de tip “resursă” reprezintă trimiteri către resursele
din sursele externe. Acestea sunt, de obicei, create de funcții dintr-o anumită extensie, și pot fi
prelucrate doar de funcțiile din aceeași extensie. Exemplele includ fișiere, imagini și resursele
bazei de date.

Matricele pot conține elemente de orice tip de care PHP se poate ocupa, inclusiv resurse,
obiecte și chiar alte tablouri.

PHP definește o gamă largă de funcții în limbajul de bază, și multe sunt, de asemenea,
disponibile în diferite extensii. Aceste funcții sunt bine documentate în documentația online a
PHP. Cu toate acestea, biblioteca încorporată are o mare varietate de convenții de denumire și
neconcordanțe asociate.

Inițial conceput pentru a crea pagini web dinamice, PHP se concentrează acum în
principal pe scripting, și este similar cu alte limbaje care furnizează conținut dinamic de pe un
server web la un client, cum ar fi [Link] Microsoft.

PHP a atras, de asemenea, dezvoltarea multor framework-uri care oferă blocuri de


construcție și o structură de proiectare pentru a promova dezvoltarea rapidă a aplicațiilor
(RAD). Unele dintre acestea includ: PRADO, CakePHP, Symfony, CodeIgniter, Laravel,
oferind caracteristici similare cu alte alte framework-uri web.

25
Laravel a fost creat de Taylor Otwell ca o încercare de a oferi o alternativă avansată
framework-ului CodeIgniter, care nu a furnizat anumite caracteristici, precum suportul integrat
pentru autentificarea utilizatorului și autorizația acestuia. Prima versiune beta a fost pusă la
dispoziție pe 9 Iunie, 2011, urmată de lansarea Laravel 1 în aceeași lună. Laravel 1 include
suport încorporat pentru autentificare, localizare, modele, vederi, sesiuni, rutare și alte
mecanisme, dar nu are suport pentru controlori, acest lucru împiedicându-l să fie un adevărat
framework MVC. Pe lângă aceasta, au fost lansate mai multe versiuni de Laravel (Laravel 2,
Laravel 3, Laravel 4, Laravel 5, Laravel 5.1), utlima apărând în 2015.

Laravel este un framework pentru aplicații web cu o sintaxă expresivă și elegantă.


Laravel încearcă să ia din greutatea de a dezvolta, prin facilitarea activităților comune utilizate
în majoritatea proiectelor web, precum autentificare, rutare, sesiuni și punere în cache.

Laravel își propune să facă procesul de dezvoltare unul plăcut pentru dezvoltator, fără a
sacrifica funcționalitatea aplicației. În acest scop, Laravel este creat printr-o combinație a
celorlalte framework-uri, inclusiv cele implementate în alte limbi, cum ar fi: Ruby on Rails,
[Link] MVC și Sinatra.

Laravel este accesibil dar totuși puternic, oferind instrumente puternice necesare pentru
aplicații mari, robuste.

Caracteristici ale Laravel:

- Bundles – oferă un sistem modular de ambalare;


- Eloquent ORM – reprezintă o implementare PHP avansată a modelului de înregistrare
activ, oferind în același timp metodele interne de aplicare a constrângerilor asupra
relațiilor dintre obiectele unei baze de date; Eloquent ORM prezintă tabelele unei baze
de date ca și clase, cu instanțele obiect legate la un singur rând al tabelei;
- Query builder – oferă o alternativă directă de acces a bazei de date la Eloquent ORM;
În loc să solicite ca interogările SQL să fie scrise direct, acesta oferă un set de clase și
metode capabile de a construi interogări într-un mod programatic; Permite, de
asemenea, cache-ul selectabil al rezultatelor execuției interogărilor;

26
- Logica de aplicare – reprezintă o parte integrată a aplicațiilor dezvoltate; Sintaxa
utilizată pentru a defini logica aplicației este similară cu cea folosită de framework-ul
Sinatra;
- Rutarea inversă – definește o relație între link-uri și rute, făcând posibil ca modificările
ulterioare ale rutelor să fie propagate automat în link-urile relevante; În cazul în care
link-urile sunt create prin utilizarea nuemlor rutelor existente, identificatorii
corespunzători de resurse uniforme (URI) sunt automat creați de Laravel;
- Încărcarea automată a clasei – oferă o încărcare automata a claselor PHP fără a fi nevoie
de mentenanță manual a căilor de incluziune; Ajută la includerea componentelor care
sunt necesare, nu a tuturor componentelor de care nu este nevoie;
- Migrațiile – oferă un sistem de control al versiunii pentru schemele de baze de date,
ceea ce face posibil să se asocieze modificări în codul de bază al aplicației și în structura
bazei de date;
- Testarea Unit – este oferită ca o parte integrate a Laravel, care conține teste Unit pentru
detectarea și pentru prevenirea regresiilor în framework;
- Paginare automată – simplifică sarcinile de implementare a paginării, înlocuind
implementarea manuală cu metode integrate în Laravel.

27
Fondat în anul 2009, SendGrid a dezvotat un serviciu de e-mail bazat pe cloud, care
ajută la rezolvarea provocărilor legate de furnizarea de e-mail-uri. La fel ca multe soluții mari,
SendGrid a venit ca o rezolvare a problemei a trei ingineri, ale căror e-mail-uri de aplicare nu
se livrau, așa că au implementat o aplicație pentru livrarea e-mail-urilor. În prezent, SendGrid
este responsabil pentru trimiterea de miliarde de e-mail-uri pentru unele dintre cele mai bune
companii din lume.

E-mail-ul este cel mai eficient mod de a construi și întreține relațiile cu clienții în
prezent. Platforma de încredere Sendgrid, instrumentele și serviciile, prezintă un minus de efort
pentru dezvoltatori, ajută la livrarea cu succes a tuturor e-mail-urilor, indiferent de cazul de
utilizare: confirmări de cumpărare, instrucțiuni de resetare a parolei, o vânzare viitoare sau
pentru a menține o campanie.

SendGrid dispune de o livrare puternică a tuturor e-mail-urilor întregii echipe. Oferă


acces la biblioteca de documenatre pentru a ajuta la integrarea ușoară și rapidă cu API-urile sau
SMTP. Pot fi utilizate instrumentele intuitive de e-mail marketing pentru a sprijini cerințele
necesare de creare a campaniei sau gestionarea cerințelor.

SendGrid oferă industria de top a platformei de livrare a e-mail-urilor împreună cu


serviciile de clasă mondială pentru a asigura ca e-mail-urile de valoare ajung la destinatari. Se
poate beneficia de calitatea trimiterii și de IP-urile dedicate pentru a ajuta la trimitere, împreună
cu monitorizarea ISP. Oferă de asemenea servicii de consultanță pentru transmiterea prin cele
mai bune practici.

SMTP-ul și API-urile oferă o abordare de integrare personalizată pentru e-mail-ul


tranzacțional. Este integrat cu suport din multiplele framework-uri de dezvoltare și biblioteci
client.

28
MySQL a fost creat de o companie suedeză (MySQL AB), fondată de David Axmark,
Allan Larsson și Michael “Monty” Widenius. Prima versiune de MySQL a apărut în anul 1995,
la data de 23 Mai. Inițial a fost creat pentru uz personal bazat pe ISAM, un limbaj de nivel
scăzut, dar era considerat inflexibil și lent. Au creat altă interfațp SQL dar au păstrat același
API. Astfel, mulți dezvoltatori au fost capabili de a utiliza MySQL în locul versiunii precedente.

MySQL reprezintă un sistem open-source de management al bazelor de date (RDBMS).


MySQL reprezintă o componentă centrală a aplicației Web LAMP (acronim pentru Linux,
Apache, MySQL, Perl/PHP/Python), o aplicație open-source. Aplicațiile care utilizează baza
de date MySQL include: TYPO3, MODx, Joomla, WordPress, phpBB, MyBB, Drupal și altele.
MySQL este de asemenea folosit în multe profile mari, site-uri pe scară largă, cum ar fi Google,
Facebook, Flickr, Twitter și Youtube.

Pe toate platformele, cu excepția Windows-ului, MySQL produce fără instrumentele


GUI pentru administrarea bazei de date MySQL sau pentru a gestiona datele. Utilizatorii pot
folosi instrumentele incluse în linia de comandă, sau pot instala MySQL Workbench, într-o
descărcare separată. Multe instrumente GUI sunt de asemenea disponibile.

MySQL este scris în C și C++. Interpretorul SQL este scris în yacc, dar folosește un
analizator lexical home-brewed. MySQL rulează pe mai multe platforme, inclusiv AIX, BSDI,
FreeBSD, HP-UX, i5/OS, IRIX, Linux, Microsoft Windows, NetBSD, OpenSolaris, QNX și
multe altele.

Server-ul MySQL și bibliotecile utilizate folosesc distribuție de licențiere dublă.


Acestea sunt oferite sub versiunea GPL 2, începând din 28 Iunie 2000 (care în 2009 a fost
extinsă cu FLOSS License Exception).

De asemenea, în caz că apar probleme, se poate oferi suport gratuit din manualul oficial.
Este disponibil și în diferite canale IRC și forumuri.

29
Prima descrisere publică a HTML a fost un document intitulat “HTML Tags”, menționat
pentru prima oară pe Internet de către Tim Bernes-Lee la sfârșitul anului 1991.

HTML (HyperText Markup Language) este un limbaj de programare conceput pentru


a permite crearea de site-uri web. La baza acestui limbaj stau tag-urile care în general sunt câte
două, pentru marcarea începutului și sfârșitului unei sintagme.

Exemplu de cod HTML:

Figure 14 Exemplu cod HTML


Limbajul HTML are următoarele caracteristici:

- Oferă posibilitatea dezvoltării unor pagini web în motoarele de căutare;


- Este intuitiv și ușor de folosit;
- Este accesibil oricărui utilizator de browser web;
- Este eficient prin legăturile care se pot face între paginile web diferite;
- Prezintă consistență;
- Nu suprasolicită server-ele;
- Este gratuit și nu necesită utilizarea unui editor special de text;
- Se poate corela cu limbajul XML (Extensible Markup Language), permițând realizarea
unor depozite de date.

30
HTML5 este a cincea revizuirea a standardului HTML. Ca și obiective principale sunt
prezentate: îmbunătățirea limbajului având un suport pentru aplicațiile multimedia recente dar
păstrându-l ușor de înțeles de către oameni și device-uri. Este un limbaj folosit la structurarea
și prezentarea conținutului pentru World Wide Web, o tehnologie nucleu pentru Internet.

A fost publicat în Octombrie 2014 de către World Wide Web Consortium (W3C) pentru
a îmbunătăți limbajul cu suport pentru cele mai recente multimedia. HTML5 este destinat să
însumeze atât HTML4, cât și XHTML1 și DOM Level 2 HTML.

HTML5 include modele detaliate de prelucrare pentru a încuraja implementări


interoperabile. Extinde, îmbunătățește și raționalizează markup-ul valabil pentru documente, și
introduce markup-ul și API-urile pentru aplicațiile Web complexe.

Spre deosebire de celelalte, HTML5 cuprinde noi caracteristici sintactice. Toate acestea
ajută la includerea și manipularea conținutului, fără a recurge la API-uri și proprietăți de plugin.
HTML5 cuprinde elemente ca <audio>, <video>, <canvas>, a înlocuit tag-ul <object> prin
integrarea conținutului SVG. Pentru a îmbogăți conținutul semantic al documentelor, noi
elemente de structură pagină au fost introduse, precum <main>, <aside>, <article>, <section>,
<header>, <figure>, <footer>. Noi atribute sunt introduse, unele elemente și atribute au fost
eliminate, iar altele au fost modificate, redefinite sau standardizate, cum ar fi <a>, <cite> și
<menu>.

API-urile și DOM-ul sunt acum părți fundamentale ale specificației HTML5, și


HTML5, de asemenea, definește mai bine procesarea pentru orice document invalid.

31
CSS a fost propus pentru prima oară pe 10 Octombrie, 1994, de Hakon Wium Lie.

CSS (Cascading Style Sheets) este un limbaj folosit pentru descrierea prezentării unui
document scris într-un limbaj de markup. Deși este cel mai des folosit pentru a seta stilul vizual
al paginilor și interfețelor scrise în HTML și XHTML, poate fi aplicat și pe documente XML,
cum ar fi SVG și XUL, și este aplicabil și pentru randarea în vorbire sau pe alte suporturi media.

Împreună cu HTML și JavaScript, CSS este o tehnologie folosită de cele mai multe site-
uri pentru a crea tot ce ține de vizual a paginilor, interfețe de utilizator pentru aplicații Web, și
interfețe ale aplicațiilor mobile.

CSS este destinat în primul rând pentru a permite separarea conținutului documentului
de prezentarea acestuia, cum ar fi aspectul, culorile și fonturile. Această separare poate
îmbunătăți accesibilitatea conținutului, oferă mai multă flexibilitate și control în specificarea
caracteristicilor prezentării, permite mai multor pagini HTML să distribuie formatarea prin
specificarea CSS în fișiere .css separate, și reduce complexitatea și repetiția în conținutul
structural.

Această separare de formatare și conținut face posibilă prezentarea aceleiași pagini în


diferite stiluri pentru diferite metode de randare, cum ar fi pe ecran, în format tipărit, prin voce,
sau pe dispozitive bazate pe tactil. Acesta poate fi, de asemenea, utilizat pentru a afișa pagina
Web diferit, în funcție de mărimea ecranului sau a dispozitivului pe care se face vizualizarea.
Modificări aduse design-ului grafic al unui document pot fi aplicate rapid și ușor prin editarea
a câtorva linii în fișierul CSS folosit, mai degrabă decât prin schimbarea markup-ului în
documente.

32
JavaScript a fost inițial dezvoltat pe 10 Mai 1995, de către Brendan Eich. Deși a fost
dezvoltat inițial sub numele de Mocha, limbajul a fost oficial denumit LiveScript atunci când a
fost lansat în versiune beta în Septembrie 1995, dar a fost redenumit JavaScript, atunci când a
fost implementat în browser-ul Netscape, versiunea 2.0 B3.

JavaScript (JS) este un limbaj de programare procedurală orientată pe obiecte, care se


bazează pe conceputl de prototipuri. Cu ajutorul acestui limbaj se pot crea site-uri web, se pot
introduce diverse funcționalități în paginile web, dar se folosește și pentru a accesa obiecte
încastrate (embedded) din alte aplicații.

JavaScript este utilizat pentru a îngloba în paginile HTML script-uri pentru diverse
activități (de exemplu: creare meniu, verificare date etc). Cu ajutorul script-urilor JavaScript se
pot citi/manipula obiectele din arborele din paginile web.

Elementele de bază ale limbajului JavaScript sunt:

- Comentarii;
- Tipuri de date (nedefinit, null, string, Boolean, array, date calendaristice);
- Variabile;
- Mesaje de eroare;
- Obiectul Math;
- Funcții;
- Operatori;
- Structuri de control;
- Obiecte;
- Metode;
- Excepții.

33
jQuery este o bibliotecă JavaScript, o platformă de dezvoltare creată pentru a
îmbunătăți procesele (de exemplu: parcurgerea arborelui DOM în HTML, cereri de tip AJAX
etc). Biblioteca jQuery este rapidă, mică și are o bogată caracteristică. Este disponibilă în toate
versiunile de browsere existente.

Ca și caracteristici, jQuery prezintă următoarele:

- Parcurgere și implicit modificarea arborelui DOM;


- Are propriul motor de selecție open source, denumit Sizzle, folosit pentru selecțiile de
elemente în arborele DOM;
- Animații;
- Efecte;
- Extensii;
- Cereri de tip AJAX;
- Înregistrarea și modificarea evenimentelor;
- Este un software liber, open source.

Exemplu de program “Hello World!” folosind biblioteca jQuery:

Figure 15 Exemplu cod jQuery


Avantajele folosirii jQuery sunt următoarele:

- Încurajează separarea JavaScript și HTML: biblioteca jQuery oferă sintaxă simplă


pentru adăugarea evenimentului la DOM folosind JavaScript, mai degrabă decât
adăugarea de atribute HTML pentru a apela funcțiile JavaScript;
- jQuery promovează concizie și claritate;
- Este extensibil: noi evenimente, elemente și metode pot fi ușor de adăugat și apoi
reutilizate ca plugin.

34
Serviciile Web ale Google Maps reprezintă o colecție de interfețe HTTP către serviciile
Google, care furnizează date geografice pentru aplicațiile care cuprind hărți.

Google a lansat în Iunie 2005 Google Maps API pentru a permite dezvoltatorilor să
integreze hărțile Google în site-urile implementate. Este un serviciu gratuit, și în prezent nu
conține anunțuri, dar Google afirmă în termenii lor de utilizare că își rezervă dreptul a afișa
anunțuri în viitor.

Prin utilizarea a Google Maps API, este posibilă încorporarea hărților Google în
aplicații. Deși inițial a fost doar un API JavaScript, API-ul pentru hărți a fost extins pentru a
include un API în aplicațiile Adobe Flash, un serviciu pentru preluarea de imagini statice a
hărților, și servicii Web pentru efectuarea de geocodare, generare de direcții și obținerea de
profile mari. Peste 1.000.000 de site-uri Web utilizează Google Maps API, ceea ce îl face cel
mai des folosit API pentru dezvoltare.

Google Maps API este gratuit pentru uz comercial, cu condiția ca site-ul pe care este
utilizat să fie accesibil în mod public, să nu perceapă taxe pentru acces, și nu poate genera într-
o zi mai mult de 25.000 de accesări a hărți.

Succesul Google Maps API a generat o serie de alternative concurente, precum HERE
Maps API, platforma Bing Maps, Leaflet și altele.

Google Maps Directions API reprezintă un serviciu care calculează direcțiile dintre
două locații. Se pot căuta direcții prin diferite metode, de la transportare, inclusiv pentru
tranzit, conducere, mers pe jos sau chiar bicicletă.

Se poate accesa Google Directions API printr-o interfață HTTP, cu solicitări construite
ca un șir de caractere URL, folosind șiruri de caractere de text sau coordonatele de
latitudine/longitudine pentru a identifica locațiile, împreună cu cheia API.

Google Maps Directions API este disponibil ca parte a Java Client, Python Client și
Go Client, pentru serviciile Google Maps.

35
SSL

SSL (Secure Sockets Layer) reprezintă o tehnologie standard de securitate, pentru


stabilirea unei legături criptate între un server și un client, de obicei un server web (website) și
un browser, sau un server de e-mail și un client de e-mail (de exemplu Outlook).

SSL permite transmiterea în siguranță a informațiilor de tipul: numere de card de credit,


numere de securitate socială, precum și acreditările de conectare. În mod normal, datele trimise
între browsere și server-ele web sunt trimise în text simplu – devenind vulnerabil. În cazul în
care cineva este capabil de a intercepta datele trimise între browser si server, poate vedea
informațiile și le poate folosi în scopuri proprii.

Mai precis, SSL este un protocol de securitate. Protocoalele descriu modul în care ar
trebui să fie utilizați algoritmii, în acest caz SSL determină variabilele de criptare atât pentru
link cât și pentru datele trimise.

Cum funcționează? Atunci când un browser încearcă să acceseze un site Web care este
securizat prin SSL, între browser și server trebuie să se stabilească o conexiune SSL printr-un
process numit “ SSL HANDSHAKE “. SSL Handshake este invizibil pentru utilizator și se
întâmplă instantaneu.

În esență, trei chei sunt folosite pentru a configura conexiunea SSL: publică, privată și
pe sesiune. Orice este criptat cu o cheie publică poate fi decriptat doar cu o cheie privata și
invers.

Deoarece criptarea și decriptarea cu chei publice și private ia o mulțime de putere de


procesare, sunt utilizate doar în momentul de SSL Handshake pentru a crea o cheie simetrică
de sesiune. După ce conexiunea securizată este realizată, cheia de sesiune este utilizată pentru
a cripta toate datele transmise.

36
1. Browser-ul se conectează la un server Web, securizat cu SSL (https) și va cere ca server-
ul să se identifice.
2. Server-ul trimite o copie a certificatului SSL, inclusiv cheia publică a server-ului.
3. Browser-ul verifică rădăcina certificatului împotriva unei liste de încredere CA și dacă
certificatul nu este expirat, este nerevocat, și că denumirea comună este valabilă pentru
site-ul cu care se conectează. În cazul în care certificatul este în regulă, creează,
criptează și trimite înapoi o cheie de sesiune simetrică, folosind cheia publică a server-
ului.
4. Server-ul decriptează cheia de sesiune simetrică cu ajutorul cheii sale private și trimite
înapoi o confirmare criptată cu cheia de sesiune, pentru a începe sesiunea de criptat.
5. În final toate datele transmise cu cheia de sesiune sunt criptate.

Una dintre cele mai importante componente ale afacerii online este crearea unui mediu de
încredere unde potențialii clienți se simt încrezători în a face achiziții. Browser-ele oferă indicii
vizuale, precum pictograme de blocare sau o bară verde, pentru a ajuta vizitatorii să știe când
conexiunea lor este securizată.

37
5. Considerente legate de dezvoltarea aplicației

ShareLock este o aplicație de monitorizare a locației. Este o aplicație Web ce


funcționează pe orice sistem de operare și localizează în timp real atât timp cât browser-ul este
deschis. În momentul închiderii browser-ului, aplicația va salva doar ultima localizare. Spre
deosebire de alte platforme, nu necesită logarea cu un cont sau alte informații cu caracter
personal.

Adresa URL a aplicației Web este următoarea: [Link]

Figure 16 Adresa URL a aplicației


Logo-ul platformei prezintă o hartă interactivă, similară celei din API-ul Google.
Metoda de funcționare ce stă la baza platformei este implementată în această pictogramă, ea
conținând geolocația celui care trasnmite informația cu poziționarea lui, și geolocația celui ce
este interesat de această informație.

Figure 17 Logo-ul Aplicației

În momentul accesări adresei URL către aplicația Web, se va deschide o pagină în care
se pot completa detaliile necesare pentru transmiterea locației prin e-mail. Câmpurile
specificate pentru detalii sunt: Nume (câmp ce trebuie să conțină numele celui care vrea să
transmită informația cu locația) și Email Adress (câmp ce trebuie să conțină adresa de e-mail a
celui ce dorește să transmită locația).

38
În secțiunea Send my location to the following emails este cerută adresa de e-mail a celui
ce se vrea a fi transmisă locația. Trebuie specificat faptul că aceste câmpuri au caracter
obligatoriu pentru ca acest e-mail să fie transmis.

Figure 18 Pagină inițială a aplicației cu detaliile ce urmează a fi completate

Figure 19 Pagina inițială a aplicației cu datele completate

Aplicația este compatibilă cu transmiterea simultană către mai multe persoane, ce doresc
a fi notificate cu locația respectivă. Odată completate aceste câmpuri, nu mai rămâne decât să
fie apăsat butonul Submit, iar e-mail-urile vor fi trimise.

39
În momentul apăsării butonului Submit, se localizează browser-ul la fiecare 5
secunde.

Figure 20 Harta cu localizarea browser-ului

Totodată, fiecare din e-mail-urile introduse primește un mesaj. La click pe link-ul


Clicking here din e-mail, sistemul întoarce ultima locație salvată.

Figure 21 E-mail-ul trimis prin aplicație

40
După ce se localizează poziția user-ului notificat (cel care primește e-mail-ul), se
afișează traseul de la utilizator până la persoana localizată, atât cu harta în care este evidențiat
traseul, cât și cu direcții stânga-dreapta.

Figure 22 Harta cu traseul între cele două locații, direcții și timp

De asemena, se poate vizualiza și harta tip Satelit.

Figure 23 Localizarea prin satelit

41
Aplicația ShareLock prezintă și o secțiune About, unde sunt prezentate viziunea și
motivația implementării acestui proiect, și metodele de funcționare ale platformei.

Figure 23 Pagina About din aplicație

42
6. Concluzii, contribuții și direcții ulterioare de dezvoltare

În urma documentației, s-a ajuns la unele concluzii, printre care buna utilizare a acesteia
în diverse domenii dar și pentru uz personal. De asemenea, poate fi folosită și ca semnal S.O.S
în cazuri de urgență, pentru ca salvatorul să poată ajunge în locația exactă.

Scopul acesteia este de a transmite locația în timp real.

Acest gen de proiect poate fi sustenabil atât pe plan intern cât și extern, având în vedere
faptul că piața și tehnologiile se află într-o continuă dezvoltare.

Ca și contribuții personale, pot spune că referitor la sinteza informațiilor m-am


documentat înainte, folosind bibliografia descrisă, și am extras informațiile utile pentru
prezentarea aplicației implementate, atât pentru dezvoltarea acesteia cât și pentru analiza
pieței, descrierea tehnologiilor utilizate și descrierea aplicațiilor similare. Am ales strict
informațiile necesare pentru o mai ușoară și rapidă dezvoltare, cât și pentru o explicare mai
bună a tot ce este descris în documentație.

În urma studierii tehnologiilor, am ales tehnologiile utile pentru implementarea


aplicației, urmărind o ușoară și rapidă dezvoltare, cât și o bună înțelegere a acestora.

Pe baza informațiilor găsite cu privire la aplicațiile similare, mi-am dat seama că pot
implementa o aplicație care prezintă avantaje spre deosebire de restul, și anume faptul că este
o aplicație Web și funcționează din browser, pe orice sistem de operare, astfel poate fi folosit
de pe orice dispozitiv mobile, tabletă, cât și de pe laptop. Un alt avantaj ar putea fi și faptul că
nu este necesar un cont pentru logare în aplicație, astfel utilizatorii sunt scutiți de introducerea
datelor personale.

În viitor doresc să aduc îmbunătățiri aplicației, și anume implementarea unui chat,


pentru ca utilizatorii să poată comunica între ei după localizarea acestora și posibilitatea de a
vizualiza prietenii din proximitate, atât timp cât ei permit acest lucru.

43
7. Bibliografie

1. Carte: HTML5 and CSS3 - Elizabeth Castro, Bruce Hyslop


2. Carte: Learning JavaScript – Shelley Powers
3. Carte: Pro JavaScript Technique – John Resig
4. Provider de SMTP - [Link]
5. Documentatie SendGrid - [Link]
6. Certificate SSL - [Link]
certificate-2/
7. Certificate SSL - [Link]
8. Domeniu - [Link]
9. Laravel - [Link]
10. Documentare API-uri -
[Link]
11. Analiză piață - [Link]
12. Aplicații similare Android - [Link]
13. Aplicații similare iOS - [Link]
[Link]
14. Aplicații similare iOS - [Link]
15. Aplicații similare Web - [Link]
web-app-sharing-location-friends/#gref
16. Site utilizat pentru înțelegerea tehnologiilor - [Link]
17. Site utilizat pentru înțelegerea tehnologiilor – [Link]

44

S-ar putea să vă placă și