__________________ [613500]

UNIVERSITATEA DIN ORADEA
FACULTATEA DE INGINERIE ELECTRICĂ ȘI TEHNOLOGIA
INFORMAȚIEI
PROGRAMUL DE STUDIU: CALCULATOARE
FORMA DE ÎNVĂȚĂMÂNT: IF

PROIECT DE DIPLOMĂ

COORDONATOR ȘTIINȚIFIC
Conf. dr.ing. GIANINA GABOR
ABSOLVENT: [anonimizat]ÉR DÁVID

ORADEA
2020

UNIVERSITATEA DIN ORADEA
FACULTATEA DE INGINERIE ELECTRICĂ ȘI TEHNOLOGIA
INFORMAȚIEI
PROGRAMUL DE STUDIU: CALCULATOARE
FORMA DE ÎNVĂȚĂMÂNT: IF

APLICAȚIE WEB – MAGAZIN
ONLINE

COORDONATOR ȘTIINȚIFIC:
Conf. dr.ing. GIANINA GABOR
ABSOLVENT: [anonimizat]ÉR DÁVID

ORADEA
2020

UNIVERSITATEA DIN ORADEA
FACULTATEA: INGINERIE ELECTRICĂ ȘI TEHNOLOGIA INFORMAȚIEI
DEPARTAMENTUL: CALCULATOARE ȘI TEHNOLOGIA INFORMAȚIEI

TEMA: __________________

Proiectul de f inalizare a studiilor a student: [anonimizat]: PINTÉR DÁVID
1). Tema proiectului de finalizare a studiilor:
APLICAȚIE WEB – MAGAZIN ONLINE
2). Termenul pent ru predarea proiectului: 10 februarie 2020
3). Elemente inițiale pentru elaborarea proiectului de finalizare a studiilor
PROGRAMARE ORIENTATĂ PE OBIECTE, PHP, MYSQL, JAVASCRIPT,
JQUERY, BOOTSTRAP, HTML, CSS
4). Conținutul proiectului de finalizare a studiilor
Introducere, Fundamentare teoretică (Aplicație web, Baze de date, Baze de date
relaționale, Baze de date non -relaționale, Librărie, Client. Server, API, Middleware),
Tehnologii folosite pentru realizarea aplicației (HTML, CSS, Bootstrap, JavaScript, jQuery,
MySQL, PHP, XAMPP) , Implementarea și descrierea aplicației (Proiectarea bazei de date,
Teste, Modulul client – Aplicația web, Coșul de cumpărături, Despre magazin, Contact,
Modulul administrator – Statistici și comenzi, Utilizatori, Categorii, Produse) , Conc luzii,
Bibliografie.

5). Materi al grafic:
6). Locul de documentare pentru elaborarea proiectului: Internet – W3SCHOOLS,
WIKIPEDIA, GOOGLE , STACKOVERFLOW, GITHUB ; biblioteca universității,
laborator Calculatoare
7). Data emiterii temei: 1 octombrie 2017

Coordonator științific
dr.ing. GIANINA GABOR

CUPRINS
I.INTRODUCERE 5
II.FUNDAMENTE TEORETICE 8
II.1 APLIC AȚIE WEB 8
II.2 BAZE DE DATE 8
II.2.1 Baze de d ate relaționale 9
II.2.2 Baze de date non -relaționale 9
II.3 Librărie 9
II.4 Client. Server 10
II.5 API 10
II.6 Middleware 11
III. TEHNOLOGII FOLOSITE 11
III.1 HTML (Hypertext Markup Language) 11
III.2 CSS (Cascading Syle Sheets) 12
III.3 Bootstrap 12
III.4 JavaScript 13
III.5 jQuery 13
III.6 MySQL 14
III.7 PHP 14
III.8 XAMPP 15
IV.PROIECTAREA ȘI IMPLEMENTAREA APLICAȚIEI 16
IV.1 Proiectarea bazei de date 16
IV.2 Teste 18
IV.3 Modulul client 19
IV.3.1 Aplicația web 19
IV.3.2 Coșul de cumpărături 24
IV.3.3 Despre magazin 25
IV.3.4 Contact 26
IV.4 Modulul administrator 27
IV.4.1 Statistici și comenzi 28
IV.4.2 Utilizatori 30

IV.4.3 Categorii 31
IV.4.4 Produse 31
CONCLUZII 34
BIBLIOGRAFIE 36

5 I.INTRODUCERE

Aplicația care urmează să fie prezentată și este implementată în cadrul proiectului de
diplomă, este una dedicată vânzării de laptopuri, și accesorii pentru acestea. Este un site pentru toți
cei care doresc să -și găsească laptopul ideal pentru orice scop, cât și accesorii utile pentru a
îmbunătăți utilizarea acestora. Se oferă clienților o gamă variată de laptopuri și componente, pentru
a satisface dorința oricărui cumpărător .
Foarte des m -am găsit în situația în care trebuia să cumpăr un laptop, fie pentru uzul meu
personal, fie pentru alți prieteni, cunoștințe sau cunoștințe ale cunoștințelor. Multă lume mi s -a
adresat cu această rugăminte , de a le achiziționa laptopuri . Sigur, răspunsul meu era, da, și am
făcut tot posibilul pentru a găsi cea mai bună variantă în raport de preț – calitate. Aceste situații
m-au dus la decizia de a crea o aplicație dedicată exclusiv laptopurilor .
Aplicația este împărțită în două module mari: partea de client, și partea administrator.
La partea de utilizator are acces oricine, indiferent că are cont în aplicație sau nu . Diferența dintre
un utilizator fără cont, și unul înregistrat apare dacă se dorește finalizarea la o comandă . În cazul
acesta , utilizatorul va întâlni un mesaj de eroare, pentru că este necesară ca utilizatorul să fie
înregistrat în aplicație. Partea de ut ilizator sau modulul client este prezentat în detaliu în capitolul
IV, Implementarea aplicației, la punctul IV.3 Modulul Client.
În partea de administrator se lucrează la conținutul magazinului, se adaugă , se modifică
sau se șterg categorii și produse, se găsesc și statisticile, date relevante cu privire la utilizatorii
aplicației, vizitatorii paginii, comenzile pe care le -au făcut, produsele existente pe site. De aici se
pot gestiona produsele, categoriile, și toate detaliile legate de acestea. Tot în part ea de
administrator se poate găsi partea de statistică referito are la vizitatorii aplicației, comenzile
efectuate, și profitul din vânzări. Acești statistici pot fi filtrate după criteri i de perioadă, fie ele
zilnice, săptămânale, lunare sau anuale. Partea sau modulul de administrator este prezentat în
detaliu în capitolul IV: Implementarea aplicației , la punctul IV.4 Modulul administrator .
Lucrarea de diplomă este structurată pe patru capitole, care sunt împă rțite pe mai multe
subcapitole. Acestea, prezentate în ordine, sunt următoarele :
Capitolul II – „Fundamente teoretice ” – are ca scop prezentarea unor termeni tehnici,
explicați în linii mari. În acest cap itol vom parcurge definiția unei aplicații we b – adică un program

6 ce se rulează online, nu trebuie instalat , se accesează dintr -un browser web –, a bazelor de date –
o colecție de informații organizate astfel încât să fie ușor accesabile și administrate –, definiția
unei librări i, a clientului, serverului, a relației client -server, API – care simplifică comunicarea,
legătura cu un server – și middleware – care este folosit ca un pod sau o legătură între sistemul de
operare sau o bază de date și o aplicație .
Capitolul III, cu titlul „Tehnologii folosite ”, descrie limbajele, programele, librăriile și
uneltele folosite în realizarea aplicației web – a proiectului de față . În subcapitol e se descriu
tehnologiile folosit e și utilitatea acestora pentru care a u fost ale se. T ehnologiile principale folosite
sunt: „HTML (Hypertext Markup Language)”, „CSS (Cascading Style Sheets)”, „Bootstrap”,
„Javascri pt”, „jQuery”, „MySQL”, „PHP ”, „XAMPP” . Dintre acesta, HTML este limbajul în care
se scrie o pagină web, codul paginii în sine. Codul CSS are rolul de a da formă paginii, designul
dorit. Bootstrap ajută la transformarea apli cației într -una responsive. Javascript este responsabil
pentru funcțiile de autentificare, și tot ce ține de contul de utilizator, activare cont sau resetare
parolă. Cu ajutorul jQuery avem implementat e mici animații, de exemplu în partea de
administrator, dacă funcționează corect baza de date și site -ul, va apărea o bulină verde care sare
într-un loc, cu mesajul ca site -ul funcționează corect, iar dacă apare vreo eroare, care afectează
funcționalitatea paginii web, apare o bulină roșie, care se mărește apo i se micșorează cu un mesaj
de eroare. MySQL este limbajul în care este scrisă baza de date a aplicației web. În crearea a paginii
web interactiv și dinamic are rolul cheie limbajul PHP. XAMPP este cel care pune la dispoziție
platforma web unde se poate rula aplicația web de față.
Capitolul IV – „Implementarea și descrierea aplicației” prezintă m odul în care tehnologiile
menționate au fost folosite în procesul de formare a aplicației , dificultăți le întâmpinate și soluțiile
acestor probleme , precum și mo dul de funcționare a aplicației. Capitolul este structurat pe mai
multe subcapitole , care sunt: „Proiectarea baz ei de date” – descrie în detaliu baza de date a
aplicației , „Teste”, „Modulul client ” – care descrie partea de utilizator , și „Modulul administrator ”
– care descrie partea de administrator, funcționalitățile și posibilitățile acestuia .
La rândul lor, modulul de client este împărțit în 4 subcapitole , care sunt: „Aplicația web”,
„Coșul de cumpărături”, „Despre magazin” și „Contact” .
Modulul administrator are următoarele subcapitolele : „Statistici și comenzi”, „Utilizatori”,
„Categorii ” și „Produse”.

7 Ultimul capitol, capitolul V, „Concluzii ”, cuprinde imaginea în ansamblu al aplicației după
prezentarea ce urmează, drept concluzii, dar și câteva posibilități de dez voltări viitoare ale
aplicației.
Concluziile se trag pe baza prezentări lor în amănunte, și ajută la clarificarea imaginii
asupra aplicației.
Posibilitățile de dezvoltare sunt foarte importante la orice aplicație, pentru că, dacă o
aplicație se oprește din a fi d ezvoltată, îmbunătățită, încet își va pierde utilizatorii, care vor trece
la o aplicație mai nouă, care este dezvoltat în continuu. Mai multe detalii despre posibilitățile de
dezvoltare, urmează la finalul capitolului V.

8 CAPITOLUL II. FUNDAMENTE TEORETICE
II.1 APLICAȚIE WEB
Magazinul online creat este o aplicație web. “O aplicație web este un program care rulează
într-o arhitectură client -server”. [1] Termenii de 'front end' și 'back end' , în ingineria software
înseamnă 'separarea preoc upărilor' (separation of concerns) dintre ceea ce vede utilizatorul
accesând aplicația (front end) și partea de acces baza de date (back end) al unui program. Când e
vorba de modelul client -server, utilizatorul, clientul , este considerat ca fiind front end, iar server –
ul back end. [2]
Aplicația web nu trebuie instalată, se poate accesa printr -un browser web, indiferent de
sistemul de operare a aparatului despre care se execută aceasta . [3]
Câteva tipuri de aplicații web sun t: Retail și e -Commerce, Călătorii și Turism, Banking și
Finanțe, Automotive, Logistică, Educație și e -Learning.
Majoritatea aplicațiilor web se pot încadra în categoriile menționate mai sus. Această
aplicație face parte din prima categorie, Retail & e -Commerce.
II.2 BAZE DE DATE
O bază de date, uneori numită și bancă de date (abreviat BD, sau DB în engleza) este o
colecție de informații, care sunt organizate astfel încât să fie ușor accesibile, administrate și
actualizate. Datele sunt organizate în rânduri, coloane și tabele, și s unt indexate pentru a face mai
ușoară găsirea informației relevante. [4]
Informațiile stocate in baza de date pot fi despre orice: persoane / utilizatori, produse,
comenzi etc., sunt de mai multe tipuri (text, numere întregi, numere zecimale, date, boolean etc.)
și sunt stocate pe un suport extern. [5]
În mediul web, funcționează un model de baze de date, numit trei straturi, unde primul strat
este interfața cu utilizatorul (client), un alt strat de logică a afacerii și prelucrare a datelor (server
de aplicații) și ca ultimul strat, un sistem SGBD – sistem de gestiune a bazelor de date – distribuit
pe calculatoare diferite.
Unele din avantajele rețelei web ca platformă de baze de date sunt simplitatea,
independența de platformă, interfața grafică cu u tilizatorul, acces transparent în rețea,
standardizare.

9 II.2.1 Baze de date relaționale
Bazele de date pot fi împărțite în două grupuri mari: baze d e date relaționale , și baze de
date non -relaționale .
Cele mai răspândite baze de date sunt MySQL, Microsof t SQL Server și Oracle Database.
Din acestea, MySQL este folosit pentru aplicații web, restul mai mult în cadrul companiilor mari.
MySQL este de obicei partea a popularului ”LAMP” – Linux, Apache, MySQL, PHP/Python/Perl.
Câteva dintre avantajele bazelor relaționale sunt următoarele:
● lucrează cu date structurate
● suportă „joins” (combină coloanele mai multor tabele)
Dezavantaje:
● data e normalizată (conține multe „joins”), care afectează în mod negativ viteza
● întâmpină probleme la lucrul cu date semi -structurate [ 6]
II.2.2 Baze de date non -relaționale
Bazele de date non -relaționale (numite și NoSQL) mai cunoscute sunt MongoDB,
DocumentDB, Cassandra, Coachbase, HBase, Redis, and Neo4j. [7]
Eventualele avantaje cu utilizarea NoSQL :
● funcționează cu date nestructurate și semi -structurate
● disponibilitate mare
● opțiunea de a fi fără sau cu schemă la citire. Asta se referă la structura datelor
tabele lor din baza de date. În cele relaționale, fiecare tabel trebuie sa fie cu o
structură fixă de date , iar în cele non -relaționale structura se poate schimba cum se
dorește [8]
Dezavantaje:
● suport limitat pentru „joins”
● indexare limitată
● consistență a datelor mai redusă [9]
II.3 Librărie
Librăria este o colecție de fișiere . În programare acesta înseamnă o colecție de rutine
precompilate, utilizabile de un program. Aceste rutine, numite și module, sunt stocate in format

10 tip obiect. Librăriile sunt utile în special pentru a reține rutine frecvent utilizate, astfel nu necesită
legare explicită, ci linker -ul face automat acest lucru. Dacă e vorba de MS – Windows, aceste
librării au extensia .DLL. [10]
Există două tipuri de librării: librării statice – care conțin cod surs ă pentru anumite
obiecte/module curente iar când este folo sit acest tip de librărie codul este adăugat direct la
executabilul final renunțând astfel la orice fel de dependință externă , și librării dinamice care
export ă metode și oferă posibilitatea executabilelor să invoce aceste metode fără a fi nevoie s ă le
copieze în corpul aplicației. Oferă un avantaj major atunci când vine vorba de modificarea
metodelor deoarece acest lucru nu implică și un nou rebuild ca în cazul librăriilor statice .
II.4 Client. Server
Clientul este un calculator sau un program , care se bazează pe trimiterea de cereri către un
program sau hardware sau software de calculator, care accesează serviciul făcut disponibil de către
un server (fie el sau nu pe un alt calculator) . Clientul este partea modelului client -server utilizat și
azi. Au fost numiți clienți prima dată dispozitivele care nu erau capabile să ruleze singur programe,
dar puteau interacționa cu alte calculatoare prin rețea. [11]
În compilare un server este un program de calculator sau un dispozitiv, care oferă
funcțion alitate altor programe, numite ”clienți” . Această arhitectură este numită modelul client –
server. Serverii oferă o mulțime de funcționalități, numite și ”servicii”, ca și distribuire de date sau
resurse pentru clienți sau executarea compilațiilor pentru ace știa. [12]
Browser -ele web sunt astfel de clienți care se conectează la serverele web. Serverele web
oferă datele, paginile web, care sunt dorite accesate. Alt exemplu de relație client -server sunt
emailurile, dar este răspândită această soluție și pentru utilizarea la jocurile video online.
II.5 API
API este abrevierea de la Application Programming Interface (interfața de programare a
aplicației). Acesta este un set de funcții și proceduri care permite crearea de aplicații care accesează
caracteristicile sau datele unui sistem de operare, ale unei aplicații sau ale unui alt serviciu. [1 3]
Web este o rețea mare de servere conectate. Fiecare pagină de internet este stocată pe un
server, undeva la distanță , o parte a unei mașini de calcul care este optimizată pentru procesa rea
cereri lor. Când intrăm pe o pagină web în browser, acesta trimite o cerere către serverul aflat la

11 distanță al paginii respective . Odată ce se primește răspunsul, browser -ul interpretează codul și
afișeaza pagina. Pent ru ‘client’ (browser) , serverul paginii este un API. Oricâte ori vizităm o
pagina web, interacționăm cu un API al unui server la distanță.
Un API nu este același lucru cu un server la distanță, ci mai degrabă este o parte a server –
ului, care primește cereri și trimite răspunsuri. [14]
II.6 Middleware
Middleware -ul este un software care joacă rolul unui pod între sistemul de operare sau o
bază de date și aplicații, în special pentru cele aflate în rețea. [15]
Folosirea tehnologiilor middleware în cadrul integrării aplicațiilor e posibil datorită a două
elemente: a conceptului de interfață, care caracterizează fiecare component conectat la magistrala
middleware, și a metodologiei orientată pe obiect, care permite construi rea unui model de interfețe,
care să răspundă necesităților utilizatorului și contribuie la reducerea nivelului de complexitate.
Tipurile de middleware sunt: RPC (remote procedure calls), MOM (middleware orientat
pe mesaje), obiecte distribuite, middlewar e orientat pe bază de date, middleware tranzacțional, și
servere de integrare.

Capitolul III . TEHNOLOGII FOLOSITE
III.1 HTML (Hypertext Markup Language)

HTML este abrevierea de la Hyper Text Markup Language , și este o formă de marcare orientată
către prezentarea documentelor text pe o singura pagină, utilizând un software de redare
specializat, numit agent utilizator HTML, cel mai bun exemplu de astfel de software
fiind browserul web.
Paginile HTML sunt formate din etichete sau tag -uri și au exte nsia „.html” sau „.htm”. De cele
mai multe ori aceste etichete sunt pereche, una de deschidere <eticheta> și alta de
închidere </eticheta>. Navigatorul web interpretează aceste etichete afișând rezultatul pe ecran.
Un document HTML este compus din: versiu nea HTML a documentului , zona head cu
etichetele <head> </head> și zona body cu etichetele <body> </body> sau <frameset>
</frameset> .

12 Toate paginile HTML încep și se termină cu etichetele <html> și </html>. În interiorul acestor
etichete găsim perechile <head>, </head> și <body>, </body>, unde head conține titlul paginii
între etichetele <title> și </title>, descrieri de tip <meta>, stiluri pentru formatarea textului, script –
uri și legături către fisiere externe (de exemplu script -uri sau fișiere de tip CSS) , iar
body găzduiește practic toate etichetele afișate de browser pe ecran.
Etichetele de tip meta conțin cuvinte cheie, descrierea paginii, date despre autor, informații
utile motoarelor de căutare . [16]
În acest proiect, HTML stă la baza fiecărei pagini web din aplicație. Paginile sunt de tip HTML
și au formatul descris pe scurt de paragrafele anterioare.

III.2 CSS (Cascading Syle Sheets)
CSS (Cascading Style Sheets) este un standard pentru formatarea elementelor unui
document HTML . Stilurile se pot atașa elementelor HTML prin intermediul unor fișiere externe
sau în cadrul documentului, prin elementul <style> și/sau atributul style. Stilul elementelor poate
fi salvat extern, în fișiere cu extensia „ .css ” [17]
În cazul proiectului de față, toate elementele de CSS sunt puse într -un singur fișier separat,
atât pentru partea de utilizator cât și pentru partea de administrator, iar ele sunt incluse în html
oriunde este nevoie de ele, așadar nu trebuie scrise repetit iv în fiecare fișier.
Pentru implementarea aplicației am utilizat fi șiere de stiluri extern , animate.css pentru stilul
animațiilor care apar în aplicație dar cel mai important, fișierul styles.css, documentul în care se
află stilurile pentru aproape toată elementele din aplicație.
Aceste fișiere externe au fost incluse în aplicație, și puse în aplicare prin fișierul
css_includes.php.

III.3 Bootstrap
Bootsrap -ul este un framework CSS gratuit, care include șabloane de proiectare bazate pe
CSS și (opțional) de JavaScript pentru tipografie, formulare, butoane , navigare, și alte componente
de interfață, pentru front -end-ul aplicațiilor mobile .
Această tehnolo gie se folosește pentru a crea cu ușurință de sign responsive [18]

13 Am implementat în aplicația mea, tot din acest scop, pentru a avea un design responsive,
pentru a îmbunătăți experiența utilizatorului, orice rezoluție sau mărime de ecran ar avea acesta.

III.4 JavaScript
Java Script (JS), este un limbaj de programare , interpretat, de nivel înalt. Este cel mai
cunoscut limbaj de criptare pentru pagini web, dar totodată se folosește și pentru tehnologii non –
browser ca și Node.js sau Adobe Acrobat. Java Script este un limbaj dinamic, prototip, care suportă
programarea orie ntată pe obiecte. [ 19]
Alături de HTML și CSS, JavaScript este unul dintre tehnologii le de bază ale World Wide
Web. Acesta permite pagi nilor web să fie interactive, și este o parte esențială a aplicațiilor web.
Inițial se implementa în browser -ele web doar pe partea de client, acum sunt încorporate în
multe software -e, în servere web și baze de date, dar și în programe non -web,.[ 20]
Deci, pe scurt, JS este un limbaj cross -platform de scripting, orientat pe obiecte, folosit
pentru a crea pagini web interactive, cum ar fi animații complexe, butoane care răspund la click –
uri, meniuri popup etc.[ 21]

III.5 jQuery
jQuery este o librărie JavaScript cross -platform de categorie ușoară . Ideea de bază e “scrie
mai puțin, fă mai mult”, realizată pentru simplificarea scriptării de HTML pe partea de client. E
un software gratuit, open -source, care este cea mai răspândită librărie de Java Script .
Sintaxa jQuery este gândită în felul încât să f ie cât mai ușo ară navigarea unui document,
selectarea elementelor, crearea animațiilor, gestionarea evenimentelor și dezvoltarea aplicațiilor
Ajax.
De asemenea, dă programatorilor capabilitatea de a crea plugin -uri peste librăria
JavaScript. Acest lucru permite abstractiz area pentru animații și interacțiuni low -level, efecte
avansate și widget -uri tematice, high -level. Prin a bordarea modulară a librăriei jQuery este permis
crearea a pagini web dinamice și aplicații web puternice.[ 22][23]

14 III.6 MySQL
MySQL este un sistem de gestiune a bazelor de date relaționale , bazat pe SQL ( Structured
Query Language) . Deși este folosit foarte des împreună cu limbajul de programare PHP, cu
MySQL se pot construi aplicații în orice limbaj major.
Există multe scheme API disponibile pentru MySQL ce permit scrierea aplicațiilor în
numeroase limbaje de programare pentru accesarea bazelor de date MySQL, cum ar fi: C, C++,
C#, Java, Perl, PHP, Python, etc., fiecare dintre acestea folosind un tip specific API.
MySQL este compatibilă, funcționează pe o varietate mare de sisteme de operare, începând
cu Microsoft Windows, macOS, Linux, Oracle Solaris, Symbian, și multe altele . Este folosit și
pentaru e-commerce sau aplicații de autentificare .
Este cel mai des este fol osit pentru baze de date web [ 24]
Baza de date ai aplicației web din acest proiect, este creat cu ajutorul limbajului MySQL.

III.7 PHP
PHP este un limbaj de programare . Numele PHP provine din limba engleză și este un
acronim recursiv : Php: Hypertext Preprocessor. Se folosește în principal înglobat în
codul HTML, dar se poate folosi și în mod „linie de comandă”. [26]
Este unul din cele mai importante limbaje de programare web open -source și server -side,
existând versiuni disponibile pentru majoritatea web serverelor și pentru toate sistemele de
operare.
Orice cod PHP dintr -un fișier cerut este executat de PHP la rulare, de obicei pentru a crea
conținut dinamic de pagini web sau imagini dina mice folosite pe website -uri sau în alte locuri [ 25]
În aplicația web PHP este folosit printre mai multe, pentru partea de utilizator, verificând
la înărcarea paginii daca un utilizator este conectat sau nu, dar și starea coșului de cumpărături,
daca se află produse în el sau este gol.
Am folosit funcția de PHPMailer pentru trimiterea emailurilor automat generate de
exemplu la crearea contului sau la cererea emailului cu parolă uitată [27]

15 III.8 XAMPP
XAMPP este un pachet de programe de server web gratuit, open -source și cross -platform,
constând în principal dintr -un server HTTP apache, bază de date MySQL și interpretori de scripts
scriși în limbajele de programare PHP și Perl. Abrevierea XAMPP vine de la X – cross -platform,
A – Apache, M – MySQL, P – PHP și P – Perl.
Este utilă pentru crearea unui server web local pentru testare a și lansarea aplicații lor. Are
inclus într -un fișier extractibil, tot ce este necesar pregătirii unui server web , și anume: aplicați a
de server (Apache), baza de date (MySQL ) și limbajul de scripting (PHP) .
Faptul că, XAMPP este cross -platform, înseamnă că funcționează pe diverse sisteme de
operații, fie Linux, Mac sau Windows. Deoarece majoritatea lansărilor serverelor web folosesc
aceleași componente ca XAMPP, este extrem de ușoară lansarea unui site de test live . [28]
Aplicația prezentată în acest proiect, rulează pe platforma XAMPP.

16 Capitolul IV . PROIECTAREA ȘI IMPLEMENTAREA APLICAȚIEI
IV.1 Proiectarea bazei de date
La proiectarea bazei de date, am avut în vedere trei categorii mari: produsele, utilizatorii și
comenzile, c are ulterior toate se leagă una de cealaltă .

Fig. IV.1. Structura bazei de date

În figura IV.1 este prezentata baza de date în ansamblu , relațiile dintre fiecare tabel. În
centrul acestuia sunt utilizatorii. De acesta se leagă tabelele cu detaliile utilizatorilor, cu activările
de conturi. Tot de acesta se leagă comenzile depuse, de care la rândul lor se leagă detaliile acestor
comenzi, d e care se leagă produsele din aplicație. De produse se leagă detaliile acestora,
specificațiile, categoriile și pozele produselor.

17

Fig. IV. 2. Fragment din structura bazei de date – produse și categorii

În fig. IV.2., prima parte a bazei de date , avem categoriile de produse de care sunt legate
direct toate produsele din aplicație, fiecare necesitând să fie parte dintr -o categorie, dar și
specificațiile posibile din categorii tot aici se leagă.
Baza de date este creat astfel, încâ t să se poate adăuga oricâte categorii, specificații,
produse sau poze și detalii, la orice stare a aplicației.

Fig. IV.3 . Fragment din structura bazei de date – utilizatori

18 Figura. IV.3 . Partea a doua a bazei de date , care este alcătuit din utilizatorii aplicației, și a
tuturor detaliilor legate de aceștia: categoriile de detalii a utilizatorilor, specificațiile acestor
categorii, utilizatorii, detaliile utilizatorilor, utilizatori activi pe aplicație, parole uitate.

Fig. IV. 4. Fragment din structura bazei de date – comenzi

Partea a treia reprezintă comenzile utilizatorilor . Aici avem comenzile în sine, detaliile
comenzilor și statusul acestora. Acest fragment din baz a de date arată ca în fig. IV.4 .

IV.2 Teste
Pentru a testa funcționarea aplicației, am creat o serie de conturi de utilizatori, și am
introdus diferite produse și categorii pentru a fi testat corespunzător. Este foarte important ca la
momentul când ajunge în funcțiune, acesta să nu aibă bug-uri, sau alte probleme de bună
funcționalitate, de aceea, a m testat funcționalitatea aplicației prin crearea a multor utilizatori , să

19 testez, cât de bine se mișcă aplicația cu o mulțime de utilizatori , validarea conturilor acestora ,
pentru că se trimit emailuri cu linkuri pentru validarea conturilor, asta fiind prezentat în capitolele
următoare .
Resetarea parolelor prin opțiunea ”am uitat parola” – pentru testarea mesajelor pentru
resetarea parolelor cu ajutorul link -ului trimis prin email – , filtrar ea produselor int roduse – am
filtrat produsele în diferite moduri, să văd dacă apar toate produsele care au aceeași date tehnice și
specificații cu cele filtrate , sortarea acestora – după popularitate – cele mai vândute, preț crescător
sau descrescător, or dine crescătoare sau descrescătoare alfabetică dar și de la cele mai noi produse
la cele mai vechi, sau invers , plasarea comenzilor – care se adaugă la partea de istoric comenzi în
contul de utilizator și apare și la comenzile din suprafața de administrato r de unde se poate procesa
comanda și schimbarea stării comenzilor – în procesare, împachetat , trimis și finalizat .

IV.3 Modul ul client
Modulul client conține toate acțiunile și toate pagi nile unde are acces un utilizator oarecare,
cu sau fără să fie conectat într-un cont personal.
Îi aparține pagina principală, pagina cu detaliile a unui produs, pagina de contact, pagina
despre noi, dar și pagina de creare a contului de utilizator, și bineînțeles și pagina de profil a
utilizatorului înregistrat, unde acesta are acces la detaliile contului personal, dar și la istoricul de
comenzi, fie ele finalizate sau în desfășurare.
În următoarele subcapitole urmează ca acestea să fie prezentate în detalii.

IV.3.1 Aplicația web
Aplicația este accesibilă atât pentru cei care își fac cont din prima, cât și pentru cei care
intră doar din curiozitate, nedorind mai mult decât să navigheze și să descopere aplicația. Singura
diferență apare doar când se dorește finalizar ea unei comenzi, cumpărarea produselor din coșul de
cumpărături. Această acțiune necesită ca utilizatorul să aibă cont activ în aplicație.
Este posibilă căutarea unui produs specific, utilizând bara de căutare din partea dreapta sus
a paginii web. Căutar ea produselor dorite este ușurată și de posibilitatea de filtrare după categorie
sau caracteristicile produsului. Totodată, produsele filtrate sau nefiltrate, se pot sorta în diferite

20 feluri: Cele mai populare, Cele mai noi, Cele mai vechi, Preț crescător, Preț descrescător, În ordine
alfabetică sa u în ordine invers alfabetului. [ 29]
Pagina de start a aplicației poate fi observată în fig. IV. 5. Acesta va apărea când cineva va
accesa aplicația web. Pagina de start conține, în partea de mijloc produsele oferite către vânzare,
în stânga cărora se află filtrele pentru a găsi cel mai ușor produsele căutate. În partea de stânga sus
a paginii de start se află meniul principal, cu ajutorul căruia se poate naviga printre diferitele pagini
a aplicației web. Astea sunt partea de magazin – Shop, despre noi – About us și pagina cu detalii
de contact – Contact.
Tot aici, în stânga meniului este un motor de căutare. Prin acest motor de căutare,
utilizatorii pot să caute produsele prin căutarea după cuvinte c heie, număr de serie, sau orice alt
detaliu ce rețin din denumirea sau descrierea produsului.
Sub meniu și motorul de căutarea sunt butoanele pentru intrare în cont – Log in, și
înregistrare – Register. În stânga acestora este iconița coșului de cumpărătu ri, în colțul căruia apare
cantitatea produselor care se află în coș.

Fig. IV.5 Pagina de start

Crearea unui cont dă acces la pagina de profil, și face posibil finalizarea comenzi lor. Pe
această pagină de profil apar două posibilități noi, completarea datelor utilizator, care sunt necesare

21 pentru a trimite comenzi, și ”comenzile mele ”. Datele necesare se impun din panoul de
administrator, de unde se poate alege, ce date trebuie utilizat orul să completeze, și care dintre ele
sunt obligatorii sau opționale.
A doua opțiune nouă este ”comenzile mele”, unde utilizatorul poate să urmărească ce se
întâmplă cu, comanda plasată. Asta poate sa aibă cinci statusuri diferite: în procesare, împachet at,
în curs de transport, finalizat și invalid.
La momentul plasării comenzii, acesta primește statusul în procesare. Dacă sunt toate
datele utilizatorului în regulă, este stoc suficient din produs, și nu apar alte probleme, statusul se
va schimba în curâ nd în împachetat.
Dacă în procesul de mai sus apare vreo problemă, statusul se va schimba în invalid. După
ce o comandă primește statusul împachetat, când un operator din magazin sau depozit va marca în
sistem că s -a predat către un serviciu de transport, statusul se va schimba în curs de transport.
Ultimul status se pune când se primește confirmare de la serviciul de transport, ca, comanda fiind
livrată, atunci se schimbă în finalizat.

Fig. IV. 6 Pagina de detalii a produsului selectat

22 Detaliile produsului selectat – fig. IV. 6 și fig. IV. 7, apar când utilizatorul intră pe un produs
anume. În figura IV.6 apare un slider cu poze despre produs, unde se poate naviga cu ajutorul
săgeților din lateral ele imaginii, cu ajutorul liniuțelor din partea de jos a imaginii, dar și trăgând
de imagine în dreapta sau în stânga.
În partea dreaptă a paginii, lângă poze, apare în primul rând, câte bucăți s -au vândut din
produsul respectiv, sub care apare prețul produsului. Sub prețul produsului este opțiunea de a -l
adăuga la coșul de cumpărături cantitatea dorită din produs.
Sub ac esta este implementat o opțiune, ca utilizatorul să vadă produse cu specificații
similare dacă accesează hyperlinkul – textul cu albastru.
Figura IV.7 arată specificațiile unui produs. Toate detaliile tehnice, de care ar putea fi
interesat vizitatorii, ut ilizatorii, cumpărătorii.

Fig. IV. 7 Pagina de detalii a produsului selectat

23

Fig. IV. 8 Produse recomandate – asemănătoare cu cel deschis

Sub detaliile și specificațiile produsului selectat , apar câteva produse din același categorie
cu produsul deschis – fig. IV. 8.
În această zonă a ecranului, produsele se pot muta atât cu ajutorul săgeților de sub ele, cât
și cu metoda ”drag”. Asta s -a realizat cu ajutorul siema.js slider. Tot această metod ă este folosită
și când se deschid pozele de la un anumit produs, pentru a naviga între ele. [30]

Fig. IV. 9 Email de verificare

24 La crearea unui cont, este necesară ca utilizatorul să alege o parolă alcătuită din litere mici,
litere mari, cifre și ca să aibă cel puțin 8 caractere lungime. Aplicația verifică validitatea adresei
de email. Dacă aceste condiții sunt îndeplinite, se trimite un email de verificare pe adresa dată de
către utilizator. Fig. IV. 9. La accesarea linkului din emailul de verificare , contul de utilizator se
activează, și devine accesibil utilizatorului.
Linkul de activare și parola de utilizator sunt protejate prin funcția de
password_hash ( string $password , int $algo [, array $options ] ) : string de la
PHP, care criptează datele pentru protecția lor. [31] Verificarea parolei la intrare în cont, sau a
linkului de activare a contului, se face cu ajutorul funcției
password_verify ( string $password , string $hash ) : bool care verifică dacă parola sa u
linkul introdus corespunde cu cel inițial, creat și criptat la crearea contului. [32]
Atunci când un utilizator intră în cont, se generează automat un ”Session ID” pentru
perioada cât timp el este autentificat în cont. Acesta se face cu ajutorul funcției
random_bytes ( int $length ) : string care generează 16 byte, adică 128 bit, ce înseamnă,
că se generează 2 la puterea 128 variante, care asigură siguranța utilizatorului. [33]
Dacă utilizatorul e autentificat în cont, și în aceeași timp încearcă să intre dintr -un alt
browser, se va afișa un mesaj de eroare că este deja autentificat. Sesiunile active sunt notate și în
baza de date a aplicației.

IV.3.2 Coșul de cumpărături
În partea de dreapta sus a ecranului este un coșuleț, un buton pe care dacă accesează
utilizatorul, îl va duce la pagina de coșul de cumpărători, unde apar toate produsele adăugate de
către acesta. Pagina arată ca în fig. IV. 10. În colțul butonului de coșu leț, apare și o cifră care indică,
câte produse are utilizatorul adăugate în coș.
În coș, utilizatorul are opțiunea de a modifica cantitatea fiecărei produs. La fiecare produs
în parte se face un total, care constă din prețul produsului înmulțit cu cantit atea dorită.
Sub lista de produse se face un total la toată comanda, unde sunt adunate totalurile de la
fiecare produs în parte. În cazul în care cantitatea dorită dintr -un produs nu este disponibilă,
utilizatorul va primi un mesaj de eroare referitor la acesta.

25 O com andă se poate trimite / finaliza, doar dacă utilizatorul este autentificat în contul
personal de utilizator.

Fig. IV. 10 Coșul de cumpărături
IV.3. 3 Despre magazin
Pagina de „About us” – despre noi – conține informații despre magazin, profilul
magazinului, istoria acestuia, și chiar și despre persoanele cheie în spatele lui . Este necesar ca
vizitatorii aplicației să aibă acces la aceste informații, pentru o relație de încredere. Fig. IV. 11.

26

Fig. IV. 11 – Despre noi

IV.3. 4 Contact
Pagina de „Contact” este disponibil atât pentru vizitatori cât și pentru utilizatorii care au
contul lor personal, și are scopul să ofere posibilitatea de a intra în legătură cu unul dintre
administratorii magazinului, pentru a rezolva orice fel de problemă , nelămurire și pentru a primi
răspuns la toate întrebările întâmpinate. Pagina de contact arată ca în Fig. IV. 12.
În partea stângă apare adresa sediului companiei, care este proprietarul aplicației web, și a
căror produse se vând pe site, adresa de email, și numerele de telefon și de fax.
În partea dreaptă este un formular care ușurează procedura de contact. Prin com pletarea
acestuia, se trimite mesajul direct la administratorii aplicației web. Se completează foarte ușor.
În prima rubrică se trece adresa de email a utilizatorului care trimite mesajul, sub el, in
rubrica a doua se trece titlul mesajului, care reprezintă în mod obișnuit tema mesajului, doar în 3 –
5 cuvinte, iar sub acesta, este loc pentru mesajul dorit. Când t oate acestea sunt completate, trebuie
trimis prin utilizarea butonului de Send e -mail – trimite email.

27

Fig. IV.1 2 – Pagina de contact

IV.4 Modul ul administrator

Fig. IV.1 3 – Schemă bloc – parte de administrator

La partea de administrator au acces doar persoanele dedicate în acest scop. De aici se pot
adăuga produse, categorii și informațiile de utilizatori necesari de completat ma i târziu de către
utilizatori.

28 Se pot verifica statistici utile despre vizitatorii aplicației, comenzile plasate, profitul făcut,
și se poate și raporta erori fie legate de front -end sau de această parte de administratori, către
programatorii care se ocupă cu mentenanță. În figura IV.13 avem schema bloc a modulului de
administrator.
IV.4.1 Statistici și comenzi
În această parte se pot urmări detalii importante administratorilor magazinului. Aceștia pot
vedea statistici referitoare la numărul de vizitatori ai magazinului, profitul și comenzi. Separat într –
un tab se pot urmări toate comenzile indiferent de ce statu s au ele. Aici se poate modifica statusul
unei comenzi de la unul la alta.

Fig. IV.1 4 Pagina de statistici 1

În figura IV.14, și IV.15 avem poze despre statisticile despre vizitatorii paginii web, și a
comenzilor depuse.
Aceste statistici se pot vedea pentru diferite intervale: zilnice, săptămânale, lunare sau
anuale.

29

Fig. IV.1 5 Pagina de statistici 2

Fig. IV.16 Pagina de comenzi

Figura IV.16 reprezintă pagina de comenzi, unde se pot vedea la fiecare comandă depusă,
detaliile acestora, produsele din comandă, prețul acestora, totalul comenzii dar și statusul
comenzilor.

30 IV.4.2 Utilizatori
Utilizatorii aplicației, cei care au înregistrat un cont, sunt salvați direct în baza de date a
aplicației. Ele se poate fi văzute doar în tabelul ”users” – fig. IV. 17., unde l -i se atribuie un ID,
mai apare numele de utiliz atori, adresa de email și parola, în formă criptată.

Fig. IV. 17 Utilizatori în baza de date

Din panoul de administratori avem acces la pagina ”User info” – fig. IV. 18., de unde se
pot adăuga sau șterge categorii, date necesare despre utilizatori. La adăugarea unei categorii noi,
trebuie selectat ca acesta să fie obligatorie sau să rămână opțional. Aceste categorii vor apărea
utilizatorilor în contul lor, la partea de ” User info” pentru completare.

31
Fig. IV. 18 Date utilizator
IV.4.3 Categorii
În panoul de administrator, la partea de categorii, administratorul are posibilitatea de a
adăuga, modifica și de a șterge categorii. Fiecare categorie la rândul lui poate să aibă caracteristici
sau proprietăți. Acești proprietăți pot fi modificate sau adă ugate și ulterior, dup ă crearea categoriei
de produse . Fiecare produs trebuie să facă parte dintr -o categorie.
Datorită acestei metode de adăugare a categoriilor, aplicația poate fi folosită oricând pentru
vânzarea a orice alt tip de produse, fiind necesa ră doar adăugarea categoriilor și proprietăților
necesare acestora.

Fig. IV. 19 Categorii de produse

IV.4.4 Produse
Produsele care apar în aplicație se adaugă din interfața de administrator, din pagina de
”Products” ce se poate vedea în fig. IV. 20. Pentru adăugarea unui produs, trebuie introdus numele
acestuia, alegerea categoriei de care va aparține, acest lucru, foar te important, nu se poate schimba
ulterior, se pot adăuga poze, se poate adăuga o descriere a produsului, prețul acestuia, și numărul
disponibil.

32 Din acest număr se vor scădea produsele deja vândute, astfel, acest număr de produse
disponibile trebuie act ualizat doar când se primește marfă în depozit.
Toate produsele deja adăugate, vor apărea tot aici în pagina ”Products”, și sunt afișate
împreună cu următoarele informații: ID -ul produsului – asta va fi alăturată comenzii efectuate, și
de asta se leagă ș i pozele atribuite produsului, Numele produsului, în paranteză și categoria
acestuia, și opțiunile de modificare sau ștergere a acestora. Această pagină arată ca în fig ura IV.21.

Fig. IV. 20 Pagina de adăugare a produselor

33
Fig. IV. 21 Pagina produselor

34 V.CONCLUZII

Aplicația este împărțită în două module mari: partea de client, și partea administrator.
La partea de utilizator are acces oricine, indiferent că are cont în aplicație sau nu, dar dacă
se dorește finalizarea la o comandă, este necesară ca utilizatorul să fie înregistrat în aplicație. La
accesarea aplicației nu există alte constrângeri în afar a necesității contului de utilizator pentru
finalizarea unei comenzi.
În partea de administrator pot fi văzute datele relevante cu privire la utilizatorii aplicației,
vizitatorii paginii, comenzile pe care le -au făcut, produsele existente pe site. De aic i se pot gestiona
produsele, categoriile, și toate detaliile legate de acestea. Tot de aici se operează comenzile active,
și aici se po ate găsi și o parte de statistică referitor la vizitatorii aplicației, comenzile efectuate, și
profitul din vânzări. Aceș ti statistici pot fi filtrate fie zilnice, săptămânale, lunare sau anuale.
Având în vedere detaliile prezentate mai sus , în această lucrare , despre aplicați a de față ,
putem spune că este o aplicație prietenoasă, ușor de utilizat , indiferent dacă utilizatorul este cineva
care se pricepe la aspectele tehnice ale produselor sau este unul laic. Este sigur atât din punctul de
vedere al utilizatorului , fiind implementate metode de criptare sigure pentru parolele și datele
personale ale utilizatorilor , lucru foarte important, întrucât se vând produse în valoare foarte mare,
și utilizatorii își introduc date personale și financiare la crearea contului de utilizator și / sau la
plasarea comenzilor; cât și al administratorilor, care sunt responsabili pentru produsele și
comenzi le din aplicație.
Aspectul fizic al ap licației relativ simplu, dar acest lucru face aplicația ușor de înțeles și de
utilizat , indiferent cine s -ar uita la acesta.
Posibilitățile de dezvoltare sunt multe, aș putea spune, că fără margi ne. Este foarte
important ca aplicația să se afle în dezvoltare continuă pentru a ține pasul cu , concurența care este
și care continuă să apare pe piață.
Dacă ne gândim la partea de administrare , principale le idei de dezvoltare ar putea fi , ca
pentru produsele la care a scăzut stocul sub o cantitate anume, să apară un semn distinctiv sau să
se poate exporta într-o listă separată pentru a putea comanda de la furnizori . O altă idee de
dezvoltare ar putea fi introduce rea unui bariere de Securitate pentru partea de administrator , fie ele
conturi separate pentru fiecare administrator, și un cont de utilizator ”master” care să fie peste
toate, sau un cont comun pentru administratorii care se ocupă cu editarea produselor, categoriilor

35 și administrarea comenzilor active , pentru a evita accesul persoanelor neautorizate. S -ar putea face
prin implementarea unei suprafețe de login , cu utilizatori speciale pentru ace știa.
Posibilități de dezvoltare sunt și la partea de utilizator, fiindcă trebuie dezvoltată aplicația
atât pe partea de utilizator cât și pe partea de administrator în paralel. La front -end-ul aplicației ,
unul din câteva posibilități de dezvoltare ar putea fi adăugarea unei metode de schimbare a limbii
aplic ației într -o altă limbă dorită – care se poate face prin adăugarea stegulețelor cu limba dorită
într-un colț al paginii, și prin apăsarea pe stegulețul limbii dorite să se schimbe limba întregii
aplicații . Acesta se poate face prin a crea separat documente html pentru fiecare limbă dorită pentru
adăugare, și apoi prin implementarea unei funcții care să permite, ca prin selectarea stegulețului să
fie încărcat textul în limba dorită.
O altă posibilitate de dezvoltare care privește utilizatorii ar fi ramifica rea profilului
magazinului. Tot această idee, de a oferi în cel mai simplu mod posibil produsele dorite de
cumpărători, chiar și pentru cei care nu se pricep la date tehnice, doar atâta știu, pentru ce vor
folosi produsul. Ramificarea profilului s -ar putea face în direcții fără număr, dar chiar dacă s -ar
decide lângă această idee de ramificare, tot pe linia de tehnologii aș dori să rămână magazinul.
Ca urmare după toate cele spuse și scrise mai sus, putem afirma ca aplicația web –
magazinul online, este u nul foarte ușor de utilizat, prietenos și ușor de înțeles pentru orice
utilizator. Aplicația poate să țină pasul cu orice aplicație similară – asemănătoare care se află pe
piață în momentul de față. Este ideal pentru un start -up, care nu dorește să investe ască foarte mult
la începutul businessului într -un magazin online, dar nu vrea să rămână în urmă față de concurența,
care dispune de un astfel de instrument de vânzare, astfel sporind rata de vânzări.

36 BIBLIOGRAFIE

[1] – https://ro.wikipedia.org/wiki/Aplica%C8%9Bie_web Consultat la 23 .09.2018 , 15.03.2019
[2] – https://en.wikipedia.org/wiki/Front_and_back_ends Consultat la 23.09.2018 , 17.03.2019
[3] – https://www.webdesi gn-galati.ro/blog/ce -este-aplicatia -web Consultat la 23.09.2018
[4] – https://searchsqlserver.techtarget.com/definition/database Consultat la 27.09.2018 ,
25.03.2019, 13.05.2019
[5] – https://ro.wikipedia.org/wiki/Baz%C4%83_de_date Consultat la 27.09.2018 , 12.04.2019
[6] -https://en.wikipedia.org/wiki/D atabase_index Consultat la 2 7.09.2018 , 15.04.2019
[7] – https://stackoverflow.com/questions/11707879/difference -between -scaling -horizontally –
and-vertically -for-databases Consultat l a 27.09.2018
[8] – https://www.quora.com/What -does-it-mean -for-a-database -to-be-schemaless Consultat la
27.09.2018 , 15.04.2019
[9] – http://www.dataversity.net/review -pros-cons-different -databases -relational -versus -non-
relational/ Consultat la 27.08.2018
[10] – https://www.webopedia.com/TERM/L/library.html Consultat la 29.09.2018
[11] – https://en.wikipedia.org/wiki/Client_%28computing%29 Consultat la 29.09.2018 ,
18.04.2019
[12] – https://en.wikipedia.org/wiki/Server_%28computing%29 Consultat la 29.09.2018 ,
18.04.2019
[13] – https://www.google.com/search?q=api+meaning Consultat la 10.10.2018 , 22.04.2019
[14] – https://medium.freecodecamp.org/what -is-an-api-in-english -please -b880a3214a82 ,
Consultat la 10.10.2018 , 22.04.2019
[15] – https://www.google.com/search?q=middleware Consultat la 13.10.2018
[16] – https://www.w3schools.com/html/html_intro.asp Consultat la 13.10.2018 , 25.04.2019
[17] – https://developer.mozilla.org/en -US/docs/Web/CSS Consultat la 15.10.2018 , 29.04.2019
[18] – https://en.wikipedia.org/wiki/Bootstrap_(front -end_framework) Consultat la 15.10.2018
[19] – https://developer.mozilla.org/en -US/docs/Web/JavaScript/About_JavaScript Consultat la
21.10.2018 , 29.04.2019 , 20.05.2019
[20] – https://en.wikipedia.org/wiki/JavaScript Consultat la 21.10.2018 , 15.05.2019, 20.05.2019

37 [21] https://developer.mozilla.org/en -US/docs/Web/JavaScript/Guide/Introduction Consultat la
21.10.2018 , 18.05.2019
[22] – https://en.wikipedia.org/wiki/JQuery Consultat la 02.11.2018 , 16.05.2019, 20.05.2019
[23] https://www.w3schools.com/jquery/jquery_intro.asp Consultat la 02.11.2018 , 18.05.2019
[24] – https://en.wikipedia.org/wiki/MySQL Consultat la 09.11.2018 , 06.03.2019 , 20.05.2019
[25] – https://en.wikipedia.org/wiki/PHP Consultat la 11.11.2018 , 18.04.2019
[26] – http://php.net/manual/en/intro -whatis.php Consultat la 11.11.2018 , 18.04.2019
[27] – https://github.com/PHPMailer/PHPMailer/tree/5.2 –
stable?fbclid=IwAR2LkI2YP793FkYU9t2fkbUugzcdIYMTQpAvuGALPJo5Z7OOXgM1 –
8N_64o Consultat la 11.11.2018 , 18.04.2019
[28] – https://en.wikipedia.org/wiki/XAMPP Consultat la 19.11.2018
[29] – https://stackoverflow.com/questions/53930474/advanced -webshop -filtering -w-
mysql?fbclid=I wAR1IlQMwj9WKE73NRsV3Pyq7UqaoXzV_JytVK4TwUgFR23f1SAj2un79pt
I Consultat la 03.01.2019 , 15.03.2019, 22.04.2019
[30] – https://pawelgrzybek.github.io/siema/?fbclid=IwAR1vOLauqSX3BubA2u9wuKxrB –
InFkrU3tNMn -UF5O_oUzJhFttMWJ27a8c Consultat la 11.01.2019 , 15.03.2019
[31] – https://www.php.net/manual/en/function.password –
hash.php?fbclid=IwAR2LAsH1Z5nf539MpOu_gpmFNzIKeNxDQTG0Ik –
2BWy_nnzlKjhvol4QqN4 Consultat la 20.01.2019 , 22.03.2019, 10.05.2019
[32] – https://www.php.net/manual/en/function.password –
verify.php?fbclid=IwAR025DzCqa5GPyyxnO -IPbcel7qBDHihlIWhe4 -mWbmIneTL653V6EJh –
Uw Consultat la 15.02.2019 , 22.03.2019, 11.05.2019
[33] – https://www.php.net/manual/en/function.random –
bytes.php?fbclid=IwAR0Kq Enx0k5SqOu99ZibTjCW18cg0xOZITajj4O4f0yMzRiMJQNSKEBg
SdE Consultat la 23.02.2019 , 09.04.2019

DECLARAȚIE DE AUTENTICITATE A
LUCRĂRII DE FINALIZARE A STUDIILOR

Titlul lucrării :
APLICAȚIE WEB – MAGAZIN ONLINE

Autorul lucrării
PINTER DAVID

Lucrarea de finalizare a studiilor este elaborată în vederea susținerii examenului de
finalizare a studiilor organizat de către Facultatea de Inginerie Electrică și
Tehnologia Informației din cadrul Universității din Oradea, sesiunea septembrie a
anului universitar 2018 -2019.
Prin prezent a, subsemnatul PINTER DAVID , CNP 19406230555051 , declar
pe proprie răspundere că această lucrare a fost scrisă de către mine, fără nici un ajutor
neautorizat și că nici o parte a lucrării nu conține aplicații sau studii de caz publicate
de alți autori.
Declar, de asemenea, că în lucrare nu există idei, tabele, grafice, hărți sau alte
surse folosite fără respectarea legii române și a convențiilor internaționale privind
drepturile de autor.

Oradea,
….02.2020 Semnătura

Similar Posts