Proiectarea Unei Aplicatii Web Pentru O Firma de Curierat

Cuprins

Capitolul I

Introducere

Tema aleasă de mine pentru proiectul de diplomă se numește: „ Proiectarea unei aplicații web pentru o firmă de curierat ”.

Ideea acestui proiect mi-a venit datorită faptului ce de ceva timp activez in cadrul unei firme de curierat și in tot acest timp am observat și operațiile care se desfășoară in spatele unei astfel de firme. Un alt motiv îl reprezintă faptul că, curieratul reprezintă o afacere de succes, dezvoltăndu-se pe zi ce trece datorită comodității oamenilor moderni.

Aplicația web permite vizitatorilor navigarea cu ușurință între pagini, astfel și un utilizator cu cunoștințe minime în domeniul calculoatoarelor să se poată descurca și să găsească ceea ce caută odată ce a accesat website-ul.

Pentru elaborarea acestui proiect am folosit următoarele tehnologii:

CSS- această tehnologie am folosit-o pentru designul paginilor web;

HTML- această tehnologie am utilizat-o pentru formatarea paginilor web (mărimea și familia fontului, culori, blocuri text, etc)

JavaScript- tehnologia aceasta am folosit-o pentru crearea de meniuri și alte efecte animate.

jQuery- aceasta tehnologie am utilizat-o pentru a manipula elementele CSS și pentru diferite efecte și animații.

Ajax- tehnica Ajax, mi-a permis construirea unei 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 eliminată.

Laravel- am ales sa folosesc acest limbaj de programare deoarece pe langă faptul că este ușor de instalat si folosit, acesta are acea doză de atractivitate care poate încânta ochiul tehnic al dezvoltatorului web.

Bootstrap 3- mi-a permis in mod foarte ușor să construiesc un web site responsiv. (Un web-site este responsive dacă are capacitatea să-si adapteze layout-urile paginilor în funcție de mediul de vizionare, mai precis de rezoluția ecranului- desktop, tabletă, laptop, telefon, fără a suferi degradări majore, pentru a le oferi utilizatorilor o experiența excelentă de navigare.)

MySQL- l-am utilizat la creearea bazei de date, iar toate datele create cu ajutorul MySQL se pot vizualiza folosind codul PHP.

Această lucrare are ca scop prezentarea pașilor înființării și administrării unei aplicații web pentru o firmă de curierat, punând în aplicare tehnologiile învățate în cei 4 ani de facultate.

Cât timp economia se dezvoltă, cererea pentru serviciile firmelor de curierat va fi in continuă creștere.

Adriana Banțu, PR manager al firmei de curierat DPD afirmă: "De serviciile de curierat beneficiază toate companiile, indiferent de sectorul în care activează. Creșterea concurenței în domeniu, duce la îmbunatațirea serviciilor, iar atâtă vreme cât serviciile oferite sunt de calitate superioara, orice investitie este foarte profitabilă".

Ca orice alt domeniu sau activitate și o firmă de curierat prezintă avantaje și dezavantaje, acestea fiind enumerate mai jos:

Avantaje:

Comoditatea- în condițiile actuale, indivizii suferă de lipsa timpului liber din ce în ce mai mult

Timp de livrare- relativ scurt la achiziționarea unui obiect cumpărat de la o anumită distantă

Diversitate- concurența dintre firmele de curierat fiind mare, acestea oferă avantajul clienților de a alege firma cu care vrea sa coopereze

Inexistența granitelor între regiuni- clientul poate comanda din orice colt al țării sau lumii, iar obiectul îi va fi livrat acasă

Dezavantaje:

Greșelile curierilor- spargerea conținutului din colete, livrări târzii, pachete murdare etc.

Plata transportului- transportul costă undeva în jurul sumei de 20 lei

În continuare, lucrarea este structurată pe 3 capitole, după cum urmează:

În capitolul doi – „Tehnologii utilizate” – În acest capitol am făcut o prezentare teoretică a tehnologiilor pe care le-am folosit in construirea aplicație web.

Acestea sunt: CSS3, HTML, JavaScript, JQuery, Ajax, Laravel 4, Bootstrap 3, MySQL.

În capitolul trei – „ Proiectarea și implementarea aplicației web”- Am prezentat structura paginilor accesibile vizitatorilor, am arătat modul în care se administrează aplicația web, baza de date cu tabelele aferente.

Tot în capitolul trei am prezentat aplicația web si cele două module:

Modulul pentru vizitatori

Modulul pentru administrator

În ultimul capitol, patru- „ Concluzii ” – În acest ultim capitol am prezentat ceea ce mi-am propus pentru elaborarea acestui proiect de diploma și modul in care doresc să dezvolt pe viitor această aplicație.

Capitolul II

Tehnologii utilizate

II.1 CSS (Cascading Style Sheets)

CSS (Cascading Style Sheets) este un standard pentru formatarea elementelor unui document HTML. CSS se poate utiliza și pentru formatarea anumitor elemente, cum ar fi  XHTML, XML și SVGL.

Împreuna cu HTML și JavaScript,CSS este o tehnologie fundamentală folosită de cele mai multe ori pentru crearea paginilor Web sau a interfețelor utilizator pentru aplicații web sau aplicații mobile.

CSS este folosit pentru a permite separarea conținutului documentului de prezentare de documentul de formatare a aspectului,culorilor sau fonturilor.Această separare poate imbunătăți accesibilitatea conținutului și oferă mai multă flexibilitate și un mai mare control în specificarea caracteristicilor. CSS face posibilă separarea instrucțiunii de prezentare de conținutul documentului HTML printr-un fișier separat cu extensia .css.

Exista 3 versiuni standardizate de CSS :

Versiunea 1 este cea care permite atașarea în paginile web a stilurilor pentru proprietăți : culoarea, spațierea, margini, fundaluri.

Versiunea 2 aduce anumite îmbunătățiri ale stilurilor, pozționării dar și noi efecte vizuale plus integrarea tipurilor media.

Versiunea 3 aduce pe lângă alte îmbunătățiri aduse versiunii 2 și animații și tranziții similare cu cele din Microsoft PowerPoint

Cascada Style Sheets are o sintaxă simplă si folosește o serie de cuvinte cheie in limba engleză pentru a specifica numele diferitelor proprietăți de stil.

Avantaje:

Se reduce substanțial timpul petrecut în utilizarea unui site web.

Se reduce și cantitatea de spațiu ocupată de un site web pe hard disc, dar și lățimea de bandă necesară pentru a transmite site-ul web către browser.

Poate fi scris și independent față de fișierul HTML, așadar un site poate fi gestionat prin centralizarea mai multor fișiere css în unul singur.

Permite optimizarea continuțului unui site, pentru utilizarea pe mai multe dipozitive diferite : telefoane mobile, laptopuri, calculatoare.

În CSS există trei tipuri de obiecte : selector, clasa și identificator.

Elementele CSS pe care le-am utilizat pentru aranjarea ordonată a paginii: width(cu ajutorul căreia se determină lungimea elementelor HTML), height (care determină lățimea elementelor HTML), padding(care folosește spațiile albe pentru a reda un spațiu gol între diverse elemente ale documentului), margin-top, left, right, acestea fiind utilizate împreună cu dimensiunile în pixeli și au ajutat la poziționarea corectă a elementelor în pagină.

În aplicația web pe care am realizat-o am utilizat CSS3 deoarece acesta include stiluri dinamice și animații pe care am reușit să le fac funcționale în browser. Acest lucru mi-a ușurat munca, folosind proprietățile respective la mai multe fișiere HTML/PHP.

CSS3 reprezintă un upgrade ce aduce câteva atribute noi și ajută la dezvoltarea noilor concepte în webdesign.

Unele dintre cele mai importante segmente (module) noi adăugate acestui standard pentru formatarea elementelor HTML aduc un plus considerabil în dezvoltarea activității webdesign: – Selectors, Box Model, Backgrounds and Borders, Image Values and Replaced Content, Text Effects, 2D/3D Transformations, Animations, Multiple Column Layout,User Interface

II.2 HTML

Hyper Text Markup Language sau prescurtat HTML este un limbaj de marcare pentru hypertext . Limbajul de marcare este un tip de formatare a unui text de pe o pagina web .O asemănare a mai multor limbaje de marcare este îmbinarea textului cu etichetele de marcare (în engleză tag-uri) în cadrul aceluiași fișier.

Fiecare document HTML are în structura sa trei elemente principale. Primul este cel care deschide un document: tag-ul <HTML>, se inchide la sfârșitul documentului </HTML>, așadar acest tag cuprinde tot documentul. Celelalte 2 elemente sunt defapt sub-elemente deoarece ele sunt incluse în primul tag prezentat mai sus.

Primul sub-element este <HEAD> și marchează partea de antet a paginii. Al doilea sub-element este <Body> în care este încadrat întreg conținutul paginii. Tag-urile de închidere corespunzătoare pentru aceste 2 sub-elemente sunt </HEAD> și </BODY>. Tag-ul <TITLE> afișează titlul documentului si va fi afișat în bara de titlu a navigatorului. Acest tag este folosit mereu în interiorul tagului <HEAD>. Atunci când acest tag lipsește, în locul lui în bara de titlu va apărea numele fișierului. Într-un document html tag-urile se închid întotdeauna astfel: <TAG1><TAG2>…<TAGx> conținut </TAGx>…</TAG2></TAG1>.

Un navigator sau un browser de Internet citește numai fișiere de tipul HTML (fișiere cu extensia .html sau .htm). Pentru crearea, editarea sau formatarea unei pagini de internet este nevoie de orice program de editare text, cel mai la îndemână fiind Notepad-ul care este editorul de text oferit de baza oferit de către Windows. Documentul HTML este alcătuit din mai multe blocuri de informație. Aceste blocuri pot fi singulare sau incluse unul în altul.

În construcția aplicației WEB am folosit numeroase elemente HTML cu scopul realizării unei interfețe prezentabile. Aceste elemente au fost pentru editarea și structurarea formei, mărimii și culorilor de text. Paragrafele au fost implementate utilizând eticheta <p> iar pentru a se trece la un rând nou am utilizat tag-ul <br>.

Navigarea între pagini este posibilă prin utilizarea etichetei <a href=”nume_pagină.php”>, unde “a” crează hyperlink-ul, și “href” setează URL-ului legăturii respective (atât pentru HTML, cât și pentru PHP).

Realizarea tabelelor si a formularelor au fost adaugate cu ajutorul etichetelor <table> si <form>. Cele două elemente sunt obligatorii deoarece unele date apelate din baza de date sunt afișate în tabele la fel și formularele de înregistrare sau autentificare.

În aplicația web pe care am realizat-o am utilizat tehnologia HTML5 deoarece acesta este de viitor si este suportat de toate browser-ele noi și în plus față de asta se încarcă mult mai repede. În comparație cu HTML standard HTML5 poate conține text animat dar și imagini cu efecte special, fiind posibilă instalarea anumitor plugin-uri.

II.3 JavaScript (JS)

JavaScript (JS) este un limbaj de programare orientat pe obiect care e bazat pe conceptul prototipurilor. Acesta este folosit pentru a introduce anumite 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. JavaScript a fost dezvoltat inițial de către Brendan Eich de la Netscape Communications Corporation sub numele de Mocha, iar mai apoi de LiveScript, și denumit în final JavaScript.

Cea mai des întâlnită utilizare a limbajului JavaScript este în scriptarea paginilor web. Programatorii pot îngloba în paginile HTML script-uri pentru diverse activități cum ar fi verificarea datelor introduse de utilizatori, crearea de meniuri sau diferite animații.

JavaScript este limbajul preferat al creatorilor de site-uri Web pentru că:

este un limbaj ușor de învățat;

sunt suficiente câteva linii de cod pentru a mări gradul de interactivitate al paginilor Web;

este un limbaj care poate fi interpretat de browser-e;

programele JavaScript pot fi incluse direct în documentele (X)HTML.

Limbajul poate servi la:

generarea paginilor Web personalizate și modificarea dinamică a prezentării lor;

realizarea calculelor matematice;

comunicarea cu applet-urile Java;

crearea unor butoane animate;

executarea funcțiilor clasice ale unui limbaj de programare;

Limbajul JavaScript un poate:

citi, scrie, crea și șterge fișiere de pe hard disc,

executa operații în rețea și

crea aplicații autonome.

Pentru crea aplicații autonome, va trebui să se utilizeze unul din limbajele clasice: Java, C sau C++.

Obiect

În JavaScript, window este un obiect, window este o fereastră a navigatorului, de asemenea fiecare element al unui document (X)HTML este la rândul lui un obiect ca de exemplu: paragrafe, formulare, tablouri, imagini, link-uri.

În JavaScript există trei tipuri de obiecte:

obiecte interne furnizate de limbajul JavaScript

obiecte personalizate, create de utilizator în funcție de cerințele script-urilor

obiectele navigatorului: sunt exterioare limbajului dar sunt recunoscute de browser-e.

Proprietate

O proprietate descrie un obiect. În JavaScript height este o proprietate a obiectului window. Aceasta poate fi de asemenea un obiect care la rândul lui dispune de proprietăți. De exemplu, farurile sunt proprietăți ale obiectului mașină. Dar ele sunt de asemenea obiecte care pot avea diverse proprietăți: formă, culoare, putere.

Metodă

O metodă este o funcție care definește un anumit comportament caracteristic al unui obiect, respectiv metodele disponibile pentru fiecare obiect descriu ceea ce puteți face cu acesta. Metoda deschidere a obiectului mașina are ca funcție deschiderea ușilor.

Instrucțiune

O instrucțiune produce o acțiune (afișarea unui text, modificarea proprietății unui obiect, atribuirea unei variabile a unui nou conținut). Instrucțiunile combină obiecte, proprietăți și metode (substantive, adjective și verbe).

Funcție

O funcție este un grup de instrucțiuni tratate ca o singură entitate, sau un obiect care conține cod executabil. Acestea pot fi comparate cu „electronii liberi” care pot fi reutilizați în orice circumstanță.

Evenimente

Un eveniment JavaScript este o acțiune care se produce în raport cu un element (fereastră, document, un buton).

Cele mai frecvente evenimente JavaScript:

utilizatorul încarcă o pagină Web în browser;

utilizatorul oprește încărcarea paginii Web în browser;

utilizatorul a introdus sau a modificat conținutul unui câmp de text al unui formular;

utilizatorul a executat clic pe o imagine sau pe un buton;

utilizatorul a expediat conținutul unui formular sau l-a reinițializat.

Gestionarii de evenimente

În general, un gestionar de evenimente ia forma unei funcții JavaScript pe care o crează special pentru a prelucra un anume tip de eveniment, dar el poate fi totodată o instrucțiune sau mai multe instrucțiuni JavaScript, care sunt integrate în codul (X)HTML de definire al evenimentului.

Variabile

Variabilele reprezintă un element fundamental al limbajului JavaScript. Ele pot conține: un număr, un șir de caractere sau un obiect. Fiecare variabilă poartă un nume care respectă anumite reguli de sintaxă.

II.4 JQUERY

jQuery este o platforma de dezvoltare JavaScript care ofera webmasterilor oportunitatea de a usura anumite procese ce pot implica managementul inter-browser al evenimentelor, traversarea arborelui DOM in HTML, animatii de tip AJAX, si altele.

De regulă, această platformă este utilizată indeosebi pentru a rezolva anumite probleme ce țin de programarea web, astfel incat diferite task-uri (sarcini) dinamice care nu pot fi realizate prin intermediul unui limbaj de marcare – spre exemplu, HTML.
În momentul de față, JQ este disponibil și accesibil în fiecare web browser, fiind create într-o maniera cât mai simplă cu putință în comparție cu JavaScript.

Beneficiile in vederea folosirii acestei platforme de dezvoltare constau în faptul că se folosește o sintaxă simplă, curată și eficientă.

Datorită faptului că folosește o sintaxă simplă, această platformă permite selectarea elementelor DOM din pagina modificată într-o manieră ușoară, astfel încât rezultatul să ducă la coduri foarte eficiente. Înlocuirea unor duzini de coduri JavaScript cu un singur cod jQuery este, de altfel, foarte comună, îndeosebi datorită faptului că această platformă utilizează versiunea 3 a CSS (Cascading Style Sheet) pentru selectarea elementelor DOM. Cu alte cuvinte, nu sunt necesare alte cunostințe pentru utilizarea acestei plaforme, ceea ce o face mult mai accesibilă celor ce doresc mai multe funcții adăugate website-ului lor.

Extensibilitatea

Asa-numita “bibliotecă” jQ este pastrată cât mai puțin vastă în momentul acesta, astfel încât elementele care nu sunt esențiale să fie ținute la distanță. De altfel, această platformă de dezvoltare are o arhitectură de tip plugin (din englezescul, “plugin framework”) ce poate permite extinderea într-o manieră foarte simplă și lipsită de probleme. Datorită faptului că există atât plugin-uri oficiale, cât și plugin-uri create de alte companii sau dezvoltatori (developers), paginile ce integrează coduri bazate pe această platformă sunt capabile să descarce doar setul specific de funcții care este absolut necesar rulării corecte a codurilor.

Un avantaj cheie al acestei platforme este vizibilitatea sa în cadrul motoarelor de căutare. În comparație cu Adobe Flash, această platformă implică utilizarea unor coduri sub formă de text, ceea ce o face foarte ușor de indexat, evidențiind cuvintele cheie (keywords-urile) care sunt esențiale pentru un page rank mai bun.

Întrucât JQ este extrem de folosit în toată lumea, există o multitudine de plugin-uri și alte resurse disponibile celor ce doresc să implementeze soluții eficiente pentru rularea codurilor și transformarea lor în rezultate palpabile. Există multe website-uri și cărți care oferă informații privind această platformă de dezvoltare JavaScript. În plus, răspândirea jQuery în toată lumea a dus la dezvoltarea unor noi plugin-uri care pot efectua un număr impresionant de sarcini.

Astfel, folosirea JavaScript nu va mai fi totdeauna de o necesitate absolută, iar webmasterii care nu posedă cunoștințe sau abilități de programare web vor izbuti să ajungă la rezultatele dorite mult mai ușor.

II.5 Ajax

Ajax este o tehnică de programare pentru crearea de aplicații web interactive. Intenția este să facă paginile web să devină mai rapide și deci mai acceptate, prin schimbul în fundal al unor cantități mici de date cu serverul, astfel încât să nu fie nevoie ca pagina să fie reîncărcată la fiecare acțiune a utilizatorului. Aceasta are ca scop creșterea interactivității, vitezei și ușurinței în utilizare a aplicațiilor web.

AJAX-ul folosește următoarele standarde web:

XML (e folosit pentru a transfera datele între server și client, nefiind însă singurul mod de a a realiza acest lucru),

DOM (pentru manipularea și accesarea codului ),

JavaScript (pentru răspunderea la eveniemnte și interațiunea cu browser-ul),

CSS

HTML

Standardele web folosite în AJAX sunt bine definite și sunt suportate de majoritatea browser-elor. Un mare atu al aplicațiilor AJAX este faptul că nu sunt dependente de platformă sau de browser.

II.6 Laravel

Laravel este un limbaj de programare Open Source, care se aseamană cu PHP, dar care câștigă prin simplitatea și facilitatea interfaței prezentate, un număr mare de programatori.

Am ales sa folosesc acest limbaj de programare in construirea aplicației web, deoarece pe langă faptul că este ușor de instalat si folosit, acesta are acea doză de atractivitate care poate încânta ochiul tehnic al dezvoltatorului web, care își dorește să creeze layout-uri aspectuoase, fără cunoștințe avansate de web design sau design de produs.

În continuare sunt prezentate avantajele folosirii framework-ului Laravel:

-Laravel rezolvă cele mai întâlnite probleme ale dezvoltatorilor: aceea a livrării rapide a unui produs validat și bine cotat la nivelul pieței. Forarte importantă este și dezvoltarea unui produs care să exprime profesionalism, seriozitate sau care să convingă consumatorii să treacă si la etapa achiziției.

-Framework-ul Laravel scoate la iveală un alt set de algoritmi, departe de a fi plictisitori, lăsând libertate programatorului în vederea concentrării asupra arhitecturii unei aplicații, nu scrierea propriu-zisă a liniilor de cod. Totodată, modificarea ulterioară pe care un programator Laravel o face pe un segment de cod sau într-o funcție nu afectează alte module ale aplicației, fapt ce oferă un plus de siguranță și de relaxare.

-Laravel a introdus proceduri logice și intuitive, ce vizează denumirea dată fișierelor salvate, claselor sau bazelor de date apelate. Prin alegerea funcționalității Smart Defaults, Laravel permite focusarea programatorului asupra bunei funcționări a aplicației, precum și pe dezvoltarea rapidă și corectă (fără erori) a structurii de cod.

-Laravel promovează DRY (Don’t-Repeat-Yourself), un principiu prin care o funcționalitate este scrisă pentru o singură dată și fără eventuale erori. Totodată, Laravel oferă un mediu tehnic prielnic împărtășirii facile a liniilor de cod între modulele unui program.

Aceste avantaje ale folosirii Laravel sunt susținute de unul dintre cele mai recente trenduri din domeniul IT, ce recunosc viitorul industriei online prin tot ceea ce înseamnă FIA (Future Internet Architecture program).

II.7 Bootstrap 3

Partea de design a web site-ului am realizat-o cu ajutorul framework-ului Bootstrap 3, deoarece acesta mi-a permis in mod foarte ușor să construiesc un web site responsiv, unul care se adapteaza la orice rezoluție de dispozitiv: desktop, tablete si telefoane mobile.

Un alt motiv este faptul că in momentul de fată este cel mai utilizat framework pentru dezvoltarea interfețelor web, devenind foarte rapid standardul în crearea template-urilor pentru principalele sisteme CMS cum sunt WordPress si Joomla.

Framework-urile de tip Bootstrap se folosesc de către acei web-designeri și dezvoltatori care cunosc bine sau foarte bine măcar limbajul HTML și CSS și au nevoie de o bază solidă pentru inceperea construirii proiectului.

Boostrap este un instrument utilizat pentru a gestiona cât mai bine faza inițială a unui proiect deoarece putem conta pe o serie de componente care pot fi reutilizate și personalizate oferindu-ne o bază solidă de pornire a proiectelor noastre pentru a nu fi nevoiti sa incepem de la zero.

Acestă funcție este sugerată și de numele framework-ului, termenul “bootstrap” însumând procesele necesare pentru pornirea computerelor la fel cum framework-ul Bootstrap ne pune la dispoziție instrumentele pentru pornirea proiectului nostru web.

II.8 MySQL

MySQL este un sistem de gestiune a bazelor de date relaționale, care este produs de compania suedeza MySQL AB și distribuit sub Licența Publică Generală GNU. Acesta este cel mai popular SGBD open-source la ora actuală, fiind o componentă cheie a stiveiLAMP (Linux, Apache, MySQL, PHP). Acest sistem de gestiune este folosit foarte des împreună cu limbajul de programare PHP

Am utilizat această tehnologie pentru creearea bazei de date.

Utilizarea bazelor de date folosind PHP:

Conectarea la serverul MySQL- Pentru a utiliza o bază de date MySQL, este nevoie de o conexiune la serverul de baze de date. Această conexiune este fi utilizată ca punct de acces pentru comenzi mysql. Conectarea la serverul MySQL se face utilizând funcția mysql_connect(), a cărei sintaxă este următoarea:

mysql_connect(nume_gazdă, nume_utilizator, parola), unde:

"nume_gazdă" este numele gazdei, serverul pe care ruleaza serviciul MySQL,

"nume_utilizator" este numele utilizatorului care se conectează la serverul MySQL

"parola" este parola MySQL asociată utilizatorului.

In cazul in care serverul MySQL rulează pe un PC personal, parametrul "nume gazdă" este in general "localhost". In alte cazuri, dacă serverul MySQL rulează pe un alt PC, trebuie specificată adresa computerului pe care ruleaza serverul MySQL.

Funcția returnează FALSE în caz de esec; în caz contrar, returnează o valoare denumită identificator de legatură, care serveste ca instrument de manipulare pentru accesul la serverul MySQL.

Incheierea conexiunii la serverul MySQL- Pentru terminarea unei conexiuni la serverul MySQL se folosește instrucțiunea: mysql_close();. Această funcție închide conexiunea curentă. Aceasta returnează TRUE în caz de reusită, iar în caz contrar, returnează FALSE.

Detectarea aparitiei erorilor- Biblioteca MySQL din PHP furnizează două funcții de verificare a erorilor: mysql_errno() si mysql_error(). Funcția mysql_errno() returnează un cod numeric de eroare, iar funcția mysql_error() returnează un șir care descrie eroarea. Dacă nu s-a produs nici o eroare, codul numeric al erorii este zero si descrierea are ca valoare un șir vid.

Eliminarea mesajelor de eroare si a avertismentelor nedorite- PHP furnizează funcția error_reporting(), care permite eliminarea mesajelor nedorite. Aceasta are următoarea formă:

error_reporting(mask), unde "mask" specifică tipul mesajelor care vor fi raportate. Dacă se specifică zero ca valoare a atributului "mask" (error_reporting(0)), nu va fi raportat nici un mesaj, iar dacă se specifică "E_ALL" in loc de "mask" (error_reporting(E_ALL)), vor fi raportate toate mesajele, sau o altă metodă pentru oprirea mesajelor de eroare, este adaugarea @ inaintea funcției.

Crearea si selectarea unei baze de date- În mysql pentru a crea o noua bază de date se folosește comanda SQL "CREATE DATABASE numeBazaDeDate;", care se poate lansa de la o consolă MySQL, sau se poate apela de la un script PHP prin intermediul funcției mysql_query().

Crearea tabelelor- Pentru a crea tabele in mysql se folosește limbajul SQL CREATE TABLE numeTabel (coloana1, coloana2, …); impreuna cu funcția mysql_query().

Adaugarea de date in table- Dupa ce tabelul ea fost creat, in baza de date MySQL se poate adăuga date in el, folosind funcția mysql_query("interogare") unde "interogare" este comanda următoare:

INSERT INTO `nume_tabel` (coloana1, coloana2, …) VALUES ('date1', 'date2', …)

– unde `nume_tabel` este numele tabelului in care se adaugă datele

– "coloana1, coloana2, …" sunt numele coloanelor in care se dorește adăugarea datelor

– "date1, date2, …" sunt datele care vor fi adăugate, ținându-se cont de ordinea si numărul lor cu cea a coloanelor.

Capitolul III

Proiectarea și implementarea aplicației web

III.1 Structura paginilor accesibile vizitatorilor

Aplicația web creată de mine este concepută pe platform Laravel 4, iar partea de design (front-end) este facuta cu Bootstrap 3 și se adreseaza tuturor celor care au de primit sau doresc sa trimita unul sau mai multe colete, sau celor care doresc doar sa se informeze asupra modului de functionare al unei firme de curierat. Scopul principal al website-ului este acela de a informa potențialii client asupra modului in care firma de curierat isi desfașoara activitatea.

Odată accesat, site-ul oferă posibilitatea verificării locației coletului in acel moment, prin simpla introducere a unui cod AWB, primit in momentul in care coletul/plicul a fost predat firmei de curierat.

Totodata, prin simpla accesare a primei pagini a site-ului web, vizitatorul afla detalii despre acoperirea livrarilor sau detalii despre timpul de livrare.

După cum se poate observa în figura 1. și în cele ce urmează, un utilizator care accesează pagina web are acces în următoarele secțiuni:

Servicii

Prețuri

Contact

Figura1. Structura paginilor accesibile vizitatorilor website-ului

Doar administratorul are acces la pagina de Login. Odată accesată, pentru logare, administratorul dispune de o parola din 3 cifre, pe care o folosește pentru a se autentifica. Acesta poate adăuga colete, citi mesaje sau să șteargă colete. Toate acestea sunt moderate doar de către administrator care are dreptul sa adauge coletele pe site sau sa le șteargă.

După logare structura meniului arata atfel:

Figura 2. Structura meniului după logare

III.2 Administrarea aplicației web

Administrarea este un aspect foarte important pentru o aplicație web. Cu toate că această aplicație este concepută în principal pentru prezentare și informare, partea de administrare este benefică deoarece o aplicație web actualizată poate convinge vizitatorii și să le confere încredere.

Un alt motiv care încurajează administrarea este acela că internetul este un mediu în permanentă schimbare. Astfel pentru a menține vizitatorii interesați este nevoie de actualizarea textului, fotografiilor și a ofertelor. Acest lucru se poate realiza și în aplicația mea însă doar prin modificarea sau adăugarea în baza de date și în codul sursă.

În cadrul aplicației Dacar Curier, administrarea prevede posibilitatea unui utilizator cu alt nivel de acces față de utilizatorii obișnuiți să recepționeze și să vizualizeze coletele/plicurile venite de la utilizatori către firma de curierat. Această persoană cu alt nivel de acces poate fi administratorul firmei de curierat.

Astfel odată ce un client realizează o cerere pentru expedierea unui colet în aplicația web, administratorul poate să gestioneze acel colet/plic, poate sa adauge colete/plicuri in baza de date a site-ului, iar apoi poate oferii clientului un cod AWB pentru ca mai tarziu acesta să poată vizualiza traseul coletului/plicului său. De asemenea, după soluționarea preluarii coletului de la client, administratorul are dreptul de a șterge coletele din baza de date.

III.3 Baza de date

Baza de date a site-ului web a fost creată cu ajutorul mysql. Ea conține cinci tabele și poartă numele dacar, aceasta fiind ilustrată în figura 3.

Figura 3. Baza de date a aplicației web

Structura tabelelor și legăturile dintre acestea se pot urmării în figura următoare. Astfel în figura 4, pot fi observate cele cinci tabele ale bazei de date precum și câmpurile acestora.

Figura 4. Structura tabelelor și legăturile dintre acestea

Tabelul persoane, reprezintă clienții și toate informațiile acestora. Informații fără de care firma de curierat nu ar putea funcționa. Aceasta poate fi vizualizată în figura 5.

Figura 5. Tabelul persoane a bazei de date

Tabelul colete, conține informații despre colete, și e in legatura și cu tabelul persoane, pentru că fiecărui colet îi aparține un expeditor și un destinatar, care sunt dintre acele persoane.

Tabelul colete conține de asemenea câmpurile awb, greutate, mărime, valoare, ramburs și conținut, deoarece pentru a putea trimite un colet sau mai multe este obligatoriu ca firma de curierat să posede aceste date despre coletul preluat.

Figura 6 ilustrează tabelul colete a bazei de date.

Figura 6. Tabelul colete a bazei de date

Tabela mesaje conține mesajele primite de la clienți, reclamații (dacă este cazul) sau mesaje de la vizitatorii simpli. În figura 7 este prezentat tabelul mesaje.

Figura 7. Tabela mesaje a bazei de date.

Tabela stare, este un tabel ce stochează stările unui colet:-livrat

-refuzat

Această tabelă este in legatură cu tabela colete. În figura 8 este prezentat tabelul stare.

Figura 8. Tabela stare a bazei de date

Tabelul users, conține userul și parola administratorilor de site, având ca scop autentificarea pe pagina login. În figura 9 este prezentat tabelul users al bazei de date.

Figura 9. Tabelul users al bazei de date

III.4 Prezentarea aplicației web

Această aplicație a fost concepută în principal pentru informare, pentru a prezenta vizitatorilor modul in care firma Dacar Curier isi desfășoara activitatea, transparența livrării coletelor/plicurilor si totodata a prețurilor .

Vizitatorii site-ului au parte de informatii legate de firma de curiaret, toate adunate in aceasta aplicatie. Ei pot afla de pe aceasta aplicatie de acoperirea pe care o are firma in vederea livrării coletelor/plicurilor, timpul de livrare si prețul prestat. Aceastea sunt principalele 3 aspecte care fac diferența in curierat.

Aplicația web vine ca o completare la nevoile oamenilor. Datorita dezvoltarii internetului, site-urile web au devenit unele dintre cele mai importante mijloace de informare ale secolului curent. Acest lucru a incurajat si vanzarile online care pur si simplu au explodat in ultima vreme.

III.5 Modulul pentru vizitatori

Aplicația web permite vizitatorilor navigarea cu ușurință între pagini, astfel și un utilizator cu cunoștințe minime în domeniul calculoatoarelor să se poată descurca și să găsească ceea ce caută odată ce a accesat website-ul.

Figura 10. – Prima pagină a aplicației web

Ca background am ales o culoare neutra, respectiv albul, pentru ca atenția sa fie focusată asupra detaliilor site-ului si a nu pune in dificultate vizitatorul in vederea obținerii informațiilor necesare.

În partea de sus a paginii se află meniul cu legăturile spre paginile de interes pentru orice viitor vizitator si potential client. Mai jos se prezintă secvența de cod care face posibilă afișarea meniului principal, precum și figura 3. care ne prezintă acest meniu.

Figura 11. – Meniul principal al aplicației web

Ca simplu vizitator al site-ului, oricine are acces la secțiunile meniului din header, care deschid paginile cu informațiile necesare pentru a lua legatura cu firma de curierat.

Home page-ul prezinta modul in care firma isi desfășară activitatea, urmând ca in urmatoarele randuri sa fie detailate mai in amănunt pentru potentialii clienti, toate caracteristicile firmei Dacar curier.

Site-ul web are in structura sa pagini statice și pagini dinamice. Paginile statice conțin urmatoarele elemente:

Informații de tip text;

Imagini;

Etichete;

Informațiile de tip text sunt introduse de către administrator direct pe pagina web care necesită un timp mai indelungat de editare in funcție de volum informației introduse.

Paginile dinamice sunt formate din urmatoarele elemente:

Informații de tip text;

Imagini;

Etichete;

Paginile dinamice deși conțin același tip de informații prezintă avantajul ca iși extrag anumite date din alte aplicații utilizând anumite funcții din PHP.

Paginile aplicatiei mele sunt de tip static dar si de tip dinamic. Paginile statice ale acestei aplicatii sunt paginile: servicii, prețuri și contact. Acestea sunt statice nu se schimba atat de des.

Figura 12. – Pagina Servicii a aplicației

Pagina SERVICII, ne informează asupra serviciilor prestate de firma de curierat, dar și de caracteristicile pe care coletele pe care un client dorește să le trimită trebuie să le aibă.

Figura 13. – Pagina Contact a aplicației

Pagina CONTACT, conține toate informatiile, pentru ca un potențial client să i-a legatura cât mai ușor cu firma de curierat. Pagina mai oferă și posibilitatea vizitatorilor de a trimite mesaje, totul pentru o mai bună colaborare între client și firma de curierat.

Pentru realizarea hărții google map am folosit un script de tipul javascript încărcat de pe adresa http://maps.google.com/maps/api/js?sensor=false.

Figura 14. Tarife

Figura 15. Abonamente

Pagina PREȚURI, ne arată prețurile pe care firma de curierat le percepe, dar și o metodă mai inovantă de plată și anume plata de tip abonament.

Paginile dinamice ale aplicației sunt acele pagini care iși extrag informațiile din baza de date cu ajutorul unor funcții PHP. Paginile dinamice ale aplicației sunt: pagina de start și pagina login, ultima fiind accesată doar de către administrator.

Pagina de start oferă posibilitatea clienților de a se informa asupra locației în care se află coletul/plicul în timp real. Acest lucru se face introducând codul AWB, cod primit în momentul în care coletul a fost predat unuia dintre angajații firmei de curierat.

Figura 16. Căsuță verificare AWB

III.6 Modulul pentru administratori

Partea de inregistrare a website-ului este destinată doar administratorului sau unui angajat al firmei de curierat care se ocupă de gestiune.

Pentru logare, administratorul dispune de un username și o parola din 3 cifre, pe care o folosește pentru a se autentifica. Acesta poate adăuga colete, citi mesaje, adăuga clienți noi sau să șteargă colete. Toate acestea sunt moderate doar de către administrator care are dreptul de a hotarî ce colete rămân pe site sau care vor fi șterse.

Figura 17. Pagina Login

Odată accesată pagina Login, administratorului îi sunt afișate in partea stânga sus a noi pagini, 3 meniuri:

Figura 18. Meniuri pagină Login

La accesarea meniului Clienți, administratorul i se oferă posibilitatea de a adăuga clienți noi, de a șterge clienții existenți sau de a modifica datele acestora.

Figura 19. Adaugă client nou

Odată intrat in meniul Colete, administratorul are posibilitatea de a adăuga colete, de a le sterge sau modifica.

La introducerea unui nou colet trebuie să se țina cont de următoarele caracteristici:

Nr Crt

Cod AWB

Greutate colet

Dimensiune colet

Conținut colet

Valoare colet

Ramburs

Expeditor

Destinatar

Dată preluare

Stare

Caracteristicile enumerate mai sus, sunt obligatorii pentru înregistrarea unui nou colet.

Figura 20. Tabelul colete a bazei de date

În meniul mesaje, administratorul poate vizualiza mesajele expediate de către clienți, sau reclamațiile acestora (dacă e cazul). Totodată, existența acestui meniu facilitează comunicarea dintre firmă și clienți

Figura 21. Meniul Mesaje

Capitolul IV

Concluzii

Realizând această aplicație am dorit să imi dovedesc cunoștințele dobândite in anii de facultate asupra tehnologiilor descrise în lucrare, dar mai ales să învăț mai multe despre acestea.

Aplicația este responsivă, compatibilă cu toate browserele populare. Una din cea mai importantă caracteristică a acestei aplicații este faptul că este ușor de folosit de către orice individ, indiferent de nivelul cunoștințelor sale in domeniul calculatoarelor.

Datorită faptului că este o aplicație simplă de utilizat dar în același timp utilă sporește și mai mult utilitatea aplicației web spre deosebire de altele.

Modul în care aplicația a fost structurată permite o eventuală extindere a funcționalității acesteia în viitor. De asemenea baza de date a fost implementată și concepută pentru a suporta aceste funcționalități în vederea unei dezvoltări ulterioare.

Extinderea avută în vedere ar fi implementarea plății costului transportului direct pe site, acest lucru ușurând munca curierilor, aceștia putându-și mări numărul de colete livrate pe zi.

Astfel că în condițiile în care aproape orice companie, chiar și cele foarte mici, apelează la serviciile curierilor, înființarea unor firme cu un asemenea profil constituie o afacere destul de bună.

BIBLIOGRAFIE

[1] http://webblog.bestwebimage.ro/2014/03/ce-inseamna-design-responsive/

[2] Business Standard Antreprenor- [26-12-2008]

[3] http://sideris.ro/blog/diverse/avantajele-si-dezavantajele-comenzilor-online/

[4] https://ro.wikipedia.org/wiki/Cascading_Style_Sheets

[5] Meyer, Eric A. (2006). Cascading Style Sheets: The Definitive Guide, Third Edition

[6] https://ro.wikipedia.org/wiki/HyperText_Markup_Language

[7] http://invatahtmlake.3x.ro/ceestehtml.html

[8] http://vechi.upg-ploiesti.ro/col/ldumitrascu/html/content.jsp-id=511.htm

[9] http://vechi.upg-ploiesti.ro/col/ldumitrascu/html/content.jsp-id=511.htm

[10] https://ro.wikipedia.org/wiki/JQuery

[11] Krill, Paul (31 august 2006). „JavaScript, .Net developers aided in separate project

[12] Taft, Darryl K. (30 august 2006). „jQuery Eases JavaScript, AJAX Development

[13] http://www.softlead.ro/noutati-it-c/laravel–the-php-framework-for-web-artisans.html

[14] http://dana-damoc.eu/blog/introducere-la-bootstrap-3/

[15] https://ro.wikipedia.org/wiki/MySQL

[16] http://www.marplo.net/php-mysql/mysql.html

[17] http://www.marplo.net/php-mysql/mysql.html

Similar Posts