PROGRAMUL DE STUDIU CALCULATOARE FORMA DE ÎNVĂȚĂMÂNT IF Proiect de diplomă COORDONATOR ȘTIINȚIFIC PROF. DR. ING. GYŐRÖDI CORNELIA AURORA ABSOLVENT… [609691]
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
PROF. DR. ING. GYŐRÖDI CORNELIA AURORA
ABSOLVENT: [anonimizat]
2020
UNIVERSITATEA DIN ORADEA
FACULTATEA DE INGINERIE ELECTRICĂ
ȘI TEHNOLOGIA INFORMAȚIEI
PROGRAMUL DE STUDIU CALCULATOARE
FORMA DE ÎNVĂȚĂMÂNT IF
DEZVOLTAREA UNEI
APLICAȚII WEB PENTRU
GESTIONAREA UNUI
RESTAURANT
COORDONATOR ȘTIINȚIFIC
PROF. DR. ING. GYŐRÖDI CORNELIA AURORA
ABSOLVENT: [anonimizat]
2020
2
CUPRINS
1. INTRODUCERE ………………………….. ………………………….. ………………………….. ………… 3
1.1 STRUCTURA LUCRĂRII ………………………….. ………………………….. ………………….. 4
2. TEHNOLOGII ȘI LIMBAJE DE PROGRAMARE UTILIZATE ………………………….. . 5
2.1. BAZE DE DATE ………………………….. ………………………….. ………………………….. ….. 5
2.2. XAMPP ………………………….. ………………………….. ………………………….. ……………….. 6
2.2.1. XAMPP VS WAMP, LAMP și MAMP ………………………….. ………………………. 8
2.3 SUBLIME TEXT 3 ………………………….. ………………………….. ………………………….. . 10
2.4. HTML ………………………….. ………………………….. ………………………….. ………………… 12
2.4.1. HTML5 ………………………….. ………………………….. ………………………….. ………… 12
2.5. LIMBAJUL DE STILIZARE CSS ………………………….. ………………………….. …….. 13
2.5.1 CSS3 ………………………….. ………………………….. ………………………….. …………….. 14
2.6. LIMBAJUL PHP ………………………….. ………………………….. ………………………….. …. 15
2.7. LARAVEL ………………………….. ………………………….. ………………………….. …………. 15
2.8. LIMBAJUL JAVASCRIPT ………………………….. ………………………….. ………………. 17
2.9. JQUERY ………………………….. ………………………….. ………………………….. …………….. 19
3. IMPLEMENTAREA APLICAȚIEI ………………………….. ………………………….. …………. 20
3.1 STRUCTURA BAZEI DE DATE ………………………….. ………………………….. ………. 20
4.2 STRUCTURA APLICAȚIEI ………………………….. ………………………….. ……………… 26
3.2 INTERFAȚA PENTRU CLIENT ………………………….. ………………………….. ……….. 28
3.3 INTERFAȚA PENTRU OSPĂTAR ………………………….. ………………………….. ……. 34
3.4 INTERFAȚA PENTRU ADMINISTRATOR ………………………….. …………………… 37
4. CONCLUZII ………………………….. ………………………….. ………………………….. …………….. 40
BIBLIOGRAFIE ………………………….. ………………………….. ………………………….. …………… 41
ANEXA 1 – STRUCTURA BAZEI DE DATE UTILIZATĂ ÎN APLICAȚIE ………….. 43
3
1. INTRODUCERE
Lucrarea de față are ca scop implementarea unui restaurant cu numele “Unique
flavours” , precum și prezentarea aspectelor teoretice ale procesului de dezvoltare al
acestuia. Aplicația dezvoltată are două componente principale și anume: baz a de date
pentru gestionarea preparatelor, conturilor clienților și bineînțeles a comenzilor plasate,
precum și o interfață simplă pentru utilizatori realizată într -un mod cât mai prietenos și
ușor de utilizat folosind limbajele de programare actuale: HTML , CSS, JavaScript, PHP,
jquery ș i framework -urile Bootstrap intuitiv și puternic și Laravel.
Aplicația restaurantului este destinat ă tuturor persoanelor d ornice de a gusta din
preparatele noastre, având la dispoziție o gamă diversificată . Alegerea dezvoltării acestui
site a fost făcută datorită pasiunii mele pentru gătit, din dorința de a descoperi noi rețete și
de a promova preparatele realizate de mine .
Scenariul de utilizare a site -ului web împreună cu cea a magazinului ar consta din
deținerea unui telefon mobil, tabletă sau laptop, adică orice dispozitiv care are acces la
internet și poate accesa browserele de căutare, precum Internet Explorer, Google Chrome,
Mozilla Firefox, Opera etc. Este necesară crearea unor conturi de utilizator având dreptul
de a comanda orice produs existent î n meniu , în cazul în care aceștia se răzgandesc au
posibilitatea de a șterge produsul adăugat în coș, iar la final au oportunitatea de a face
finalizarea comenzii înregistrate in baza de date. Astfel, pot afirma că baza de date MySQL
(implementată de restaurant pentru gestiunea produselor, conturilor utilizatorilor,
comenzilor ) comunică în mod direct cu interfața utilizator (implementată cu limbajele de
programare HTML, CSS, JavaScript, PHP, Jquery ș i fram ework -urile Bootstrap și
Laravel ). Pentru realizarea acestei aplicații am folosit editorul de cod Sublime Text și
pentru gestiunea bazei de date am utilizat “web -serverul” XAMPP. Baza de date poate fi
găzduită local.
Atât site -ul, cât ș i magazinul online s unt implementate astfel încât există
posibilitatea dezvoltării ulterioare a interfeței și a magazinului prin adă ugarea de noi
preparate fără ca funcționarea obișnuită să fie afectată.
4
1.1 STRUCTURA LUCRĂRII
Lucrarea este împărțită în tr-un număr de patru capitole. Primul capitol, cel de față,
are rol introductiv și de prezentare a motivației alegerii temei, precum și a soluțiilor
identificate în vederea implementării.
Capitolul doi este dedicat prezentării tehnologiilor fundamentale care stau la baz a
implementarii aplicației ‘’Unique Flavours”, împreună cu prezentarea tehnologiilor și a
caracteristicilor limbajelor de programare utilizate în dezvoltarea website -ului.
Capitolul trei este cel mai amplu al acestei lucr ări, deoarece în cadrul său este
descrisă implementarea, respectiv dezvoltarea aplicației , structura acesteia și ilustrarea
funcționalităților, precum și detalii despre fiecare modul al aplicației și structur a bazei de
date. Sunt descrise paginile restaurantului prin capturile de ecran rea lizate la finalizarea
implementării, funcționalitatea lor, precum și fluxurile de date între componente, pentru a
crea o imagine cât mai completă a utilizării soluțiilor tehnice implementate.
Ultima parte a lucrării este dedicată concluziilor le gate de im plementarea aplicației,
cunoștințele pe care le -am dobândit în urma realizării acesteia , și posibilele dezvoltări
viitoare ale aplicației.
5
2. TEHNOLOGII ȘI LIMBAJE DE PROGRAMARE UTILIZATE
2.1. BAZE DE DATE
Datorită dezvoltării rapide a industriei so ftware și a calculatoarelor electronice ce a dus
la necesitatea stocării unui volum tot mai mare de date s -a impus perfecționarea modulului de
organizare și structurare a datelor care permit accesul rapid la datele stocate, pentru regăsirea
și prelucrarea acestora. Pentru a efectua mai multe operații diferite de prelucrare, accesul rapid
la date trebuie să rezolve probleme legate de viteza de regăsire a datelor și să asigure accesul
mai multor utilizatori [2].
Există două tipuri de date, și anume: date simp le care sunt independente unele de altele
din punct de vedere al reprezentării lor în memorie și datele compuse care reprezintă colecții
de date între care există anumite relații structurale [3].
Organizarea datelor presupune:
• Definirea, structurarea, ordonarea și gruparea datelor în colecții de date omogene
• Stabilirea relațiilor între date
• Stocarea datelor pe un suport informațional
Obiectivele principale în organizarea datelor sunt:
• Accesul rapid la date
• Spațiul de memori e internă și externă ocupat de date să fie cât mai mic
• Datele să apară o singură dată în sistem
• Flexibilitatea datelor
O bază de date reprezintă un set centralizat și structurat a datelor stocate pe un sistem
informatic. Aceasta oferă facilități pentru regăsirea, adăugarea, modificarea și ștergerea datelor
atunci când este nevoie și oferă facilități pentru transformarea datelor extrase în informații
utile.
Din punct de vedere al serviciilor pe care le oferă, baza de date reprezintă o colecție de date
care poate să descrie întreaga activitate a unei organizații și care furnizează acces la diferite
informații, care sunt pr ezentate în diferite formate .
Avantajele folosirii bazelor de date în locul fișierelor de date sunt:
• Partajarea informațiilor
• Consistența, integritatea, securitatea, și independența datelor
6
• Transparența
MySQL este un sistem de gestiune a bazelor de date relațion ale, ce nu conține interfață
grafică pentru administrarea sau gestionarea datelor din bazele de date și este produs de
compania suedeză MySQL AB și distribuit sub Licența Publică Generală GNU. Este cel mai
popular SGBD open -source la ora actuală fiind o componentă cheie a stivei LAMP(Linux,
Apache, MySQL, PHP).Administrarea MySQL se face în două moduri: din linia de comman dă
sau folosind browserul și accesând aplica ția phpMyAdmin scrisă în PHP .
Un sistem de gestionare a bazelor de date relaționale (RDBMS) este un instrument esențial
în multe medii, de la utilizări în mediul de afaceri, cercetare și contexte educaționale, la
livrar ea conținutului pe internet .
SQL (Structured Query Language) este un limbaj de programare specific pentru
manipualrea datelor în sistemele de manipulare a bazelor de date relaționale (RDBMS).
Acesta are ca scop inserarea datelor, interogații, actualizare și ștergere, modificarea și
crearea schemelor, precum și control asupra accesului la date.
MySQL este un sistem de gestiune a bazelor de date relaționale, fiind cel mai popular
SGBD open -source la ora actuală.
MySQL are m ulte calități printre care:
– Viteza: MySQL este rapid și devine mai rapid ;
– Ușurință în utilizare : MySQL este un sistem de baze de date de înaltă performanță, relativ
simplu, mai puțin complex de instalat și administrat decât sistemele mai mari;
– Înțelege SQL (Language Structured Query);
– Capabilitatea : Serverul MySQL este multi -threaded, astfel î ncât mulți clienți se pot
conecta la el în același timp. Fiecare client poate utiliza simultan mai multe baze de date.
Am utilizat limbajul SQL pentru a adăuga, a șterge, a interoga și actualiza date din baza de
date. Comenzile SQL se află în fișiere PHP.
2.2. XAMPP
XAMPP este un sever de dezvoltare local ă, utilizat frecvent pentru crearea site –
urilor web, care rulează pe același dispozitiv pe care utilizatorul acestuia îl folosește pentru
a crea și accesa aplicația.
7
Unul dintre avantajele utilizării acestui server este reprezentat de faptul că nu este
necesară o conexiune la internet pentru a rula site -ul.
XAMPP este un acronim pentru:
• X (de la "cross", care înseamnă cross -platform), adică poate fi utilizat/rulat pe
diferite sisteme de op erare, cum ar fi Windows, Linux, Unix etc.
• Apache HTTP Server (open source) – este cel mai utilizat server din întreaga lume
pentru livrarea de conținut web. Aplicația server este pusă la dispoziție ca software
liber de Apache Software Foundation.
• MySQL – în MySQL, XAMPP conține unul dintre cele mai populare sisteme de
gestionare a bazelor de date relaționale din lume. În combinație cu serverul web
Apac he și limbajul de scripting PHP și MySQL oferă stocarea datelor pentru
serviciile web, iar cea mai recent ă versiune pentru MySQL se numește MariaDB.
• PHP – limbaj de programare din partea serverului care permite utilizatorilor să
creeze site -uri sau aplicații dinamice, de asemenea poate fi instalat pe toate
platformele și suportă o serie de sisteme de baze de date diverse.
• Perl – limbaj de scripting care este folosit în administrarea sistemului, dezvoltare a
web și programare a în rețea. Ca și PHP, Perl le permite utilizatorilor să programeze
și aplicații web dinamice.
Alături de aceste componente de bază, acea stă distribuție gratuită Apache conține și alte
instrumente utile, care diferă în fu ncție de sistemul de operare utilizat . Aceste instrumente
includ serverul de poștă electronică Mercury, instrumentul de administrare a bazelor de
date phpMyAdmin, soluțiile software Web Analytics, OpenSSL și Apache Tomcat și
serverele FTP FileZilla sau ProFTPd.
8
Figura 2.1. Panelul de control XAMP pentru pornirea și oprirea serviciilor Apache, MySQL
Am ales să folosesc acest server în urma unor cercetări, deoarece m -am documentat
pentru a alege varianta cea mai eficentă și optimă, fiind de asemenea o soluție gratuită care
îmi oferă acces atât la bazele de date cât și la partea de front -end și back -end a website -ului
pe care l -am creat .
În continuare voi pre zenta câteva concluziile pe care le -am stabilit în urma acestei
cercetări, și informații care m -au motivat să fac această alegere, să aleg serverul XAMPP
dintre toate variantele pe care le aveam la dispoziție, și anume: serverele WAMP, LAMP
și MAMP .
2.2.1 . XAMPP VS WAMP, LAMP și MAMP
Fiecare dintre aceste servere menționare mai sus sunt servere locale, care au același
scop: de a fi utilizate în timpul dezvoltării site -urilor web PHP și pentru testarea locală a
acestora.
9
Testarea locală având rolul de a se mnala erorile și mai ales cele prezente înainte de
încărcare.
Diferența majoră dintre aceste servere : XAMPP, WAMP, LAMP și MAMP este
constituită de tipul sistemului de operare, mai exact XAMPP este utilizat pentru X -OS,
Apache, Mysql, PHP, Perl , WAMP pentru Windows , LAMP este pentru Linux , iar MAMP
este pentru Mac OS X .
Pentru a evidenția diferența dintre aceste servere, în următoarele rânduri voi face o
scurtă descrie a fiecăruia.
După cum am mai menționa t, XAMPP e ste unul dintre cele mai simple și ușoare
servere locale care este utiliz at pentru a testa site -ul local pe parcursul dezvoltării și este o
platformă open source.
Include X -OS, deoarece funcționează în toate sistemele de operare majore p recum
Windows, Linux, Mac etc și funcții precum Filez illa, mercury mail , suport pentru Perl și
multe altele. Unul dintre princ ipalele avantaje este că se pot efectua cât mai multe testări și
actualiza conținutul d in testarea locală a site -ului. Întrucât este un open source, se poate
descărca și ins tala cu uș urință în sistem . Se pot realiza o serie de testări instalându -l o
singură dată.
A doua variantă de server pe care am analizat -o și despre care m -am documentat
este WAMP, care reprezintă un acronim pentru Windows, Apache, Mysql și PHP.
Acest server funcți onează numai pe sistemul de operare Windows , de asemenea este o
platformă open source precum XAMPP și folosește serverul web Apache. Folosește și
sistemul de gestionare a bazelor de date relaționale MySQL și limbaju l de script orientat
pe obiecte : PHP.
Un avantaj pentru WAMP este reprezentat de faptul că deține Apache care este utilizat
pentru a rula un server web pe Windows. Prin rularea acestui server local pe Windows,
dezvoltatorul web își poate testa pagini le web fără să le publice. Cu acest server loc al, se
pot testa site -uri web dinamice fără a le publica pe serverul web live. Este ușor de utilizat
și de codat cu PHP și este disponibil atât pentru sistem pe 32 biți, cât și pe 64 biți.
Următoarea versiune de server este LAMP, a cărui semnificație are la bază
următoarele denumiri : Linux, Apache, Mysql și PHP.
10
Și aceasta este o platformă open source, dar funcționează pe sistemul de operare Linux.
Utilizează serverul web Apache, sistemul de gestionare a bazelor de date relaționale
MySQL și limbajul de script orientat pe obiecte PHP.
Deoarece această platformă are patru straturi, poate fi asemănată cu structura unei stive, de
aceea se mai numește și stiva LAMP . Această versiune este foarte securizat ă, funcționâ nd
cu sistemul de operare Linux și este ușor de coda t cu PHP.
Un server LAMP poate genera pagini web dinamice care rulează cod PHP și încarcă date
dintr -o bază de date MySQL, nu doar pagini HTML statice .
Ultima versiune este MAMP, acronim pentru Mac, Apache, Mysql și PHP.
MAMP este o platformă open source și funcționează pe sistemul de operare Mac. Precum
serverului prezentat anterior, MAMP folosește Apache, sistemul de gestionare a bazelor de
date relaționale Mysql și limbajul orientat pe obiecte PHP.
Spre deosebire de celelalte, acesta oferă toate instrumentele pentru a rula WordPress , în
scopul dezvoltării și testării.
Toate serverele locale menționate mai sus sunt cu ad evărat ușor de utilizat și nu
necesită nicio configurație avans ată, și fiecare versiune conține un pachet de setări
implicite.
Eu am ales XAMPP deoarece consider că este cel mai ușor de utilizat pentru mine,
în concordanță cu sistemul de operare instalat pe gadgetul meu, funcționalitățile pe care
am dorit să le implementez aplicației, și datorită opțiu nii de testare multiplă.
2.3 SUBLIME TEXT 3
Sublime Text 3 este un editor de coduri sursă . Suport ă nativ multe limbaje de
programare și limbaje de marcare, iar funcțiile pot fi adăugate de utilizatori cu plugin -uri,
construite în mod obișnuit în comunitate și întreținute sub licențe de software liber.
Sublime Text este disponibil pentru descărcarea pe mai multe platforme, pe MAC,
Windows și este disponibil cu majoritatea distribuțiilor Linux. Scopul p rincipal al programului
Sublime Text este funcționalitatea de editare live HTML, CSS și JS , și de asemenea oferă
suport pentru PHP .
Acesta oferă mai multe caracteristici și anume :
• „Goto Anything” -navigare rapidă către fișiere, simboluri sau linii
11
• Paleta de comenzi folosește potrivirea adaptivă pentru invocarea rapidă de pe
tastatură a comenzilor arbitrare
• Editare simultană: se pot realiza simultan aceleași modificări interactive în mai
multe zone selectate
• API-ul bazat pe Python
• Personalizare extinsă prin fișiere cu setări JSON, inclusiv setări specifice
proiectului și platformei
• Cross -platform (Windows, macOS și Linux) și plugin -uri de suport pentr u multiplă
platformă
• Compatibil cu multe gramatici de limbă de la TextMate
Figura 2.2. Editorul de cod Sublime Text
12
2.4. HTML
HTML (HyperText Markup Language) a fost impus pentru crearea paginilor web.
Acesta este un limbaj de marc are și are ca scop să prezinte î ntr-un anumit format
informațiile pre cum: tabele, paragrafe, culori și fonturi.
HTML nu este un limbaj de programare și asta datorită faptului că în HTML
lipsește atributul propriu principal oricărul limbaj de programare, și anume comenz ile.
În HTML nu poate fi creată o succesiune de acțiuni, ci doar poate f i descris modul
în care browser ul trebuie să afișeze pe ecran documentul respectiv. H TML utilizează pentru
descrierea documentelor web tag -uri, numite și etichete , care sunt specifice pentru fiecare
element descris. Tag -urile stabilesc atât structura documentului, cât și aspectul acestuia.
Un tag este un identificator care furnizează browser -ului instrucțiuni de formatare
a documentului. Pentru a fi delimitate, aceste tag -uri sunt înc adrate între paranteze
unghiulare (< >).
HTML este independent de platformă, adică se pot crea fișiere HTML pe o anumită
platformă și se poate folosi orice alt calculator pentru a vizualiza acel fișier ca și o pagină
Web.
2.4.1. HTML5
HTML5 are multe caracteristici noi sintactice, caracteristici care cuprind elemente
ca <header>, <audio>, <video>,și elemente HTML, precum integrarea conținutului
SVG(Scalable Vector Graphics) care a înlocuit utilizarea tag -ului <object>. Aceste noutăți
au ca scop d e a facilita includerea și manipularea conținuturilor multimedia în web dar și
grafice fără a mai fi nevoie să se apeleze la proprietățile de plugin și API. Elemente noi
precum <article>, <header>, <section> au scopul de a îmbunătății conținutul semantic a l
documentelor [7].
Aplicațiile HTML5 pot fi pornite pentru a rula în modul offline. HTML5 oferă o
funcție de stocare offline, numită un cache al cererii pentru stocarea de fișiere. Dacă
utilizatorul este deci offline, browser -ul mai are în că acces la fiși erele necesare. [9].
HTML5 include o funcție Drag and Drop, care permite dezvoltarea de aplicații
interactive. Cu Drag & Drop avem posibilitatea să mutăm orice element în locul
dorit.HTML5 introduce multe elemente noi de intrare, cum ar fi selectoare de cu lori, pop –
up calendare și altele.
13
Am ales să folosesc acest limbaj pentru a structura într -un mod cât mai logic și
eficient și a da sens conținutului web, de exemplu, definind paragrafe, titluri și tabele de
date sau încorporând imagini.
2.5. LIMBAJUL DE STILIZARE CSS
CSS este un acronim pentru Cascading Style Sheets și este un limbaj de stilizare al
elem entelor și al tagu -urilor HTML . Cu ajut orul acesuia descriem modul de reprezentare
al paginii HTML, într -un fișier separat.
Dintre avantajele acestui limbaj de stilizare se pot enumera următoarele :
• Conținutul este separat de prezentare
• Are control asupra layout -ului documentelor dintr -o singură pagină de stiluri
• Permite ca modul de afișare si layout -ul paginilor de pe un server web să fie de finite
intr-un singur loc
• Se poate utiliza pentru pagini HTML, cât și pentru documente XML .
Sintaxa fișierelor CSS constă dintr -o listă de:
• Selectori – folosiți pentru alegerea tag -urilor
• Descriptori – pentru a indica ce vrem să facem cu acestea
CSS extinde funcționalitățile HTML, permițând redefinirea etichetelor HTML
existente.
Un fișier CSS conține o listă cu astfel de perechi (selectori, descriptori). Selectorii pot
fi simple tag -uri HTML sau XML , iar descriptorii sunt definiți în standard -ul CSS .
Există trei moduri de utilizare a CSS -urilor:
– Style sheet extern:
Se aplică la HTML și XML și se pot utiliza toate elementele de sintaxă CSS
– Style sheet intern:
Se aplică numai la HT ML și se pot utiliza toate elementele de sintaxă CSS
– Style sheet inline:
Se aplică numai la HTML și nu se pot utiliza toate elementele de sintaxă CSS
14
2.5.1 CSS3
CSS3 oferă o mulțime de lucruri noi pentru a îmbunătății un website. Cea mai mare
schimbar e o reprezintă includerea modulelor. Avantajul modulelor este acela că permite
specificațiilor să fie completate și aprobate mai repede, deoarece segmentele sunt
completate și aprobate în bucăți [9].
Caracteristici noi CSS3:
– Selectorii:
• Permit proiect antului/dezvoltatorului să selecteze niveluri mult mai specifice ale
documentului
• Pseudo -clase structurale precum nth -child
• Pseudo -clasă țintă pentru a modela numai elementele care sunt vizate în URL
– Efecte de text și layout
Text shadow – se poate adăuga umbră la conținut sau la anumit font
– Pseudo -clase precum first -letter și first -line
– Mediu paginat și conținut generat
CSS3 suportă mai mul te opțiuni î n mediile paginate precum: rularea antetelor și
subsolurilor, numerotarea paginilor, anumite proprietăți pentru imprimarea conținutului
generat, inclusiv proprietăți pentru notele de subso l și referințele încrucișate .
– Multi -column layout
Oferă proprietăți care permit proiectanților să -și afișeze con ținutul în mai multe coloane,
cu definiții cum ar fi decalajul dintre coloane, numărul de coloane și lățimea coloanei.
– Ruby
Are capacitatea de a adăuga adnotări mici in partea de sus sau lângă cuvinte, cele
mai des utilizate in limba chineză sau japone ză. Ele sunt utilizate în general pentru a da
pronunția sau sensul ideogramelor dificile [9].
În cazul aplicației pe care am re alizat -o, am folosit fișiere cu extensia .css pentru a
stiliza într-un mod cât mai curat și atrăgător pentru utilizator , cu ajut orul căruia am reușit
definirea paginilor web.
15
2.6. LIMBAJUL PHP
PHP este un limbaj de programare folosit pentru dezvoltarea paginilor și aplicațiilor
web și reprezintă acronimul pentru Personal Home Page.
Acesta este cel mai cunoscut limbaj de scriptin g folosit pentru crearea site -urilor
Web interactive. Denumirea este un acronim recursiv pentru Hypertext PreProcessor.
Diferența față de alte limbaje de scripting precum JavaScript, este faptul că PHP este un
interpretor server -side adică operațiile sunt executate de către server și nu pe calculatorul
utilizatorului [12].
Scripturile PHP sunt utilizate în trei domenii p rincipale, și anume:
– Scripting pe partea serverului, acesta fiind cel mai tradițional și de bază domeniu al PHP
– Scripting în linia de comandă, adică se poate crea un script PHP care poate rula fără server
și fără navigator web
– Scrierea aplicațiilor de birou
Una dintre cele mai semnificative facilități ale PHP este susținerea unui larg
domeniu de baze de date. Accesarea unei baze de date se face utilizând una din extensiile
de lucru cu baze de date sau utilizând un nivel de abstractizare precum POO, sau conectarea
la orice bază de date ce susține standardul “Open Database Connection” cu ajutorul
extensiei ODBC [12].
În implementarea aplicației am folosit PHP în cadrul căruia sunt comenzile
MySQL. Aplicația accesează fișierele PHP pentru a primi date și informații care sunt
returnate cu ajutorul MySQL.
2.7. LARAVEL
Laravel este un ul dintre cele mai populare framework -uri PHP conceput pentru
aplicațiile web în dezvoltare cu scopul de a le face mai ușoare și mai rapide prin funcții
integrate.
De asemenea este alegerea dezvoltatorilor profesi oniști datorită performanțelor,
caracteristicilor și scalabilității sale.
Acest fram ework urmează structura MVC (Model View Controller) care fac e ușor de
învățat și implementat rapid aplicațiil e web. Laravel oferă funcții integrate precum
16
autentificare, email, r utare și sesiuni, și este ușor de personalizat astfel încât există
posibilitat ea de a crea propria structură de proiect care să răspundă cererii aplicației web.
Caracteristicile acestui framework sunt următoarele :
1. Managementul dependenței
Gestionarea dependenței este una dintre cele mai bune caracteristici ale Laravel,
înțelegerea funcționalității containerului de servicii (IoC) este partea principală pentru
a învăța aplicații web moderne. În Laravel, IoC (Inversion of Control) sau Service
Container este cel mai puternic instrument de gestionare a dependențelor clasei.
2. Modularitatea
Modularitatea este gradul în care componentele unei aplicații web pot fi separate și
recombinate, iar Laravel este conceput pentru a crea aplica ții modulare.
3. Autentificarea
Aute ntificarea este o parte integra tă a oricărei aplicații web moderne, iar acest
framework oferă posibilitatea de a crea un sistem de autentificare prin rularea unei
comenzi simple. De asemenea, Laravel oferă documentație pentru a implementa
propria autentificare.
4. Memoria cache
Caching -ul este o tehnică de stocare a datelor într -o locație de stocare temporară și
poate fi preluată rapid la nevoie. În principal, cache -ul este folosit pentru a crește
performanța aplicației. Această tehnică ajută la scăderea timpului de procesare,
crescând astfel p erformanța.
5. Rutarea
Rutele Laravel se pot utiliza pentru a crea motoare de căutare URL -uri, cu o flexibilitate
și control deosebit.
6. Creatorul de interogări de baze de date
Acesta oferă o modalitate convenabilă de a crea interogări în baza de date. Conține
funcții de ajutor care pot fi utilizate pentru a filtra datele.
7. Sistem de fișiere
Laravel oferă asistență pentru mai multe sisteme de fișiere. Se poate utiliza un sistem
de fișiere local sau orice sistem bazat pe cloud, cum ar fi Amazon S3.
8. Securitatea
17
Laravel oferă un mod intuitiv de a cre a aplicații web sigure și stochează toate parolele
ca hash în loc de parole simple. Laravel folosește BCrytp pentru aceste parole și oferă
securitate împotriva atacurilor de i njecție SQL .
9. Artisan
Instrumentul pentru linia de comandă se numește Artisan. Laravel are zeci de comenzi
pre-construite care se pot rula pe o interfață de linie de comandă .
Cu ajutorul acestui instrument se pot ev ita sarcinile repetitive în timpul procesului de
dezvoltare. [16]
10. Sistemul de migrare
Laravel oferă un sistem de migrare pentru a crea structuri de baze de date. Pentru a
scrie migrația care va crea structura bazei de date se poate utiliza limbajul PHP, în loc
de SQL. Migrarea se mai poate folosi și în cazul în care se dorește schimbarea unei
coloane a tabelului, cu scopul de a simplifica și ușura această operație .
2.8. LIMBAJUL JAVASCRIPT
JavaScript abreviat adesea ca JS este un limbaj de programare orientat pe obiecte
bazându -se pe conceptul prototipurilor. Alături de HTML și CSS, JavaScript este unul
dintre cele trei tehnologii de bază ale World Wide Web.
JavaScript permite inserarea de script -uri în paginile web, care se execută în cadr ul paginii
web, mai precis în cadrul browser -ului utilizatorului, ușurând astfel și traficul dintre server
și client. De exemplu pentru a colecta date de la utilizator într -o pagină web, se pot adăuga
scripturi JavaScript pentru validarea corectitudinii a introducerii și apoi pentru a trimite
serverului doar date corecte spre a fi procesate. JavaScript conține o listă de funcții și
comenzi cu scopul de a ajuta ajuta la operațiile matematice, la manipulări de șiruri, și
sunete, imagini, obiecte și ferestre a le browser -ului, link -uri URL și verificări ale
introducerii datelor în formulare [9].
Pentru inserarea unui cod JavaScript într -un document HTML, se folosește tagul
<script>, respective tagul </script>. Aceste taguri marchează locul în care începe, resp ectiv
se sfârșește scriptul .
Pentru a insera scripturi în documente HTML se pot folosi 4 metode și anume:
• Metoda 1 – plasarea de script în antet -ul paginii (între <head>și </head>)
18
• Metoda 2 – plasarea de script în corpul paginii (între <body>și </body>)
• Metoda 3 – utilizarea fișierelor sursă
• Metoda 4 – crearea unui gestionar de evenimente
Există câteva aspecte fundamentale ale limbajului JavaScript și anume:
• JavaScript poate fi i ntrodus în HTML – codul JavaScript este găzduit de obicei în
documentele HTML și executat în interiorul lor.Obiectele din JavaScript au
etichete HTML, pe care le reprezintă în așa fel încât programul să fie inclus pe
partea de client a limbajului. JavaScri pt folosește HTML pentru a putea lucra în
cadrul aplicațiilor web.
• Este dependent de mediu – este un limbaj de scriptare întrucât software -ul care
rulează programul de lucru este de fapt browser -ul web(Opera, Firefox, etc.).
• Este un limbaj interpretat – codul scriptului este interpretat de browser înainte de a
se executa. JavaScript nu are nevoie de compilări sau preprocesări, el rămâne
integrat în documentul HTML. Dezavantajul acestui limbaj este faptul că rularea
durează mult deoarece navigatorul web ci tește și procesează comenzile JavaScript
atunci când user -ul apelează acele funcții. Avantajul este faptul că se poate actualiza
ușor codul sursă.
• Este un limbaj flexibil – putem să declarăm o variabilă de un anume tip, sau putem
să lucrăm cu o variabilă cu toate că nu -i cunoaștem tipul specificat înainte de a o
rula.
• JavaScript este un limbaj bazat pe obiecte – adică modelul de obiect JavaScript nu
este bazat pe moștenire ci pe instanță
• Este condus de evenimente – o mare parte a codului JavaScript este făcut pentru a
răspunde la evenimentele generate de un utilizator sau de un sistem. Obiectele
HTML, de tip butoanele, au fost îmbunătățite pentru a accepta handlere sau
evenimente
• Acoperă diverse contexte – programarea în acest limbaj este îndreptată cătr e partea
de client, însă se poate folosi JavaScript și pe partea de Server. JavaScript este
limbaj nativ pentru anumite instrumente de dezvoltare web, precum Macromedia
Dreamweaver sau Borland IntraBuilder [10].
19
Fiind un limbaj de scripting, JavaScript mi -a permis să creez un conținut di namic
actualizat.
2.9. JQUERY
jQuery este o platformă de dezvoltare JavaScript, concepută pentru a simplifica
traversarea documentelor HTML, gestionarea evenimentelor, animarea și interacțiunile
AJAX pentru dezvoltarea web rapidă. jQuery este un set de instrumente JavaScript
concepute pentru a simplifica diverse sarcini prin scrierea unui cod mai puțin [14].
jQuery are mai multe caracteristici precum:
– selecția de elemente în arborele DOM folosind motor propriu de selecț ii open source
precum Sizzle, un proiect născut din jQuery;
– parcurgerea și modificarea arborelui DOM (inclusiv suport pentru selectori CSS3 și
Xpath simpli);
– efecte și animații;
– înregistrarea și modificarea evenimentelor din browser;
– manipularea de elemente CSS;
– cereri de tip AJAX;
– utilități – funcția each;
– extensii.
Plugin -urile sau extensiile sunt unele dintre cele mai interesante aspecte ale jQuery.
Arhitectura sa permite programatorilor să dezvolte sub -aplicații bazate în biblioteca
principală care extind funcțiile de bază jQuery cu funcții specifice plugin -ului. jQuery UI
oferă un set de extensii pentru interactivitate de bază, efecte mai complexe decât cele din
biblioteca de bază și teme de culori. Avantajul UI față de alte extensii este că dezvoltarea
și testarea acestor componente se face în paralel cu dezvoltarea bibliotecii principale,
minimând riscul de incompatibilitate [15].
Există două moduri de a utiliza jQuery:
– Instalare locală – se poate descărca biblioteca jQuery pe mașina locală
– Versiune bazată pe CDN – se poate include d irect biblioteca jQuery în codul HTML din
Rețeaua de livrare a conținutului (CDN – Content Delivery Network) [14].
20
3. IMPLEMENTAREA APLICAȚIEI
Acest capitol are scopul de a prezenta modul de implementare a soluției destinată
gestionării comenzilor res taurantului ’’Unique Flavours’’, precum și funcționalitățile de
care acesta dispune.
De asemenea, acest capitol este destinat pentru a putea detalia structura fiecărui modul al
aplicației pentru a fi evidențiat mecanismul de funcționare care stă la baza ac esteia, și voi
explica structura bazei de date. Mai multe detalii despre această bază de date sunt
prezentate în Anexa 1 a acestei lucrări, unde este atașată în întregime schema bazei de date.
3.1 STRUCTURA BAZEI DE DATE
Pentru aplicația web am creat o bază de date cu ajutorul sistemului de gestiune a
datelor phpMyAdmin.
În Anexa 1 a acestei lucrări , după cum am menționat și mai sus este atașată structura
bazei de date a aplicației pe care am creat -o, fiind evidențiate și relațiile dintre tabele.
Numele bazei de date este “restaurant” și conține 14 tabele, fiecare având diferite roluri,
după cum se poate observa în cele ce urmează.
Tabelele care alcătuiesc structura acestei baze de date, după cum este prezentat și în Figura
3.1 sunt următoarele:
Figura 3.1.1 Structura bazei de date -restaurant
21
În figura 3.1.2 este prezentată tabela carts, în care se stochează datele referitoare la
coșul de cumpărături care se creează în momentul în care se selectează comanda aferentă
pentru orice produse care urmează să fie achiziționate. Această tabelă conține câmpurile :
id, care reprezintă id -ul comenzii, poate fi privit precum un număr de ordine, user_id, adic ă
id-ul clientului care a efectuat comanda, și delivered pentru a marca dacă ace a comandă a
fost sau nu livrată .
Figura 3. 1.2 Captură de ecran cu structura tabelei carts
Figura 3.1.3 afișează structura tabelei carts_details. Această tabelă marchează
legătura dintre produse și cărucioarele de cumpărături prin câmpurile cart_id, food_id și
quantity.
Figura 3.1.3 Captură de ecran cu structura tabelei carts_details
Practic , putem spune că această tabelă reprezintă doar căruc iorul, fără conținutul
acestuia.
În figura 3.1.4 se poate observa tabela f ailded_jobs , care este o tabelă specifi că
pentru framework -ul Laravel și care conține statusul cozilor ( queues ) în cazul în care au
fost utilizate, dar în acest moment această tabelă este goală, de oarece acestea nu s -au
utilizat.
22
Figura 3.1.4 Captură de ecran cu structura tabelei failded_jobs
Figura 3.1.5 prezintă structua tabelei f oods , care este efectiv tabela care conține
toate tipurile de preparate care se regăsesc în meniu restaurantului.
Figura 3.1.5 Captură de ecran cu structura tabelei foods
Tabela f oods_categories este prezentată în figura 3.1.6, tabelă care realizează
legăturile dintre preparate și categoriile din care fac parte. Am creat această tabelă nouă
deoarece un produs poate face parte din mai multe categorii și pentru a elimina orice
confuzi i sau erori în aceas tă privință.
23
Figura 3.1.6 Captură de ecran cu structura tabelei foods_categories
În figura 3.1.7 este tabela food_categories , care conține categoriile de preparate din
meniu, de exemplu o categorie pe care a m creat -o este cea de aperitive.
Figura 3.1.7 Captură de ecran cu structura tabelei food_categories
24
Tabela migrations , a cărei structură este pre zentată în figura 3.1.8, conține
informații despre migrări, care sunt realizate cu ajutorul comenzii php artisan migrate în
Command Prompt. Această tab elă este foarte utilă, deoarece elimină posibilitatea de a se
efectua migrar i multiple pentru aceleași date.
Figura 3.1.8 Captură de ecran cu structura tabelei migrations
În figura 3.1.9 avem tabela orders . Aceasta conține detalii despre comenzile plasate
pe site (checkout).
Figura 3.1.9 Captură de ecran cu structura tabelei orders
Tabela order_details prezentată în figura de mai jos, realizează legăturile dintre
preparate și comenzile efectuate, de asemenea deține detalii despre aceste preparate, cum
ar fi cantitatea comandată și id-ul preparatelor.
25
Figura 3.1.10 Captură de ecran cu structura tabelei orders_details
Tabela password_resets este specifică Laravel cu rol în securizarea parolelor pentru
conturi, pentru a nu exista posibilitatea ca un utilizator să modifice parola altuia. Practic,
se creează token -uri care au o legătură cu email -ul. În momentul de față tabela nu conține
detalii, deoarece nu au existat cazuri de conflicte la parolele utilizatorilor.
În figura de mai jos se poate observa structura tabelei seller s_orders în care sunt stocate
comenzile pe care le efectuează ospătarii în restaurant. Aceste comenzi sunt comenzi
închise, în ideea că nu sunt livrate la domiciliu, ci la u n număr de masă din r estaurant.
Figura 3.1.11 Captură de ecran cu structura tabelei sellers_orders
Figura 3.1.12 evidențiază tabela seller_orders _details . Aceasta c onține legăturile dintre
comenzile plasate de către os pătari și preparatele comandate.
26
Figura 3.1.12 Captură de ecran cu structura tabelei sellers_orders_details
Tabela users conține toți utilizatorii creați pentru a avea diferite tipuri de acces la
aplicație, și anume : useri pentru clien ți (tipul default) , pentru ospătari (seller) și pentru
administratori (admin) . De asemenea, administratorul la rândul său poate crea useri pentru
a avea acces la aplicație .
Tabela u sers_biling_details am creat -o în scopul de a stoca detalii despre adresele clienților
care au plasat comenzi pe aplicație, iar acestea sunt uti lizate pentru livrarea comenzilor la
domiciliu .
4.2 S TRUCTURA APLICAȚIEI
Aplicația p e care am realizat -o se numește Unique Flavours și este structurată în 3
părți/interfețe, și anume :
1. Interfa ța pentru client/utilizator al aplicației , care cuprinde pagina de Home , o pagină cu
o scurtă descriere a locației, pagina de comandă, adică cea de prezentare a preparatelor
disponibile pentru a fi comandate, o pagină de contact la restaurantului care pe langă
adresă, număr de telefon și vizualizarea lo cației pe hartă, mai conține și un formular de
contact, și în cele din urmă paginile cu detalii despre comenzi și setări pentru contul creat.
2. Interfața pentru ospătar
27
Ospătarul poate vizualiza aceleași pagini ca și clientul, doar că are în plus zona de
administrare a comenzilor plasate pentru clien ții din restaurant și o pagină a istoricului
comenzilor pentru a avea evidența casei de marc at, în vederea predării sumei acumulate
următorului ospătar sau administratorului la sfârșit de zi.
3. Interfața pentr u administrator
Administratorul deține control asupra întregii aplicații. Acesta se ocupă de gestionarea
comenzilor online, care trebuie să fie livrate la domiciliu, poate adăuga sau elimina
preparate din meniu, în funcție de actualizarea acestuia și de di sponibilitate, de asemenea
are acces pentru a adăuga noi categorii de mâncare și administrează conturile create pentru
aplicație.
Aceste trei module sunt separate, independente unul față de celăl alt din pu nct de
vedere al implementării , dar din punct de vedere funcțional acestea com unică între ele,
deoarece administratorul are control deplin asupra aplicației, poate controla conținutul pe
care îl vizualizează un ospătar sau un client în site și la ce date pot avea aceștia acces .
Figura 3. 2.1 Harta generală a site-ului
În figura 3.1. este reprezentată harta site -ului, care conține structura ierarhică a
paginilor acestuia . Această structură este una generală, care poate fi accesată de către toate
tipurile de utilizatori (client, ospătar și admi n), urmând ca în continuare să detaliez structura
aplicației în funcție de tipul de utilizator, deoarece aceasta este diferită la fiecare dintre
aceștia, având în plus unele funcționalități.
28
Site-ul web pe care l -am realizat are un meniu simpl u și o inter față ușor de utilizat .
Scopul implementării acestui site este promovarea restaurantului “Unique Flavours” și
prezentarea ofertelor către clienți, aceștia avâ nd posibilitatea de a efectua comenzi online
și de a fi livrate la domiciliu . Site -ul poate fi acce sat de orice persoană care dorește să
descopere gustul preparatelor prezentate în meniu și de a experimenta noi combinații de
arome , toate acestea sunt afișate în pagina de comandă . Această pagina oferă clienților o
gamă variată de preparate, atât desertur i traditionale, dar și variante reinterpretate, cât și
garnituri , supe și altele preparate pe gustul fiecărui client .
Pentru partea de front -end am creat interfaț a pentru utilizatori, dar și una pentru
administrator și pentru ospătar, iar pe parte de back -end pentru managementul conținutului
am creat o bază de date de unde administratorul actualizează conț inutul, iar ospătarul
adaugă comenzi, și face o evidență a acestora filtrată pe mai multe categorii.
3.2 INTERFAȚA PENTRU CLIENT
Această interfață cuprin de mai multe pagini, după cum se poate observa în figura
de mai jos, în meniul site -ului: pagina de Home, pagina “Despre noi” care conț ine o scurtă
descriere a locației , magazinul online sau pagina de comandă, o pagină de contact, pagini
cu detalii despre cont, setările datelor și coșul de cumpărături.
Figura 3.2.1 Pagina principal ă
Site-ul are o interfață ușor de folosit, este de tip “one page ”, iar navigarea printre pagini
29
este de tip “scrolling” pentru a oferi utilizatorului posibilitatea de a sări rapid la diferite
secțiuni ale paginii.
Pentru crearea paginilor am utilizat Bootstrap, un framework care mi -a permis realizarea
de pagini responsive. În pagina din figura 3.2.1 am utilizat clasa ‘navbar’ ’, iar pentru design
am folosit CSS care pe baza selectorilor și proprietăților m -au ajutat la stilizarea mai multor
elemente ȋn cadrul realizării aplicației , după cum se poate observa și în figura de mai jos :
Figura 3.2.2 Cod pentru meniu de navigare
Bootstrap conține un sistem de grid pe 12 coloane fiind un cadru web care se
concentrează pe simplificarea dezvoltării paginilor web informative. Componentele cele
mai proeminente ale Bootstrap -ului sunt componentele layout -ului, deoarece afectează o
întreagă pagină Web. Componenta elementului de bază este numită "Container", așa cum
se plasează fiecare element din pagină. Odată ce un container este instalat, alte componente
ale aspectului Bootst rap implementează un aspect al gridului CSS prin definirea rândurilor
și a coloanelor.
Cu ajutorul acestui sistem de grid am împărțit pagina principală a site -ului în 3 coloane
de dimensiuni egale făcând -o astfel accesibilă și de pe alte dispozitive (figu ra 3.2.3).
30
Figura 3.2.3 Conținut pagina principală
Efectul utilizării framework -ului Bootstrap este evidențiat în imaginea de ma i jos, în
care se poate observa modul de vizualizare a paginii principale pe un smartphone.
Figura 3.2.4 Pagină principală vizualizată pe smartphone
În următoare figură este prezentată pagina care conține câteva detalii despre locație, și o
imagine din interiorul restaurantului, precum și tipurile de preparate pe care se bazează
meniul. Dacă se acționează butonul “VEZI MENIU”, se face în mod automat
redirecționarea către următoarea pagină, și anume pagina de coman dă, în care se găsesc
toate preparatele din restaurant, filtrate pe categorii, pentru a ușura vizualizarea acestora și
mai ales pentru a fi mai ușor de adăugat în coș produsele care se doresc a fi comandate.
31
Figura 3.2.5 Pagina despre restaurant
Pagina de comandă din figura 3.2.7 permite utilizatorului/clientului să vizualizeze
produsele din meniu filtrate pe categorii, iar fiecărui produs este îi este atașată o imagine
pentru ca utilizatorul să știe exact despre ce produs este vorba și pentru a -i ușura și scurta
timpul de selecție a produselor pentru plasarea comenzii.
Figura 3.2.6 Cod pentru adăugare produs în coș
32
De asemenea, fiecare produs are prețul afișat și opțiune de selec tare a cantității , iar în
momentul în care clientul plasează comanda, acesta poate afla singur suma totală .
Figura 3.2.7 Pagina de prezentare preparate din meniu
După procesul de adăugare în coș a produselor dorite, clientul accesează pagina
corespunzătoare coșului de cumpărături ( figura 3.2.8 ) și trece la pasul următor spre
finalizare comenzii.
Figura 3.2.8 Pagina coș comandă
După plasarea comenzii, clientul primește un mesaj de confirmare, precum în figura
următoare :
33
Figura 3.2.9 Mesaj confirmare comandă
Clientul mai are posibilitatea de a vizualiza istoricul comenzilor plasate, după cum se poate
observa în figura de mai jos :
Figura 3.2.10 Pagina istoric comenzi plasate
Doresc să menționez și faptul că orice client care utilizează aplicația are posibilitatea de a
trimite email -uri către adresa de gmail a restaurantului. Acest email poate fi trimis prin
accesarea paginii de contact, completând formularul următor :
34
Figura 3.2.11 Formular contact
3.3 INTERFAȚA PENTRU OSPĂT AR
Această interfață este aproape identică cu cea pentru client, doar că are câteva
pagini în plus pentru zona de administrare pe care o efectuează ospătarul asupra comenzilor
plasate pentru clienții din restaurant.
Din acest motiv, în continuare voi prezenta doar paginile supliment are la care are acces
ospătarul, care aparțin zonei de administrare.
În figura 3.3.1 este prezentată pagina dashboard, care reprezintă zona de
administrare la care are acces ospătarul.
Figura 3.3.1 Zona de administrare pent ru ospătar
35
Această zonă conține paginile de gestionare a comenzilor plasate de către ospătar, la
cererea clienților din restaurant.
Ospătarul are posibilitatea de a vizualiza comenzile deja plasate și de a adăuga o comandă
nouă , dup ă cum se poate observa î n figurile de mai jos :
Figura 3.3.2 Pagina vizualizare comenzi plasate
Figura 3.3.3 Pagina de plasare comandă
După cum se poate observa în figura 3.3.3, ospătarul are opțiunea de a căuta
preparate din meniu în timp real, pentru accesarea mai ușoară și pl asarea rapidă a comenzii.
Această căutare se realizează direct în baza de date, în timpul tastării .
La nivel funcțional, prima etapă pentru realizarea acestei căutări este realizarea unui
request către server de către browser , folosind Ajax, iar etapa următoare este cea în care
Laravel caută în baza de date string -ul trimis de pe client și returnează informația găsită.
36
Figura 3.3.4 Cod pentru client către server
Figura 3.3.5 C od căutare în baza de date
Ospătarul are acces și la istoricul comenzilor pl asate, unde poate vizualiza suma totală a
vânzărilor, după cum se observă în figura următoare:
Figura 3.3.6 Pagina pentru v izualizare sum ă vânzări
37
Este de menționat și faptul că un ospătar poate plasa comenzi și în calitate de client
al restaurantului, pr ecum a fost prezentat în secțiunea interfeței pentru client.
3.4 INTERFAȚA PENTRU ADMINISTRATOR
Interfața la care are acces administratorul este asemănătoare cu cea pentru ospătar,
cu diferența că administratorul are în plus acces la modificarea meniului, adică adăugarea
preparatelor noi în meniu sau eliminarea acestora în cazul în care nu mai sunt d isponibile,
după cum se poate observa în figurile de mai jos :
Figura 3.4.1 Pagină pentru a dăugare preparat nou în meniu
Codul utilizat pentru aceast procedeu de adăugare este prezentat în figura de mai jos :
Figura 3.4.2 Codul pentru ad ăugarea unui nou preparat
De asemenea, administratorul poate crea noi categorii de preparate sau le poate
elimina. În cazul în care o categorie este eliminată utilizând codul prezentat în figura 3.4.3,
sunt eliminate și preparatele care aparțin acelei categorii.
38
Figura 3.4.3 Codu l pentru eliminarea unei categorii
Tot administratorul se ocupă de crearea conturilor de utilizator, atât pentru clienți
cât și pentru ospăt ari, după cum se poate observa în figura 3.4.3.
Figura 3.4.2 Pagin a de editare categorii de preparat e
Figura 3. 4.3 Pagina de administrare utilizatori
39
Administratorul are dreptul de acces și comenzile care sunt plasate online, acesta
le preia și le comunică ospătarilor pentru a le livrara la domiciliu.
Figura 3.4.4 Vizualizare pagină de comenzi
40
4. CONCLUZII
Procesul de dezvoltare a unei aplicații software trebuie să conducă la găsirea unei
implementări care să ofere soluții adecvate domeniului de utilizare și scopului urmărit de
utilizatorii finali. Astfel, în fundamentarea tehnologiilor și arhitecturii pe care le -am
implementat, în primul rând am ținut cont de contextul în care urma aplicația să fie folosită
și de posibilele scenarii de utilizare.
Am creat acest site web cu scopul de a promovare a unei afaceri și de a -mi
îmbunătăți cunoștințele în programare și web design. Interfața principală am încercat să o
structurez astfel încât utilizatorului să -i fie ușor să găsească informația de care are nevoie
în cel mai scurt timp. În ceea ce privește partea de aplica ție și anume pagina de magazin
online, aceasta poate fi accesată de orice persoană care dorește să -și comande diverse
preparate din meniu, unele având rețetele reinterpretate pentru a da un plus de originalitate,
și să experimenteze noi arome .
Această apli cație reprezintă un prim pas pentru dezvoltarea pe viitor a unor
funcționalități mai complexe. Prin realizarea acestei aplicații mi -am aprofundat
cunoștințele în utilizarea tehnologiilor: HTML, CSS, Bootstrap, Laravel, PHP, MySQL
reușind să dobândesc cunoș tințe noi în utilizarea de noi biblioteci și limbaje de programare
precum și utilizarea unor platforme de dezvoltare JavaScript precum jQuery.
Pe viitor ca și principale dezvoltări mi -am propus să îmbunătățesc sistemul de
securitate și să îl fac public ast fel încât să poată fi accesată online. De asemenea doresc să
creez o bază de date pentru introducerea anumitor evenimente în pagina site -ului, care vor
avea loc în restaurant, cum ar fi degustarea de preparate și să adaug opțiune care permite
utilizatorulu i să selecteze limba română sau engleză în care să se afișeze conținutul, să
adaug animații cu scopul de a face site -ul mai atractiv ș i noi opțiuni pentru metoda de plată ,
cum ar fi plata cu cardul .
41
BIBLIOGRAFIE
[1] Aplicație web http://www.creeaza.com/referate/informatica/internet/INTERNET -si-
arhitectura -de-baz875.php
Consultat la data de 20.05 .2020
[2] Baze de date http://www.prouniversitaria.ro/carte/baze -de-date
Consultat la data de 22.05 .2020
[3] Baze de Date relaționale. Teorie și Aplicații în Visual FoxPro, Cornelia Gyorodi, R.
Gyorodi, G. Pecherle, Editura Mediamira, 2008.
[4] MySQL https://dev.mysql.com/doc/refman/8.0/en/what -is-mysql.html ,
Consultat la data de 25.05 .2020
[5] XAMPP https://www.ionos.com/digitalguide/server/tools/xampp -tutorial -create -your-
own-local -test-server/ Consultat la data de 24.05 .2020
[6] Chuck Mus ciano, Bill Kennedy, HTML and XHTML , the definitive guide, Editura O'Reilly
Media, Inc., 2002
[7] Mark Pilgrim, HTML5: Ghidulîncepătorului, Brașov, 2011, p. 10
[8] HTML5 https://www.techradar.com/news/internet/web/html5 -what -is-it-1047393
Consultat la data de 01.06.2020
[9] Simon Collison, Beginning CSS Web Development: From Novice to Prof essiona l, Editura
Apress, 2006
Consultat la data de 01 .06.2020
[10] Limbajul JavaScript https://web.ceiti.md/lesson.php?id=16
Consultat la data de 03 .06.2020
[11] Pavel Năstase, Foarea Năstase, Inter net World Wide Web, JavaScript -HTML -Java,
Editura Economică, 1998
[12] Despre PHP http://etutoriale.ro/articles/16/1/Despre -PHP/
Consultat la data de 03 .06.2020
[13] Paul Dubois, MYSQL, E ditura Teora , 2001
14] Despre jQuery http://www.tutorialspoint.com/jquery/jquery_tutorial.pdf
Consultat la data de 02.06.2020
[15] jQuery https://ro.wikipedia.org/wiki/JQuery
Consultat la data de 02.06.2020
42
[16] Laravel https://www.larashout.com/what -is-laravel -and-why-you-should -learn -it
Consultat la data de 09.06.2020 și 14.06.2020
43
ANEXA 1 – STRUCTURA BAZEI DE DATE UTILIZATĂ ÎN
APLICA ȚIE
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: PROGRAMUL DE STUDIU CALCULATOARE FORMA DE ÎNVĂȚĂMÂNT IF Proiect de diplomă COORDONATOR ȘTIINȚIFIC PROF. DR. ING. GYŐRÖDI CORNELIA AURORA ABSOLVENT… [609691] (ID: 609691)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
