Proiectarea Unei Aplicatii Privind Cumpararea Unor Mancaruri
Cuprins
Introducere
Capitol I. Tehnologii folosite în realizarea aplicației
I.1 HTML
I.2 CSS
I.2.1 CSS3
I.3 JavaScript
I.3.1 jQuery
I.4 PHP
I.4.1 PHP 5
I.4.2 Utilizare
I.5 CMS
I.6 MySQL
Capitol II. Aspecte software ale implementării
II.1 Structura bazei de date
II.2 Structura aplicației
III. Ghid de utilizare a aplicației realizate
III.1 Accesarea aplicației
III.2 Utilizarea aplicației pe nivele de acces utilizator tip client
III.3 Utilizarea aplicației pe nivele de acces utilizator tip admin
III.3.1Submeniuri folosite de admin
Concluzii
Bibliografie
Introducere
În zilele noastre piata electronică a evoluat atât de mult încât majoritatea cumpărăturilor se fac online pe internet deoarece este mult mai accesibil, simplu și comod, oferind utilizatorilor mai multe facilități, cum ar fi informații despre anumite produse noi, promoții, reduceri, asigurarea transportului. Ei pot să cumpere sau să facă alte tranzacții din aproape orice locație și la orice oră.
Cumpărătorii beneficiază de o livrare rapidă iar dacă există o posibilă nemulțumire aceștia pot returna produsele cumpărate.
Comerțul electronic este benefic pentru societate permițând mai multor persoane să lucreze de acasă, creeaza un „simț comun” al comunității comerciale prin chaturi,forumuri care solicită implicarea cumpărătorilor precum și pentru companii.
Unul dintre elementele care pot atrage și convinge consumatorii să cumpere un produs este modul de prezentare și designul. Acesta trebuie să fie clar și concis și desigur să și arate bine.
Din aceste motive am considerat o idee bună de a realiza o aplicație care să prezinte o serie de mâncăruri având posibilitatea de a cumpăra/comanda un produs și care să cuprindă cât mai multe tehnologii moderne, precum sugerează și tema proiectului de diploma „Aplicație web de gestiune a unui lanț de restaurant”. Aceste tehnologii ne oferă un mediu de dezvoltare larg precum și multe facilități în proiectarea aplicațiilor.
Unele avantaje ale tehnologiilor pe care le-am folosit precum CMS web design este că reprezintă o colecție de unelte ce conține template-uri HTML și CSS pentru formulare, butoane, tipografie, navigare dar și alte componente legate de interfața. Acest lucru a fost foarte util în aplicație reducând mult timpul de proiectare.
Cu MySQL am stocat multe imagini și text, această bază de date fiind denormalizată pentru a îmbunătăți performanțele.Desigur, aici avem și avantaje deoarece fiind o tehnologie cu bazele de date relaționare sunt mai mulți dezvoltatori software SQL.
Funcționalitatea jQuery poate fi extinsă după nevoi, astfel în aplicație am folosit mai multe efecte,de exemplu pentru prezentarea produselor în tip ,,tabel / listă”.
Funcționalitatea javascript poate fi extinsă după nevoi,astfel în aplicație am folosit mai multe efecte,de exemplu a mări poza produsului.
Pentru a fi o singură versiune de site care să funcționeze bine pe orice dispozitiv indiferent de rezoluție a ecranului am folosit CMS web design care vine în ajutorul celor care trebuie să creeze mai multe versiuni ale site-urilor însă acest concept poate ridica și dificultăți deoarece introduce un nivel de complexitate a layout-urilor.
Spre deosebire de alte aplicații din domeniu aplicația mea este diferită prin conținut și funcționalitate identică indiferent de dispozitivul clientului, fie acesta desktop, laptop sau tabletă datorită designului.
Capitol I. Tehnologii folosite în realizarea aplicației
I.1 HTML
HTML este o formă de marcare orientată către prezentarea documentelor text pe o singură pagină, utilizând un software de redare specializat, numit agent utilizator HTML, cel mai bun exemplu de astfel de software fiind browserul web. HTML furnizează mijloacele prin care conținutul unui document poate fi adnotat cu diverse tipuri de metadate și indicații de redare. Indicațiile de redare pot varia de la decorațiuni minore ale textului, cum ar fi specificarea faptului că un anumit cuvânt trebuie subliniat sau că o imagine trebuie introdusă, până la scripturi sofisticate, hărți de imagini și formulare. Metadatele pot include informații despre titlul și autorul documentului, informații structurale despre cum este împărțit documentul în diferite segmente, paragrafe, liste, titluri etc. și informații cruciale care permit ca documentul să poată fi legat de alte documente pentru a forma astfel hiperlink-uri (sau web-ul).
HTML este un format text proiectat pentru a putea fi citit și editat de oameni utilizând un editor de text simplu. Totuși scrierea și modificarea paginilor în acest fel solicită cunoștințe solide de HTML și este consumatoare de timp. Editoarele grafice (de tip WYSIWYG) cum ar fi Macromedia Dreamweaver, Adobe GoLive sau Microsoft FrontPage permit ca paginile web să fie tratate asemănător cu documetele Word, dar cu observația că aceste programe generează un cod HTML care este de multe ori de proastă calitate.
HTML se poate genera direct utilizând tehnologii de codare din partea serverului cum ar fi PHP, JSP sau ASP. Multe aplicații ca sistemele de gestionare a conținutului, wiki-uri și forumuri web generează pagini HTML.
HTML este prescurtarea de la Hyper Text Mark-up Language și este codul care stă la baza paginilor web. Paginile HTML sunt formate din etichete sau tag-uri și au extensia .html sau .htm. În marea lor majoritate aceste etichete sunt pereche, una de deschidere <eticheta> și alta de închidere </eticheta>, mai există și cazuri în care nu se închid, atunci se folosește <eticheta /> browserul interpretează aceste etichete afișând rezultatul pe ecran. HTML-ul nu este un limbaj case sensitiv (nu face deosebirea între litere mici și mari). Pagina principală a unui domeniu este fișierul index.html respectiv index.htm. Această pagină este setată a fi afișată automat la vizitarea unui domeniu.
Unele etichete permit utilizarea de atribute care pot avea anumite valori:
<eticheta atribut="valoare"> … </eticheta>
Componenta unui document HTML este:
versiunea HTML a documentului
zona head cu etichetele <head></head>
zona body cu etichetele <body></body> sau <frameset></frameset>
Versiunea HTML poate fi:
HTML 4.01 Strict:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 Frameset:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
HTML 5:
<!DOCTYPE HTML>
Și în HTML poate fi introdus un comentariu, care bineînțeles nu va fi afișat de browser:
<!—Acesta este un comentariu –>
În implementarea aplicației am folosit HTML pentru interfața utilizator,mai exact versiunea HTML5 care chiar dacă nu a fost standardizată încă,este suportat de majoritatea broswer-elor.Această nouă versiune aduce elemente suplimentare pentru a îmbunătăți limbajul și asigură suportul pentru cele mai recente elemente multimedia.El însumeazănu numai HTML4, dar și XHTML1 și DOM2HTML (îndeosebi JavaScript) [1].
I.2 CSS
Cascading Style Sheets (CSS) a apărut ca o soluție propusă de W3C (World Wide Web Consortium – comunitate online fondată de inventatorul web-ului) pentru rezolvarea unei probleme. În versiunea 3.2 a HTML au apărut tag-urile pentru font și culoare iar acest lucru a creat mari probleme companiilor care aveau deja site-uri destul de voluminoase. Modificarea tuturor paginilor era un proces de durată și destul de costisitor. Pentru a rezolva această problemă, W3C a propus crearea unor fișiere externe care să conțină proprietățile atașate tag-urilor HTML – fișierele CSS. Folosirea unui singur fișier CSS pentru setarea proprietăților mai multor tag-uri HTML din pagini diferite a rezolvat problema introdusă de tag-urile pentru font și culoare. Începând cu HTML 4.0 acest lucru a fost posibil. În momentul acesta toate browserele suportă folosirea fișierelor CSS. Pe scurt CSS-ul definește modul în care sunt afișate tag-urile HTML în cadrul site-ului web.
CSS-ul este gândit să aibă o sintaxă relativ simplă. O "instrucțiune" CSS este alcătuită din 2 elemente: un selector și lista de declarații cuprinsă între acolade. Declarațiile, la rândul lor, sunt alcătuite din 2 elemente: o proprietate și o valoare asociată proprietății. Declarațiile se separă prin punct și virgulă.
În cazul ultimei declarații folosirea punctului și virgulei la sfârșit nu este absolut necesară dar este recomandată pentru a evita problemele generate de editarea ulterioară a documentului.
Introducerea unor secvențe de CSS în pagina HTML este recomandat să fie făcută în blocul HEAD. Pentru folosirea unui fișier CSS extern se folosește:
<link href="calea/catre/fisier.css" rel="stylesheet" type="text/css">
Este recomandat să se folosească două versiuni ale codului, una cu comentarii pentru dezvoltare, gen /* comentariu */, și una lipsită de comentarii și compresată cât mai mult pentru producție. Fișierele mai mari se incarcă mai greu și toți ne dorim un internet mai rapid [2].
I.2.1 CSS3
CSS3 s-a lansat pentru a aduce designul la urmatorul nivel. Cu o mulțime de caracteristici și instrumente noi, CSS 3 ne dă speranța că nu va mai trebui să apelăm la CSS hacks și tehnici Javascript pentru a stiliza un element.
CSS 3 este în continuă dezvoltare și promite o varietate mare de module noi pentru designul paginilor noastre. Multe dintre aceste module nu au fost încă finalizate. Este foarte dificil de a estima o dată când browserele vor adopta noile caracteristici de CSS3.
Un lucru important de știut înainte de a începe utilizarea acestor proprietăți este faptul că nu sunt suportate în toate browserele web și, de cele mai multe ori, vom fi nevoiți să apelăm la prefixarea acestora în funcție de suportul în diferite browsere.
Prefixele pe care le vom întâlni mai departe sunt:
webkit- Specific browserelor Webkit (Google Chrome, Safari și, în curând, Opera);
moz- Specific browserului Mozilla Firefox;
ms- Specific browserului Internet Explorer;
o- Specific browserului Opera.
Câteva tehnici noi CSS 3
Există mai multe funcții și caracteristici noi și interesante introduse de CSS3 printre care: text-shadow, RGBA And Opacity, multiple backgrounds, border-radius, border-image, box-sizing, font-face.
Attribute:
Text-shadow effect
CSS3 elimină necesitatea de a folosi Photoshop și imagini în website, atunci când avem nevoie de un simplu efect de umbră pentru un text.
Border-radius: rounded corners
Border-radius adaugă colțuri curbate la elementele HTML, fărî a fi nevoiți să folosim imagini de fundal. În prezent, este probabil proprietatea CSS3 cea mai utilizată.
Box Shadow
La fel ca și text-shadow, box shadow adaugă umbră la elementele HTML, fără a fi necesare imagini de fundal.Proprietatea este dată de 3 lungimi (horizontal offset of the shadow, vertical offset, blur radius) și atributul de culoare.
Atributul @font-face
Este cea mai anticipată caracteristică CSS3, fiind în proiect înca de pe vremea CSS2. Pentru a utiliza această propietate, fiecare font trebuie declarat folosind atributul @font-face. În cazul în care un browser nu acceptă atributul @font-face, acesta va reveni la următorul font-family specificat în CSS [3].
Pentru aplicație CSS a fost implementat pentru partea de stilizare a interfeței utilizator.Am folosit versiunea CSS3 pentru că pune la dispoziție mai multe proprietăți ce oferă efecte vizuale mai plăcute, și este suportat de toate browserele moderne.
Se folosesc două fișiere CSS, unul pentru browser-ele desktop și altul pentru browser-ele dispozitivelor mobile.
Cel optimizat pentru mobile rezultă într-un design mai trunchiat: se încarcă mai repede, se vede mai bine de ecrane mici și folosește mai puțin trafic de bandă.
I.3 JavaScript
JavaScript este un limbaj de programare orientat obiect bazat pe conceptul prototipurilor. Este folosit mai ales pentru introducerea unor funcționalități în paginile web, codul Javasi multe proprietăți ce oferă efecte vizuale mai plăcute, și este suportat de toate browserele moderne.
Se folosesc două fișiere CSS, unul pentru browser-ele desktop și altul pentru browser-ele dispozitivelor mobile.
Cel optimizat pentru mobile rezultă într-un design mai trunchiat: se încarcă mai repede, se vede mai bine de ecrane mici și folosește mai puțin trafic de bandă.
I.3 JavaScript
JavaScript este un limbaj de programare orientat obiect bazat pe conceptul prototipurilor. Este folosit mai ales pentru introducerea unor funcționalități în paginile web, codul Javascript din aceste pagini fiind rulat de către browser. Limbajul este binecunoscut pentru folosirea sa în construirea siteurilor web, dar este folosit și pentru accesul la obiecte încastrate (embedded objects) în alte aplicații. A fost dezvoltat inițial de către Brendan Eich de la Netscape Communications Corporation sub numele de Mocha, apoi LiveScript, și denumit în final JavaScript .
Schimbarea numelui din LiveScript în JavaScript s-a făcut cam în același timp în care Netscape încorpora suport pentru tehnologia Java în browserul web Netscape Navigator.În ciuda numelui și a unor similarități în sintaxă, între JavaScript și limbajul Java nu există nicio legătură. Ca și Java, JavaScript are o sintaxă apropiată de cea a limbajului C, dar are mai multe în comun cu limbajul Self decât cu Java,
Microsoft a implementat limbajul JavaScript sub numele de JScript, cu o serie de modificări și extensii față de implementarea Netscape. Pe platforma Windows, JScript este unul din limbajele executabile de către Windows Script și, deci, poate fi folosit pentru scriptarea aplicațiilor ce suportă Windows Script, de exemplu Internet Explorer, sau chiar sistemul de operare Windows .
Asociația ECMA a standardizat limbajul JavaScript/JScript sub numele ECMAScript (standardul ECMA-262) [4]. Până la începutul lui 2005, ultima versiune existentă a fost JavaScript 1.5, care corespunde cu Ediția a 3-a a ECMA-262, ECMAScript, cu alte cuvinte, o ediție standardizată de JavaScript. Versiunile de Mozilla începând cu 1.8 Beta 1 au avut suport pentru E4X, care este o extensie a limbajului care are de a face cu XML, definit în standardul ECMA-357. Versiunea curentă de Mozilla, 1.8.1 (pe care sunt construite Firefox și Thunderbird versiunile 2.0) suportă JavaScript versiunea 1.7.
Cea mai des întâlnită utilizare a JavaScript este în scriptarea paginilor web. Programatorii web pot îngloba în paginile HTML script-uri pentru diverse activități cum ar fi verificarea datelor introduse de utilizatori sau crearea de meniuri și alte efecte animate.Browserele rețin în memorie o reprezentare a unei pagini web sub forma unui arbore de obiecte și pun la dispoziție aceste obiecte script-urilor JavaScript, care le pot citi și manipula. Arborele de obiecte poartă numele de Document Object Model sau DOM. Există un standard W3C pentru DOM-ul pe care trebuie să îl pună la dispoziție un browser, ceea ce oferă premiza scrierii de script-uri portabile, care să funcționeze pe toate browserele. În practică, însă, standardul W3C pentru DOM este incomplet implementat. Deși tendința browserelor este de a se alinia standardului W3C, unele din acestea încă prezintă incompatibilități majore, cum este cazul Internet Explorer.
O tehnică de construire a paginilor web tot mai întâlnită în ultimul timp este AJAX, abreviere de la „Asynchronous JavaScript and XML”. Această tehnică constă în executarea de cereri HTTP în fundal, fără a reîncărca toată pagina web, și actualizarea numai anumitor porțiuni ale paginii prin manipularea DOM-ului paginii. Tehnica AJAX permite construirea unor interfețe web cu timp de răspuns mic, întrucât operația (costisitoare ca timp) de încărcare a unei pagini HTML complete este în mare parte eliminate [5].
Pentru aplicație am folosit JavaScript care a fost implementată pentru a oferi dinamică interfeței utilizator.
I.3.1 jQuery
jQuery este o platformă de dezvoltare JavaScript, concepută pentru a ușura și îmbunătăți procese precum traversarea arborelui DOM în HTML, managementul inter-browser al evenimentelor, animații și cereri tip AJAX. jQuery a fost gândit să fie cât mai mic posibil, disponibil în toate versiunile de browsere importante existente, și să respecte filosofia "Unobtrusive JavaScript".
jQuery se poate folosi pentru a rezolva următoarele probleme specifice programării web:
selecții de elemente în arborele DOM folosind propriul motor de selecții open source Sizzle, un proiect născut din jQuery;
parcurgere și modificarea arborelui DOM (incluzând suport pentru selectori CSS 3 și XPath simpli);
înregistrarea și modificarea evenimentelor din browser;
manipularea elementelor CSS;
efecte și animații;
cereri tip AJAX;
extensii;
utilităti – versiunea browser-ului, funcția each .
Plugin-urile sau extensiile sunt unele dintre cele mai interesante aspecte ale jQuery. Arhitectura sa permite programatorilor să dezvolte subaplicații bazate pe biblioteca principală care extind funcțiile de bază jQuery cu funcții specifice plugin-ului. În acest fel biblioteca principală poate ocupa foarte puțin spațiu, iar extensiile necesare în anumite pagini web pot fi încarcate la cerere, doar când este nevoie de ele. Există un set de extensii principal numit jQuery UI (jQuery User Interface). 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 jQuery UI față de alte extensii este că dezvoltarea și testarea acestor componente se face în paralel cu dezvoltarea bibliotecii principale, minimizând riscul de incompatibilitate [6].
În aplicație, jQuery este folosit pentru a oferi compatibilitate AJAX între diferite browsere și la manipularea anumitor elemente în funcție de interacțiunea utilizator. Totodata ,este o dependență pentru Bootstrap.
I.4 PHP
PHP însemna inițial Personal Home Page. PHP a fost început în 1994 ca o extensie a limbajului server-side Perl, și apoi ca o serie de CGI-uri compilate de către Rasmus Lerdorf, pentru a genera un curriculum vitae și pentru a urmări numărul de vizitatori ai unui site. Apoi a evoluat în PHP/FI 2.0, dar proiectul open-source a început să ia amploare după ce Zeev Suraski și Andi Gutmans, de la Technion au lansat o nouă versiune a interpretorului PHP în vara anului 1998, această versiune primind numele de PHP 3.0. Tot ei au schimbat și numele în acronimul recursiv de acum, până atunci PHP fiind cunoscut ca Personal Home Page Tools. Apoi Suraski și Gutmans au rescris baza limbajului, producând astfel și Zend Engine în 1999. În mai 2000 a fost lansat PHP 4.0, având la bază Zend Engine 1.0.
I.4.1 PHP 5
Pe 13 iulie 2004 a fost lansat PHP 5, cu Zend Engine II, ce a adus și o orientare obiect mai pronunțată și suportând mai multe caracteristici ale acestui tip de programare.
PHP 5 aduce mai multe noutăți față de versiunea 4:
Suport îmbunătățit pentru OOP
Introduce extensia PDO – PHP Data Objects, care definește o modalitate facilă și consistentă de accesare a diferitelor baze de date
Imbunătățiri de performanță
Suport îmbunătățit pentru MySQL și MSSQL
Suport nativ pentru SQLite
Suport SOAP integrat
Iteratori pentru date
Controlul erorilor prin tratarea de excepții
La sfârșitul lui 2007 doar versiunea 5.x mai era întreținută, deoarece în data de 13 iulie 2007 (exact la 3 ani după lansarea PHP5), PHP Group a anunțat că PHP4 va fi scos din uz pe 31 decembrie 2007, deși prognozează că anumite upgrade-uri de securitate se vor oferi până pe 8 august 2008. Dezvoltarea la PHP 6 începuse deja în decembrie 2007 și urmează să fie oferit odată cu scoaterea din uz a PHP4.
I.4.2 Utilizare
PHP este simplu de utilizat, fiind un limbaj de programare structurat, ca și C-ul, Perl-ul sau începând de la versiunea 5 chiar Java, sintaxa limbajului fiind o combinație a celor trei. Datorită modularității sale poate fi folosit și pentru a dezvolta aplicații de sine stătătorare, de exemplu în combinație cu PHP-GTK sau poate fi folosit ca Perl sau Python în linia de comandă. Probabil una din cele mai importante facilități ale limbajului este conlucrarea cu majoritatea bazelor de date relaționale, de la MySQL și până la Oracle, trecând prin MS Sql Server, PostgreSQL, sau DB2.
PHP poate rula pe majoritatea sistemelor de operare, de la UNIX, Windows, sau Mac OS X și poate interacționa cu majoritatea serverelor web. Codul dumneavoastră PHP este interpretat de serverul WEB și generează un cod HTML care va fi văzut de utilizator (clientului -browserului- fiindu-i transmis numai cod HTML).
PHP foloseste extensii specifice pentru fișierele sale: .php, .php3, .ph3, .php4, .inc, .phtml. Aceste fișiere sunt interpretate de către serverul web iar rezultatul este trimis în formă de text sau cod HTML către browser-ul clientului [7].
I.5 CMS
Un sistem de administrare a conținutului sau CMS (în engleză Content Management System, CMS) este un sistem software creat pentru automatizarea cât mai deplină a gestiunii conținutului, în special a siturilor web. Scopul este de a reduce sau elimina intervenția programatorilor la editarea și administrarea siturilor lor. CMS-ul facilitează organizarea, controlul și publicarea de documente sau alt tip de conținut, cum ar fi imagini și resurse multimedia. Un CMS facilitează adesea crearea in comun de documente. Un "CMS web" este un CMS cu facilități adiționale pentru ușurarea publicării de conținut pe diversele situri.
Date fiind complexitatea siturilor web și inexistența unui model standard, definirea unitară a CMS precum și a părților sale componente este foarte greu de realizat. Granițele dintre portale, sisteme CMS, DMS (Document Management System – Sistem de Administrare a Documentelor) și ECS (E-commerce Systems – Sisteme de Comerț Electronic) nu sunt evidente și acestea adesea se suprapun.
Sistemele de administrare a conținutului web sunt folosite adesea pentru stocarea și controlul documentelor cum ar fi articole, manuale tehnice sau de alte naturi, ghiduri de vânzări și broșuri de marketing. Un CMS poate avea următoarele funcții:
Crearea și transferul de documente și material multimedia
Identificarea utilizatorilor cheie și a rolului lor în gestionarea conținutului
Atribuirea de roluri și responsabilități diferitelor categorii de conținut
Definirea de sarcini de lucru, adesea cuplate cu trimiterea de mesaje în funcție de eveniment, astfel încât managerii de conținut sunt alertați automat când intervin schimbări ce îi privesc
Urmărirea și organizarea mai multor versiuni ale aceluiași element de conținut
Publicarea conținutului într-o bibliotecă, pentru a sprijini accesul la conținut. În ultima vreme biblioteca (bază de date) este o parte tot mai importantă a sistemului; ea poate fi ușor interogată [8]
I.6 MySQL
MySQL este un sistem de gestiune a bazelor de date relațional, produs de compania suedeza 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).
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 are fi: C, C++, C#, Java, Perl, PHP, Python, FreeBasic, etc., fiecare dintre acestea folosind un tip spefic API. O interfață de tip ODBC denumită MyODBC permite altor limbaje de programare ce folosesc această interfață, să interacționeze cu bazele de date MySQL cum ar fi ASP sau Visual Basic. În sprijinul acestor limbaje de programare, unele companii produc componente de tip COM/COM+ sau .NET (pentru Windows) prin intermediul cărora respectivele limbaje să poată folosi acest SGBD mult mai ușor decât prin intermediul sistemului ODBC. Aceste componente pot fi gratuite (ca de exemplu MyVBQL) sau comerciale.
Licența GNU GPL nu permite încorporarea MySQL în softuri comerciale; cei care doresc să facă acest lucru pot achiziționa, contra cost, o licență comercială de la compania producătoare, MySQL AB.
MySQL este componentă integrată a platformelor LAMP sau WAMP (Linux/Windows-Apache-MySQL-PHP/Perl/Python). Popularitatea sa ca aplicație web este strâns legată de cea a PHP-ului care este adesea combinat cu MySQL și denumit Duo-ul Dinamic. În multe cărți de specialitate este precizat faptul ca MySQL este mult mai ușor de invățat și folosit decât multe din aplicațiile de gestiune a bazelor de date, ca exemplu comanda de ieșire fiind una simplă și evidentă: „exit” sau „quit”.
Pentru a administra bazele de date MySQL se poate folosi modul linie de comandă sau, prin descărcare de pe internet, o interfață grafică: MySQL Administrator și MySQL Query Browser. Un alt instrument de management al acestor baze de date este aplicația gratuită, scrisă în PHP, phpMyAdmin.
MySQL poate fi rulat pe multe dintre platformele software existente: AIX, FreeBSD, GNU/Linux, Mac OS X, NetBSD, Solaris, SunOS, Windows 9x/NT/2000/XP/Vista [9].
Capitol II. Aspecte software ale implementării
II.1 Structura bazei de date
O Bază de date, reprezintă o modalitate de stocare a unor informații și date pe un suport extern (un dispozitiv de stocare), cu posibilitatea extinderii ușoare și a regăsirii rapide a acestora. Totuși, este definită ca o structură de date accesibilă unuia sau mai multor calculatoare, pentru a satisface concurent cerințele mai multor utilizatori într-un mod selectiv dar în timp util și în condițiile când disponibilitatea aplicației și datelor trebuie să fie permanentă (de ex. pentru a nu pierde ocazia de a încheia afaceri), soluțiile bune nu sunt de loc simple.
Cel mai răspândit tip de baze de date este cel relațional, în care datele sunt memorate în tabele. O bază de date relațională mai poate conține: indecși, utilizatori și grupuri de utilizatori, tipuri de date, proceduri stocate, utilizatori și grupuri de utilizatori, declanșatori, tipuri de date, mecanisme de securitate și de gestiune a tranzacțiilor etc.
Ca și sistem de administrare a bazei de date (DBMS) am folosit software-ul care ofera o interfață către utilizator și baza de data, acest software este phpMyAdmin. Am ales phpMyAdmin din motivul că este una dintre cele mai populare platforme open-source, pentru dezvoltare și administrarea a bazelor de date MySQL. phpMyAdmin este destinat pentru nevoile tuturor utilizatori, se poate dezvolta baze de date complexe cu ușurință, dar se pot face si interogări simple de SQL. Aplicația include și un editor SQL, un editor de cod server-side, aplicația phpMyAdmin se poate administra foarte ușor datorită faptului că are o interfță simplă(Fig. 2.1). Pentru a deține un server MySQL, avem nevoie de un client numit XAMPP care este freeware în care este inclus Apache webserver, MySQL server și phpMyAdmin cu care administrăm serverul MySQL. Pentru a avea acces la această pachet de aplicație este necesară descărcarea programului XAMPP Control Panel de la adresa https://www.apachefriends.org/ro/download.html conform sistemului de operare folosit, in cazul de față Windows. Odată cu instalarea bazei de date MySQL avem acces la phpMyAdmin unde putem adauga și manipula baza de date.
Figura 2.1 Interfața phpMyAdmin
Implicit după instalarea pachetului XAMPP in care modulele de servicii Apache și MySQL sunt rulate în mod automat, se instalează un server local, numit localhost, pe portul predefinit 3306 pentru MySQL. Acest server este adăugat automat în phpMyAdmin, în care sunt create tot odată mai multe tabele de test.
În urmatorul pas vom crea baza de date, selectând butonul ,,Databases” din cadrul server-ului localhost, ii dam un nume la baza de date și apăsăm pe butonul ,,Create”, pasul urmator va fii că în stanga interfeți ne apare baza de data creată și ii dam un click , în meniul de sus apar mai multe opțiuni de a administra baza noastra de date, iar în stanga unde selectăm baza de date la care lucrăm, sub numele bazei de date selectată apare butonul ,,New” unde putem întroduce tabele noi in baza noastră de date. În meniul de sus putem modifica structura bazei de date, să introducem cod sql, putem face o căutare in baza de date, Query, export, inport, alte operații, putem seta ,,privileges” care utilizator are dreptu de a folosi/gestiona baza noastră de date , mai avem și modul de vizualizarea bazei de date unde putem face tracking și designer, aceste opțiuni putem folosi și în timpul crearei unui tabel nou. (Fig2.2)
Figura 2.2 Caracteristici tabel
Lucrarea de față urmarește pașii necesari în realizarea unei aplicație web, care permite gestionarea unui lanț de restaurante.
Date fiind cerințele acestei lucrări, am conceput că realizarea acestei teme necesită mai multe tabele în baza de date. O să fac o scurtă prezentare a tabelelor principale care am folosit în baza mea de date.
admin_user – acest tabel este utilizat pentru a stoca informații principale despre utilizatorul administrator, prin care identificăm utilizatorul și trăsăturile lui.
Tabelul conține următoarele cămputri:
user_id – de tip întreg care este unic si se auto incrementează
firstname – conține prenumele și este tip varchar
lastname – conține numele și este tip varchar
email – conține adresa de email al utilizatorului și este tip varchar
username – numele de utilizator cu care se autentifică, uilizatorul admin
password – parola utilizatorului
created – în acest cămp vom stoca cănd a fost creat admin_user-ul
modified – daca vor face modificări pe acest utilizator aici va fii stocat data exactă
logdate – aici vom stoca data exactă cănd a fost autentificat ultima oară acest utilizator
lognum – aici vom enumera a câtelea oară se autentifică utilizatorul.
reload_acl_flag – va fi enumerat ca in ultima sesiune de activitate de câte ori a făcut reautentificare
is_active – verificăm dacă utilizatorul este autentificat
extra – informații suplimentare date de către utilizator
rp_token – etichetă creată pentru admin
rp_token_created_at – cănd a fost creată eticheta pentru admin
Mai bine dacă adaugăm prin API atributele pentru a crea un utilizator, prin utilizarea unor comenzi iar ele vor fii stocate în mai multe tabele: ,,customer_entity” , ,,eav_attribute” și ,,customer_entity_varchar” , de exemplu:
$customer = Mage::getModel("customer/customer");
$customer->setWebsiteId = $websiteId;
$customer->setStore($store);
$customer->setFirstname($afirstname);
$customer->setLastname($alastname);
$customer->setEmail($email);
$customer->setPasswordHash(md5($password));
$customer->save();
$address = Mage::getModel("customer/address");
$address->setCustomerId($customer->getId());
$address->setFirstname($customer->getFirstname());
$address->setLastname($customer->getLastname());
$address->setCountryId($country); //Country code here
$address->setStreet($street);
$address->setPostcode($postcode);
$address->setCity($city);
$address->setTelephone($telephone);
$address->save();
Tot în tabela ,,eav_attribute” vom avea și restul informațiilor care sunt clientului nostru, de exemplu ,,default_billing” modul lui de plată sau chiar ,,default_shipping” adresa de livrare implicită. Așa în trei tabele sunt înparțite datele utilizatorului pentru a le gestiona în mod mai ușor și pentru a avea o securitate mai mare. Prescurtarea eav reprezintă ,,Entity–attribute–value”.
Pentru produse, categorile produselor și pentru plăți tabelele sunt construite prin metoda ,,Entity–attribute–value” așa că în rezultat am foarte multe tabele în baza de date pentru a gestiona în mod cât mai rapid fiecare operațiune efectuată pe pagina web.
Prin metoda ,,Entity–attribute–value” între tabele sunt foarte multe legături așadar aproape fiecare tabelă depinde de restul tabelelor. Tabelul principal ,,eav_attribute” are cele mai multe legături, ea este legată de încă alte șapte tabele, pentru a ușura gestionarea comenzii și a putea servi cu toate informațiile necesare utilizatorul.
În tabela ,,eav_attribute” este stocat fiecare comandă a utilizatorului, dar și produsele vizualizate de el în ultima vreme, aici vor fii ultimele cinci produse vizualizate de el.
Structura finală a bazei de date cu legături între tabele principale va arăta ca în Fig.2.3
Figura2.3 Structura conceptuală a bazei de date
Datorita bazei de date construit în tip ,,Entity–attribute–value” cu ușurință pot extrage date și prin XML. Pentru a folosi XML cu baza de date am tabele separate dedicate pentru el.
II.2 Structura aplicației
Aplicația de față se bazează pe aplicația Magento, este open source e-commerce care a fost lansată în 31 Martie 2008 sub numele ,, Bento Magento” el este bazat pe ,,Zend Framework” și folosește fișiere PHP, MySQL pentru servicii web hosting, are un suport pentru programarea orientată pe obiecte (OOP) si pentru arhitectura Model-View-Controller (MVC), bazele de date sunt ,, entity-attribute-value” (EAV) pentru a stoca date. Magento, este o subdivizie a lui eBay și în Aprilie 2014 W3Techs a estimat că 1.0% din pagini web este bazat pe Magento și tot odata în Aprilie 2014 comunitatea aheadWorks a estimat din platform e-commerce, Magento cuprinde 34% din piață. Aplicația Magento în aplicația de față este un add-on peste XAMPP.
În continuare voi prezenta pe scurt structura fișierelor aplicației de față:
/ app / etc – aici se afla configuratia globala
/ app / code – în acest fișier regasim modulele instalate și contollerele
/ app / code / core – arconține module de bază
/ app / code / community –
/ app / code / local – sunt particularizări locale
/ app / code / core / Mage – magento default namespace
/ app / code / core / Mage / {Module} – modul de rădăcină
/ app / code / core / Mage / {Module} / etc – modul de configurație
/ app / code / core / Mage / {Module} / controllers – controllere furnizate de module
/ app / code / core / Mage / {Module} / Block – clase logice Block
/ app / code / core / Mage / {Module} / Model – Modele Obiect furnizate de module
/ app / code / core / Mage / {Module} / Model / Mysql4 – Modele de resurse oferite de modulul
/ app / code / core / Mage / {Module} / sql – Instalare SQL și upgrade-ul de fișiere între versiunile de module
/ app / code / core / Mage / {Module} / sql / {resource} / – Upgrade-uri de modele specifice de resurse
/ app / code / core / Mage / {Module} / sql / {resource} / {type}-{action}-{versions}.(sql|php) – fișiere de actualizare de resurse, exemplu: mysql4-upgrade-0.6.23-0.6.25.sql
/ app / design – este locul de pachete de design (machete, template-uri, traduceri)
/ app / design / frontend – frontend design
/ app / design / adminhtml – HTML admin panel design
/ app / design / {area} / {package} / {theme} – personalizările tematice
/ app / design / {area} / {package} / {theme} / layout – Xml care definesc structura de bloc pentru diferite cazuri în fluxul de site-ul
/ app / design / {area} / {package} / {theme} / template – .phtml (html cu tag-uri de php)
/ app / design / {area} / {package} / {theme} / locale – Zend_Translate translator pentru personalizări și pentru pachete
/ app / locale – fișiere locale
/ app / locale / {locale (en_US)} – Zend_Translate compatible traducerea fișierelor de modul
/ skin / {area} / {package} / {theme} / – aici sunt pachetele de design și fișiere CSS
/ lib – aici regăsim librările Zend și Varien
/ js – aici se stochează javascript-urile
/ media – aici sunt ținute fișierele încărcate pe pagină
/ tests – unitate pentru teste
/ var – fișiere temporare
/ includes – conține config.php
Schema bloc al ablicației este următorul din Figura 2.4
Figura 2.4 Schema bloc al aplicației
Datorită faptului că este bazat pe module și pentru că folosim Zend framework, cu foarte mare ușurință se poate schimba interfața aplicației, și nu în ultimul rănd datorită faptului că folosim module, îl putem înbunătăți aplicația noastră cu extensii foarte utile, cum ar fii o secțiune de votare, sau recomandarea unoi produse noi, etc.
Din păcate nu are un suport nativ pentru limba romăna și trebuia să-mi traduc comenzile și alte funcții pe limba romănâ.
Prin PayPal API am implementat o metodă de plată, ca sa fie si mai ușoară plata comenzilor, fără numerar, utilizatorul își poate salva datele lui de PayPal în contul lui, la aceste date nici adminul nu are nici un fel de acces. M-am lovit de o problem că din păcate PayPal nu aceapta valuta Romanian New Lei.
III. Ghid de utilizare a aplicației realizate
III.1 Accesarea aplicației
Aplicația dezvoltată în această lucrare este dependent de XAMPP control panel în care trebuie să fie pornit serviciul Apache si MySQL, apoi trebuie să avem instalat și add-on-ul Magento pentru a se poate face import la aplicație.
După toate aceste unelte instalate, se poate trece la utilizarea propriu-zisă a aplicației prin accesarea url-ul ,,http://127.0.0.1/magento” și vom fii redirecționați direct la pagina principală a aplicației web de față, care va arăta în felul următor. Fig 3.1
Aplicația acum rulează pe un server local care are domeniul ,,http://127.0.0.1”
Figura 3.1 Interfața paginei principale
III.2 Utilizarea aplicației pe nivele de acces utilizator tip client
Am ajuns la pasul unde ne vom crea cu ușurință un cont de utilizator, doar apăsând pe butonul ,,Contul meu” sau ,,Log in” aceste butoane se găsesc în partea dreaptă a header-ului.
Fără cunoștințe de informatică își poate crea oricine cont de utilizator, vezi Figura 3.2.
Figura 3.2 Formular de înregistrare
După cum v-am menționat este foarte ușor și simplu de înregistrat / crearea unui cont de utilizator nou. Prima dată trebuie completate câmpurile cu Prenume, Nume, Adresă e-mail, Parola și Confirmarea parola, aceste câmpuri sunt obligatoriu de completat! La aceste câmpuri se face și verificarea în aceași timp ca să fie completate corect câmpurile, în caz contrar va fi anunțat cu mesaj de eroare că nu a fost completat corespunzător cererilor acest câmp.
Utilizatorul poate să navigheze pe pagină folosind meniul de sus care se află sub logo-ul pagini și își poate schimba tipul de afișare a produselor în mai multe moduri (Fig. 3.3a și Fig 3.3b):
în tip Tabel cănd produsele apar în format grilaj pe ecran și inplicit se afișează 6 produse dar daca dorește poate să seteze să apară 6, 12, 24 de produse într-o fereastră, apoi mai poate sa aleagă și ordonarea produselor după poziție, nume, preț
în tip Listă cănd produsele apar în format listă pe ecran și inplicit se afișează 3 produse dar dacă dorește poate să seteze să apară 3, 6, 9, 12, 15 de produse într-o fereastră, apoi mai poate sa aleagă și ordonarea produselor dupa poziție, nume, preț
Figura 3.3a Afișare tip Tabel
Figura 3.3b Afișare tip Listă
Unele produse pot fi comandate cu extra opțiuni sau în mai multe gusturi, extra opțiunile fiind contra cost, dar alegerea gustului preferat la unele produse se poate face gratis; din fiecare se pot face selectări multiple. Produsele din extra opțiuni au un cod unic pentru a le identifica și pe factură, ca să vadă clientul pe ce anume a dat mai mulți bani. (Fig. 3.4)
Figura 3.4 Produse cu opțiuni opționale
Utilizatorul poate recomanda oricare produs unui prieten sau chiar poate evalua produsul dorit!
După ce utilizatorul a pus în coșul de cumpărături produsele care dorește să le achite, automat se va găsi în coșul de cumpărături unde ca și răspuns îi apare un mesaj scris cu verde că produsele au fost adăugați cu succes în coșul de cumpărături și dacă dorește poate să continue compărăturile sau să finalizeze comanda.(Fig. 3.5)
Figura 3.5 Coșul de cumpărături
La finalizarea comenzii utilizatorul trebuie să treacă prin 5 etape, care sunt:
Informații de facturare – numele clientului este dat, mai avem nevoie de adresa lui de domiciliu și nr de telefon pentru a se putea lua legătura cu clientul pentru orice eventualitate
Adresa de livrare – adresa unde să fie livrată comanda, că aceasta poate diferi de adresa de domiciliu
Metoda de livrare – aici este clientul înștiințat, de taxa de livrare care este unic, indiferent de localitate sau valoarea comenzii, preț fix de 5,00 RON
Informații de plată – clientul este înștiințat că plata va face la domiciliu din cauza faptului ca nu a ales plata prin PayPal.
Detalii comanda – aici apar produsele și opțiunele alese la produse, prețul lor și cantitatea exactă din fiecare produs înparte, mai apare și valoarea totală a comenzii.
Doar după aceste etape își poate finaliza clientul comanda plasată (Fig. 3.6). După ce a finalizat comanda clientul își poate tipări din format .pdf factura detailată (Fig. 3.7) sau poate continua cumpărăturile.
Figura 3.6 Pași necesari pentru a deplasa comanda
Figura 3.7 Factură detailată electronică
În meniul ,,Contul meu” utilizatorii își pot gestiona informațiile care le privesc, contul de PayPal, datele lor personale, pot salva mai multe adrese de livrare și tot aici își gestionează etichetele adăugate la produs, evaluările lăsate, le mai pot accesa cu mai mare ușurință produsele salvate ca si favorite și nu în ultimul rănd aici pot să vizualizeze comenzile lor efectuate pănă acum în detaliu, într-un tabel (Fig. 3.8), care afișează informațiile principale a comenzii respective, tabelul conține următoarele câmpuri:
Comanda # – reprezintă numărul comenzii
Data – data exactă cănd a fost plasată comanda
Ship To – cui este livrat această comanda
Total comandă – valoarea totală a comenzii
Starea comenzii – aici vede comanda în care stagiul se desfășoară, stagiile sunt următoarele:
Finalizată
În așteptare
Se procesează
În curs de desfășurare
În dreapta ,,Starea comenzii” – utilizatorul are posibilitatea de a-și verifica comanda prin ,,Vezi comanda” și oricănd îl poate ,,Re-comanda”
Figura 3.8 Panoul de control al utilizatorului
III.3 Utilizarea aplicației pe nivele de acces utilizator tip admin
Calea către ,,Admin panel”, panou de admin este următorul url: ,,http://127.0.0.1/magento/admin” trebuie să ne autentificăm cu nume de utilizator si parola creată înca la instalarea add-on-ului Magento.(Fig 3.9)
Figura 3.9 Autentificare la panoul de admin
Dacă am reușit sa ne autentificăm ca și ,,Admin”, în mod implicit o să ne aflăm în pagina principală a panoului de admin, aceasta este meniul „Panou control”. În panoul de control primim multe informații din baza de date care ne sunt inportante, informațiile sunt aranjate în mai multe tabele (Fig 3.10), acestea sunt următoarele:
Vânzări totale – în tabelul acesta suntem informați cu suma totala a produselor vândute până acum
Medie comenzi – iar aici este afișat valoarea medie a comenzilor
Ultimele 5 comenzi –în tabelul acesta regăsim ultimele 5 comenzi și informații asupra comenzii, numele clientului care a comandat, câte articole conține comanda și ce valoare are comanda respectivă
Top 5 căutări – cuvintele cele mai căutate, câte rezultate avea căutarea si câți utilizatori au folosit acel cuvănt la căutare
Cele mai vândute articole
Cele mai vizualizate
Clienți noi
Clienți
Comenzi / Cantități
Figura 3.10 Panou control
În meniul de sus numit bara de navigare, avem mai multe opțiuni pe lângă ,,Panou de control”, aceste meniuri sunt următoarele: ,,Vânzări”, ,,Catalog”, ,,Mobil”, ,,Clienți”, ,,Promoții”, ,,Newsletter”, ,,CMS”, ,,Templates Master”, ,,Rapoarte”, ,,Sistem”, ,,Facebook Store”, ,,Background Image”, prin Figura 3.11 se poate vizualiza meniul din admin panel și submeniurile lor cu care gestionăm, edităm și prelucrăm toate informațiile.
Figura 3.11 Meniul și submeniurile panoului de administrator
III.3.1Submeniuri folosite de admin
Aceste submeniuri sunt următoarele și au următoarele proprietăți care vor fi menționate mai jos: ,,Panou de control”, ,,Vânzări”, ,,Catalog”, ,,Mobil”, ,,Clienți”, ,,Promoții”, ,,Newsletter”, ,,CMS”, ,,Templates Master”, ,,Rapoarte”, ,,Sistem”, ,,Facebook Store”, ,,Background Image”.
,,Panou de control” acest submeniu a fost prezentat deja, vezi la pagina 32.
,,Vânzări” , gestionăm comenzile efectuate de clienti, aici vom vizualiza sub câmpul ,,Comenzi” toate comenzile efectuate în ordinea de la cea mai nouă comandă spre cea mai veche, în fereastră avem un tabel în care ne apar comenzile cu datele despre ei, aceste date sunt:
Comanda – numărul comenzi
Cumpărat la – în ce dată a fost efectuat comanda respectivă
Nume – Numele clientului care a comandat
G.T. (baza) – general total (valoarea totală a facturii)
G.T. (achiziționat) – general total cât are total de plată
Stare – în ce stare se află comanda respectivă
Acțiune – aici o să modificăm în ce stare se află comanda
În următorul câmp numit ,,Confirmări” avem un tabel cu toate comenzile la care plata a fost confirmat până acum, apoi trecem la câmpul ,,Livrări” avem comenzile care au fost deja livrate către client. La câmpul ,,Stornări” sunt toate comenzile stornate până în prezent. Câmpurile rămase nu le vom folosi de exemplu pe câmpul ,,Transactions” din motivul că PayPal nu acceptă leu românesc și transfer bancar nu acceptăm.
,,Catalog” acest submeniu este cel mai important din punct de vedere administrativ, din motivul că aici avem câmpurile unde vom gestiona produsele noastre și în ce categorie se află acest produs. În câmpul ,,Gestionează produse” avem butonul ,,Adaugă produs” , ,,Resetează filtru” și ,,Caută”. Butoanele ,,Resetează filtru” și ,,Caută” vor fi folosite când avem o mulțime de produse și când aceste produse nu pot fi afișate pe o singură pagină. Produsele actuale sunt afișate într-o tabelă în care se află produsele noastre și informații despre produse în diferite câmpuri (Fig. 3.12), aceste câmpuri sunt:
ID – id-ul produsului în baza de date
Nume – denumirea produsului
Tip – ce tip de produs îi. (exemplu, produs simplu / virtual, etc.)
Nume set atribute – este default dar dacă dorim putem seta alte tipuri de atribute la produs în timp de adăugare a produselor
Cod produs – codul produsului care apare pe factura clientului
Preț – prețul produsului
Cantitate – câte bucăți avem în stoc din produsul respectiv
Vizibilitate – aici setăm unde este vizibil produsul, în catalog, la căutare sau doar în catalog
Stare – dacă produsul este disponibil pentru clienți atunci este activat, în caz contrar este dezactivat și atunci nu este vizibil de client
Acțiune – ne permite să modificăm produsul respectiv
La cămpul ,,Gestionează categoriile”, avem ..Add Root Category” și ,,Add Subcategory” în aplicația de față avem un ,,Root Category” numit ,,Meniu” și în acest ,,Root Category” avem mai multe ,,Subcategory” care sunt defapt tipurile de produse din ,,Meniu”, aceste subcategorii sunt ,,Meniu Zilei”, ,,Platouri”, ,,Ciorbe și mâncăruri gătite”, ,,Desert”, aici nu avem mult de editat, dar putem să selectăm ca să apare subcategoria în meniul de bară de navigare a paginii web, unde le poate vizualiza clientul produsele care sunt în această subcategorie.
Figura 3.12 Gestionarea produselor
,,Mobile” înca nu este dezvoltat dar acolo vom gestiona varianta mobilă a applicației web.
,,Clienți” avem 3 câmpuri, prin aceste 3 câmpuri putem gestiona, grupa clienți și a vizualiza care client este online. La gestionarea cliențiilor putem vizualiza comenzile clientului, ce păreri a scris despre produse, dacă a lăsat vreo etichetă la careva produs sau să adăugăm clienți noi.
,,Promoții” și ,,Newsletter” nu sunt activate, pentru că nu am setat nici un preț promoțional la produsele adăugate, dar se poate face acest lucru cu ușurință să fie folosite aceste submeniuri pe viitor.
,,CMS” avem paginile noastre, aici le putem edita sau crea pe alte noi. Tot în acest submeniu facem crearea, editarea paginilor care sunt în footer-ul paginii cum ar fi de exemplu, ,,Despre noi”, mai avem ,,Widgets” aceste sunt elemente inserate pe pagina noastră ca si un obiect al paginii cum ar fi un media player sau o galerie de imagini. Mai putem crea secție de vot, la butonul ,,Polls”.
,,Templates Master” ne permite să edităm module de temă (interfață) dar în aplicația de față acest câmp rămâne nefolosit. Nu avem nici un modul de design instalat, cum ar putea să fie interfața pentru telefoane mobile.
,,Rapoarte” în această secție, se face exportarea informațiilor despre, vânzări, coșuri de cumpărători, produse, clienții, etichete, păreri, termeni de căutare și se poate face și reînprospătarea statisticilor. Datele care au fost exportate sunt salvate în format de tip .CSV sau Excel XML, în caz contrar când facem import, putem să folosim aceste tipuri de fișier .CSV sau Excel XML.
,,Sistem” cel mai important submeniu, pe care îl folosim cel mai mult doar la începutul e-commerce-ului pentru a ne configura aplicația pe gustul nostru, de exemplu cum ar fi cache managment sau serviciile de log; avem unelte de import/export pentru anumite secțiuni. Avem posibilitatea de backup și restore. Backup-ul poate fi setat să pornească în mod automat la un anumit interval de timp. În timpul backup-ului pagina este pus în mod de mentenanță din motivul ca să poate salva fiecare fișier în mod sigur; deobicei dacă un fișier este în editare sau folosit și încercăm să salvăm poate să fie corrupt la deschidere. Tot în submeniul sistem, putem gestiona permisiunile tipurilor de utilizatori. Dacă cumva dorim să schimbăm tipul de valută care folosim se poate face cu ușurință la câmpul ,,Manage Currency”.
,,Facebook Store” partea asta de submeniu nu o folosim în aplicația de față din motivul că nu avem produse de vânzare pe Facebook, dar dacă pe viitor dorim să facem vânzări pe Facebook o să fie posibil.
,,Background Image” această secțiune ne permite ca să schimbăm poza de fundal la orice moment dat, fără de a schimba ceva în fișierul de design (CSS), deoarece nu mai avem nevoie de a intra în fișierul aplicației să copiăm poza de fundal în fișierul de design că prin acest câmp doar selectăm poza și va fi încărcată la locul lui.
Concluzii
În concluzie, piața de ,,e-commerce” este în continuă dezvoltare și în același timp apar și metode noi de implementare, datorită faptului că limbajele de programare sunt mereu în dezvoltare și piața de ,,e-commerce” are o creștere zi de zi tot mai mare, dar și utilizatorii au cerințe tot mai ridicate.
Pentru a realiza aplicație de față trebuia să dezvolt mai bine cunoștințele mele de programator în mai multe limbaje de programare datorită faptului că o aplicație de genul ,,e-commerce” nu este ușor de realizat, dar este și complexă din punct de vedere al dezvoltatorului.
Am fost foarte motivat când mi-am ales tema ca să scriu o aplicație web ,,e-commerce” care este dedicată pentru un restaurant și catering din motivul că în țara noastră nu sunt multe ,,e-commerce”-uri care pe lângă prezentare să aibă si opțiune de a comanda acasă mâncarea dorită.
Pot să zic că sunt foarte bucuros ca am avut posibilitatea de a alege între tehnologii de programare și acesta este un avantaj mare, datorită faptului că nu mai suntem limitați de limbaje de programare, dar dezavantajul este că e foarte greu să ne decidem ce limbaje de programare dorim să folosim.
Unele avantaje ale tehnologiilor pe care le-am folosit precum CMS web design este că reprezintă o colecție de unelte ce conține template-uri HTML și CSS pentru formulare, butoane, tipografie, navigare dar și alte componente legate de interfață. Acest lucru a fost foarte util în aplicație reducând mult timpul de proiectare.
Cu MySQL am stocat multe imagini și text, această bază de date fiind denormalizată pentru a îmbunătăți performanțele.Desigur, aici avem și avantaje deoarece fiind o tehnologie cu bazele de date relaționare sunt mai mulți dezvoltatori software SQL.
Bibliografie
Bibliografie
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: Proiectarea Unei Aplicatii Privind Cumpararea Unor Mancaruri (ID: 150251)
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.
