Platforma E Commerce Pentru Managementul Unui Atelier Tamplarie Lemn

Introducere

Creșterea Internet-ului și a Web-ului au revoluționat nu numai rețelele de comunicare ci și proiectarea și dezvoltarea aplicațiilor. Programatorii au încapsulat bucăți din funcționalitățile afacerilor în componente și obiecte distincte, după care, le-au făcut servicii web independente care pot fi accesate utilizând protocoale și unelte bazate pe Internet.

1.1 Motivația temei

Lucrarea de față își propune proiectarea unei aplicații web pentru comercializarea de produse de tâmplărie și a unei aplicații pentru dispozitive mobile care permite utilizatorului să vizualizeze traseul până la un anumit client. Aplicațiile vor servi unui atelier de tâmplărie lemn și vor fi utilizate în practică de către personalul acestuia.

1.2 Concept aplicație web

Termenul de servicii web poate fi confundat deoarece este utilizat în moduri diferite. Serviciile web sunt componente logice de afaceri care pot fi conectate împreuna și care, pot schimba date pentru a îndeplini o sarcină utilă. Componentele, care pot fi interne sau externe, pot comunica utilizând protocoale bazate pe Internet cum ar fi: HyperText Transfer Protocol (HTTP).

Majoritatea serviciilor web utilizează limbajul Extensible Markup(XML) pentru a defini formatul cererilor și răspunsurilor mesajelor. XML poate fi utilizat pentru a defini modul de stocare al datelor într-o bază de date.

Standardul pentru trimiterea mesajelor serviciilor web este oferit de către Simple Object Acces Protocol (SOAP). În general, SOAP folosește HTTP, dar poate folosi și alte protocoale web standard.

În ultimul deceniu, milioane de afaceri au îmbrațișat web-ul ca pe un canal de comunicare și schimb de informații cu tranzacții și perspective cu clienții.

Din punct de vedere tehnic, web-ul este un mediu programat care permite o personalizare de masă. Două componente importante ale unui site web modern sunt browserele web (aplicații software care permit utilizatorilor să recupereze date și să interacționeze cu un conținut pe o pagină web ) și aplicațiile web (programe care permit vizitatorilor unui site web să recupereze date din/ în o bază de date utilizând browserele web favorite).

Aplicațiile web interoghează conținutul serverului și generează dinamic documente web care servesc clientului. Documentele sunt generate într-un format standard pentru a permite suport de la toate browserele (XHTML/ HTML).

Modul de funcționare al aplicațiilor web:

Figure 1. Modelul pe trei straturi al aplicațiilor web

Figura de mai sus prezintă cele trei straturi ale unui model de aplicație web. Primul strat este reprezentat de către un browser web sau de către interfața utilizatorului, următorul strat este instrumentul de generare al conținutului precum Java servlets sau Active Server Pages. Ultimul strat este conținutul bazei de date și datele clientului (utilizatorii și parolele, detalii ale cardului de credit).

O aplicație web este un sistem interactiv care îngăduie utilizatorilor săi să execute o logică de afaceri localizată pe un server și să vizualizeze rezultatul acestei logici prin intemediul unui browser web aflat pe stația de lucru a unui client.

1.3 Concept aplicație mobilă

Termenul de aplicație mobilă este folosit pentru a descrie aplicații Internet care rulează pe telefoane inteligente sau pe alte dispozitive mobile și care ajută la conectarea utilizatorilor la servicii de Internet .

Dezvoltarea de aplicații mobile este asemănătoare cu dezvoltarea aplicațiilor web, reprezentând un set de procese și proceduri implicate în scrierea de software pentru dispozitive fără fir de dimensiuni relativ mici cum ar fi tableta sau telefonul inteligent. Dezvoltarea de aplicații mobile își are rădăcinile în dezvoltarea software clasică iar o cale sigură de a asigura performanța optimă a unei aplicații pentru un anumit dispozitiv este de a dezvolta nativ aplicația pe dispozitivul respectiv (codul este scris special pentru procesorul dispozitivului).

Diferența dezvoltării aplicațiilor mobile față de dezvoltarea aplicațiilor web și desktop este dată în pricipal de către partea hardware a dispozitivului pe care va rula aplicația.

Sisteme mobile de operare:

Android

Java ME

Windows Mobile

Palm

iPhone

Symbian

BlackBerry

Ovi

LiMo

OpenMoko

Brew.

Tehnologii folosite pentru dezvoltarea aplicației web

PHP

Hypertext Preprocessor (PHP) este un limbaj de scriptare open source de uz general care este potrivit pentru dezvolarea aplicațiilor web și care poate fi încorporat în HTML.

Paginile PHP conțin HTML cu cod încorporat care executa „ceva”, în exemplul de mai jos observăm că va afișa următorul mesaj: „Hi, I'm a PHP script!”. Codul PHP este încadrat între instrucțiunile „<?php” și „?>” care permit trecerea din/ în modul PHP și este executat pe server, generând HTML care este trimis către client. Acest lucru diferențiază PHP-ul de un client-side JavaScript.

Principalul avantaj al utilizării PHP-ului este acela că este foarte simplu pentru începători, dar totodată, oferă o multitudine de caracteristici avansate programatorilor profesioniști.

Serverul web poate fi configurat astfel încât sa poată procesa toate fișierele HTML folosind PHP.

<html>
    <head>
        <title>Example</title>
    </head>
    <body>

        <?php
            echo "Hi, I'm a PHP script!";
        ?>

    </body>
</html>

Datorită faptului că PHP se concentrează în special pe partea de scriptare a serverului, poate realiza același lucru ca și un program CGI. CGI poate trimite/ primi cookies, colectează date, generează conținut în mod dinamic, PHP însă poate face aceste lucruri plus multe altele.

PHP lucrează ca un modul sau ca un procesor CGI, oferă suport pentru majoritatea serverelor web și poate fi folosit pe toate sistemele de operare importante, printre acestea numărându-se și multe variante Unix (HP-UX, OpenBSD, Solaris), Mac OS X, Linux, etc..

PHP oferă posibilitatea de a alege un server web și un anumit sistem de operare iar abilitățile sale includ ieșirea imaginilor, a fișierelor PDF, a textelor cum ar fi XHTML.

Caracteristica cea mai importantă a PHP-ului este dată de suportul său pentru o gamă largă de baze de date, scrierea bazei de date a unei pagini web este extrem de simplă: folosind una dintre extensiile specifice bazei de date sau prin folosirea unui strat abstract cum ar fi PDO spre deosebire de alte baze de date care folosesc cURL sau CouchDB.

2.1.1 CodeIgniter 3

CodeIgniter este un cadru de dezvoltare al aplicațiilor destinat celor care construiesc site-uri web folosind PHP.

CodeIgniter lasă creativitatea programatorilor să se concentreze pe proiectele acestora minimizând cantitatea de cod necesară pentru o anumită cerință, iar principalul său scop este acela de oferi utilizatorilor săi posibilitatea de a dezvolta proiecte mult mai repede. Acest lucru se datorează faptului că PHP-ul generează un set bogat de librării, precum și o interfață și o structură logică simplă pentru accesarea acestor librării.

Obiective ale CodeIgniter-ului

Din punct de vedere arhitectural și tehnic, CodeIgniter a fost creat cu următoarele obiective:

Instanțiere dinamică- încărcarea componentelor și executarea rutinelor se realizează doar la cerere;

Cuplare vagă- cu cât componentele depind mai puțin unele de altele cu atât mai flexibile și reutilizabile devin sistemele;

Singularitatea componentelor- clasele și funcțiile lor sunt extrem de autonome pentru a permite o utilitate maximă.

Utilizări ale CodeIgniter-ului

CodeIgniter este potrivit pentru utilizatori dacă aceștia:

Au nevoie de o performanță excepțională;

Vor un cadru care necesită configurație aproape de zero;

Vor un cadru cu o amprentă mică;

Au nevoie de un cadru care nu necesită utilizarea liniei de comandă;

Nu sunt interesați de librării monolitice de scară înaltă cum ar fi PEAR;

Preferă soluții simple în defavoarea celor complexe;

Au nevoie de o documentație amănunțită;

Nu vor să fie forțați să învețe anumit limbaj.

Instalarea este realizată în patru pași:

Dezarhivare pachet;

Încărcarea folderelor și fișierelor ale CodeIgniter-ului pe server;

Deschiderea fișierului application/config/config.php cu un editor text și setarea URL-ului de bază;

Deschiderea fișierului application/config/database.php cu un editor text și realizarea setărilor bazei de date, în cazul în care se dorește utilizarea unei baze de date.

CodeIgniter utilizează abordarea M- V- C (Model- View- Controller), care permite o foarte bună separarea între logică si prezentare, lucru foarte bun pentru proiectele în care designerii lucrează cu fișiere template al căror conținut va fi minimizat precum codul.

MVC este un software care permite paginilor web să conțină o scriptare minimală având în vedere faptul că prezentarea este separată de scriptarea PHP.

“Model” reprezintă structura de date. În mod normal clasele model conțin funcții care ajută la inserarea, încărcarea informațiilor în baza de date precum și la recuperarea acestora;

“View” reprezintă informația care este prezentată utilizatorului, în mod normal este o pagina web dar în CodeIgniter poate fi un fragment dintr-o pagină (header sau un footer), o pagină RSS sau orice alt tip de “pagină”;

“Controller” are rol de intermediar între „Model”, „View” și oricare altă resursă necesară pentru procesarea răspunsului HTTP și generarea unei pagini web.

CodeIgniter deține o gamă largă de librării care permit dezvoltarea celor mai necesare sarcini web, cum ar fi trimiterea de email-uri, validarea datelor, accesări ale unor baze de date, manipularea unor imagini, lucrul cu date XML- RPC, etc..

Principalele caracteristici ale CodeIgniter- ului:

Sistem bazat pe Model – View- Controller

Validări ale formelor și datelor

Securitate și filtrare XSS

Librării de manipulare a imaginilor (rotire, decupare, redimensionare)

Motoare prietenoase de căutare URL-urilor

Librării XML- RPC

Criptări ale datelor

Localizare

Fluxul datelor prin sistem:

Figure 2. Fluxul datelor prin sistem

În figura de mai sus se poate observa că “index.php” servește drept controller frontal și inițializează resursele de bază necesare pentru rularea CodeIgniter- ului.

Router-ul examinează răspunsul HTTP pentru a determina ceea ce trebuie făcut cu acest răspuns.

Dacă există un fișier “cache”, este trimis direct către browser.

Înainte de încărcarea controler-ului aplicației să fie încărcat, răspunsul HTTP și orice dată trimisă de către utilizator este filtrată pentru o securitate optima.

Controler-ul încarcă modelul, ajutoarele, bibliotecile de bază și oricare alte resurse pentru procesarea răspunsului.

JavaScript

JavaScript (JS) este un limbaj ușor, orientat pe obiecte cu funcții de primă clasă , cunoscut în general ca fiind un limbaj de scriptare pentru paginile web, utilizat însă și în mediile non- browser cum ar fi Apache CouchDB sau node.js .

JavaScript este un limbaj bazat pe un prototip de scriptare multi- paradigmă care este dinamic și care, suportă stilurile de programare orientate pe obiecte, imperative și funcționale.

Sintaxa de bază este intenționat similară cu limbajele Java și C++ pentru a reduce numărul de concepte noi necesare pentru învațarea limbajului (ex: construcțiile limbajului, cum ar fi declarațiile „if”, blocurile funcțiilor „switch, try…catch” și buclele „for și while” sunt asemănatoare cu cele ale limbajelor mai sus menționate).

Sintaxa JavaScript arătă cum sunt construite programele JavaScript și este un set de reguli. Un program este o listă de instrucțiuni care sunt executate de către computer și care în limbajele de programare poartă denumirea de declarații. Declarațiile JavaScript sunt separate în semicoloane.

var x = 8;
var y = 9;
var z = x + y;

Crearea obiectelor în JavaScript se face programatic prin adăugarea de metode și proprietăți altor obiecte în momentul rulării (în momentul în care crearea obiectelor a fost realizată, acestea pot fi folosite ca prototip pentru crearea altor obiecte asemănătoare), spre deosebire de definițiile clasei sintactice comune în limbajele Java și C++.

JavaScript conține o librărie standard de obiecte, cum ar fi „Array, Math, Date” și un set de elemente de limbaj cum ar fi operatori, declarații și structuri de control. JavaScript poate fi extins prin adăugarea de obiecte adiționale din diferite motive, cum ar fi:

„Client- side” JavaScript- extinde limbajul de bază prin adăugarea de obiecte pentru a controla browser- ul. Extensiile client- side permit aplicației adăugarea de elemente într-o formă HTML și răspund la evenimentele de click-uri ale mouse- ului, navigări ale paginii generate de către utilizator.

„Server- side” JavaScript- extinde limbajul de bază prin adăugarea de obiecte relevante pentru rularea JavaScript pe un server. Extensiile server- side permit comunicarea cu baza de date, manipularea fișierelor pe un server.

Spre deosebire de Java, JavaScript este un limbaj „free- form”, nefiind necesară declararea tuturor claselor, metodelor și variabilelor. Nu este necesară implementarea interfețelor și nu este important dacă metodele sunt private, protected sau public.

Validarea datelor este procesul prin care se asigură că intrarea computer-ului este corectă și utilă.

Validarea „client- side” este realizată de către un browser web, înainte ca intrarea să fie trimisă unui server web iar validarea „server- side” este realizată de către un server web, după ce intrarea a fost trimisă către server.

Sarcinile de validare tipice sunt:

Toate câmpurile obligatorii au fost completate de către utilizator?

Datele adăugate de către utilizator sunt corecte?

Utilizatorul a introdus text în câmpurile numerice?

2.2.1 jQuery

jQuery este o librărie JavaScript, ușoară de învățat și care simplifică foarte mult programarea JavaScript. Scopul său este acela de a ușura folosirea JavaScript- ului pe un website.

Exemplu:

$(document).ready(function(){
    $("p").click(function(){
        $(this).hide();
    });
});

jQuery preia o mulțime de sarcini comune care necesită multe linii de cod JavaScript pentru a putea fi realizate și pe care le împachetează în metode care pot fi apelate prin intermediul unei singure linii de cod.

Caracteristicile librăriilor jQuery:

Manipulare CSS;

AJAX;

Utilități;

Animații și efecte;

Manipulare HTPL/ DOM.

Sintaxa jQuery este „$(selector).action()”, unde „$” este folosit pentru definirea/ accesarea jQuery, „(selector)” este folosit pentru căutarea elementelor HTML.

Pentru a preveni rularea codului jQuery înainte de a fi încărcat un anumit document, metodele trebuie să fie incluse în interiorul unui eveniment „ready”.

$(document).ready(function(){

// metodele jQuery

});

Un document HTML este structurat conform „Document Object Model (DOM)” și tocmai prin interacționarea cu DOM (consistă din fiecare element din pagină, prevăzut într-un mod ierarhic care reflectă modul în care este comandat documentul HTML), jQuery poate accesa și modifica HTML-ul.

2.2.2 Ajax

Ajax sau „Asynchronous JavaScript și XML” este utilizat de către obiectul XMLHttpRequest pentru comunicarea script- urilor “server- side. Ajax poate trimite și primi informații într- o gamă largă de formate, cum ar fi JSON, XML, HTML și chiar fișiere text.

Caracteristica cea mai importantă pe care o are Ajax este natura asincronă ceea ce înseamnă că paginile web pot fi încărcate asincron prin schimbul de cantități mici de date cu server- ul.

Anumite părți dintr-o pagină web pot fi încărcate fără a se realiza încărcarea întregii pagini spre deosebire de paginile web clasice care nu utilizează Ajax și care trebuie să reîncarce pagina în cazul în care există modificări de conținut.

Modul în care funcționează Ajax poate fi observat în următoarea figură:

Figure 3. Mod de funcționare AJAX

În momentul apariției unui eveniment, browser-ul crează un obiect XMLHttpRequest și trimite un HttpRequest către server, care procesează răspunsul Http și care, creează la rândul său un alt răspuns și trimite date browser-ului. Browser-ul procesează datele returnate cu ajutorul JavaScript-ului și încarcă conținutul paginii.

Trimiterea unui răspuns către server se realizează folosind metodele open() și send(). Metoda open() preia trei argumente- primul argument indică metoda care trebuie folosită atunci când un răspuns trebuie trimis (metoda get sau metoda post), al doilea argument indică URL-ul scriptării “server- side”, iar al treilea argument specifică faptul că răspunsul ar trebui să fie manipulat asincron.

Metoda send() trimite răspunsul către server.

xmlHttp.open(“GET”,”time.asp”,true);

xmlHttp.send(null);

Ajax este bazat pe standardele Internet-ului și utilizează o combinație de:

CSS

Obiecte XMLHttpRequest- pentru schimbul asincron de date cu server- ul

XML- este formatul în care se transferă datele

JavaScript/ DOM- pentru afișarea și interacționarea cu informația.

Tehnologii folosite pentru dezvoltarea aplicației mobile

3.1 Android

Android oferă un cadru aplicație foarte bogat care permite utilizatorilor săi crearea de aplicații și jocuri inovative pentru dispozitivele mobile într-un mediu de programare Java.

Concepte fundamentale ale cadrului aplicație Android:

Aplicațiile furnizează multiple puncte de intrare- aplicațiile Android sunt construite dintr-o combinație de componente distincte care pot fi invocate individual. O activitate individuală furnizează un singur ecran pentru interfața utilizator iar un serviciu este efectuat independent în background.

Aplicațiile sunt adaptate pentru diferite dispozitive- Android furnizează un cadru aplicație adaptiv care permite furnizarea unor resurse unice pentru diferite configurații ale dispozitivelor. Pot fi create fișier XML cu aspect diferit pentru diferite dimensiuni ale ecranului, sistemul fiind cel care determină ce aspect trebuie aplicat în funcție de dimensiunea curentă a ecranului.

Aplicațiile Android sunt scrise în limbajul de programare Java, codul este compilat de către instrumentele Android Sdk împreună cu datele și cu fișierele resursă într-un pachet Android(APK). APK este un fișier arhivă care are sufixul „.apk” și care deține tot conținutul unei aplicații Android.

Sistemul de operare Android este un sistem Linux multi- user în care fiecare aplicație este un utilizator diferit. Sistemul atribuie în mod implicit fiecarei aplicații câte un ID utilizator(acesta este necunoscut pentru aplicație și este utilizat doar de către sistem).

Metode prin care două aplicații pot accesa același ID Linux și prin care aplicațiile pot accesa serviciile sistemului:

Aplicațiile pot cere permisiunea de a accesa datele unui dispozitiv, cum ar fi mesajele SMS, aparatul foto, contactele utilizatorului, etc..

Aplicațiile pot împarți același ID Linux- o aplicație poate accesa fișierele celeilalte.

Componentele aplicațiilor sunt blocuri de construcție esențiale ale unei aplicații Android, fiecare componentă fiind un punct diferit prin care sistemul poate pătrunde în aplicație. Nu toate componentele constituie puncte de intrare pentru utilizator și chiar dacă unele depind de altele, fiecare există și joacă un anumit rol.

Android-ul este conceput să ruleze pe multe tipuri de dispozitive diferite, cum ar fi telefoane, tablete sau televizoare.

Pentru ca o aplicație să fie de succes pentru toate dispozitivele menționate mai sus, ar trebui să furnizeze o interfață utilizator flexibilă care să se adapteze la diferite configurări ale ecranului.

Android furnizează un cadru aplicație dinamic în care pot fi furnizate configurații specifice resurselor unei aplicații în fișiere statice, Android-ul încărcând ulterior resursele potrivite bazându- se pe configurațiile curente ale dispozitivului.

Android- ul suportă o varietate de caracteristici, unele dintre caracteristici fiind bazate pe hardware (de exemplu: senzorii busolă), iar altele sunt bazate pe software.

Arhitectura de securitate

Un punct central al design- ului arhitecturii de securitate a Android- ului este reprezentat de faptul că nici o aplicație nu are permisiunea de a efectua în mod implicit orice operație care ar putea avea impact asupra altor aplicații, asupra utilizatorului sau asupra sistemului de operare. Citirea și scrierea datelor private ale utilizatorului, citirea sau scrierea în fișierele altor aplicații precum și accesul la rețea sunt incluse în condiția de mai sus.

3.1.1 Java

Aplicațiile Android sunt dezvoltate utilizând limbajul Java(este singurul limbaj pentru realizarea aplicațiilor native). Limbajul Java este unul foarte popular, deținut de Oracle.

Caracteristici ale limbajului Java:

Este foarte sigur;

Este ușor de înțeles și utilizat;

Este orientat pe obiecte.

Multe librării Java standard sunt incluse de către Android SDK, cum ar fi: librării de structuri de date, librării grafice, etc., precum și librării Android speciale care vor ajuta utilizatorul să dezvolte aplicații Android extraordinare.

Tool-uri folosite pentru dezvoltarea aplicațiilor

PHPStorm

Este un mediu de dezvoltare integrat pentru dezvoltatorii PHP, construit pe platforma Intellij IDEA care moștenește toate funcționalitățile legate de web ale acestei platforme pentru editări PHP, CSS, HTML, etc..

Caracteristici ale PhpStorm-ului:

Editor inteligent: include documentație, evidențierea sintaxei;

Sincronizare FTP;

Suport SQL: include consolă SQL și browser pentru bază de date;

Navigare Cod și Proiect.

Cerințe ale sistemului și instalare PhpStorm:

Figure 4. Cerințe hardware

Figure 5. Instalare PhpStorm

Android Studio

Este IDE- ul oficial pentru dezvoltarea aplicațiilor Android.

Caracteristici Android Studio:

Oferă multiple fișiere de generare „apk”;

Facilitează integrarea mesajelor Google Cloud;

Oferă „ProGuard”.

Fișierele unui proiect sunt afișate de către Android Studio în „Android project view”.

Figure 6. Android project view

Pe durata instalării, sunt oferite template-uri și „wizards” de către Android Studio care verifică cerințele sistemului, precum „Java Development Kit”.

Considerații de proiectare

Baza de date a aplicației este structurată în șapte tabele, fiecare tabel are un nume sugestiv: cerinte_client, opinii_clienti, exponate, produse, comenzi, utilizatori, comenzi_detalii.

În următoarea figură este prezentată structura bazei de date, precum și legătura dintre tabele.

Figure 7. Structura bazei de date

În continuare este prezentată descrierea tabelelor din baza de date:

Tabelul cerinte_client – salvează cerințele adresate de către clienți atelierului cu privire la anumite produse pe care aceștia ar dori să le regăsească în stoc. Acest tabel conține următoarele date:

Id – este de tipul „int” și reprezintă cheia primară a acestui tabel

Nume_client – este de tipul „nvarchar”

Email_client – tipul „nvarchar”

Mesaj – „nvarchar”

Data_cerinta – „datetime”

Tabelul opinii_clienti – salvează opiniile clienților referitoare la produsele și serviciile prestate de atelier. Tabelul conține:

Id – este de tipul „int” și reprezintă cheia primară a tabelului

Nume_client – „nvarchar”

Opinie_client – „nvarchar”

Data_opinie – „datetime”.

Tabelul exponate – conține datele referitoare la produsele cu titlu de prezentare, care nu se află în stoc, deoarece nu sunt încă realizate. Acestea pot fi realizate doar pe comandă la cererea clientului, cu dimensiunile și modificările de design pe care acesta le dorește. Tabelul conține următoarele câmpuri:

Id – „int”, cheie primară

Denumire – „nvarchar”

Produse

Imagini

Tabelul produse – conține date despre produsele care se află în stoc și care pot fi comandate on- line de către utlizatori

Id – „int”, cheie primară

Cod_identificare

Nume_produs – „nvarchar”

Cantitate_disponibila – „int”

Pret – „int”

Status

Imagine

Data_adaugarii – „datetime”

Data_modificarii – „datetime”

Tabelul comenzi – păstreaza următoarele date referitoare la o comandă efectuată pe site de către un client:

Id – „int”

Id_user – „int”

Pret_total – „int”

Data_comanda – „datetime”

Tabelul comenzi_detalii – fiecare linie păstrează date despre un produs anume, asociat unei comenzi. Câmpul id_comanda corespunde câmpului id din tabelul comenzi. Pot fi mai multe linii asociate unei comenzi, relația dintre comenzi și comenzi_detalii este de 1-N(one to many)

Id – „int”

Id_comanda – „int”

Id_produs – „int”

Pret – „int”

Imagine

Cantitate – „int”

Tabelul utilizatori – păstrează datele legate de utilizator. Tipul de utilizator poate fi client sau administrator iar statusul utilizatorului poate fi activ sau pasiv

Id – „int”

Email – „nvarchar”

Parola – „nvarchar”

Nume – „nvarchar”

Numar_telefon – „int”

Adresa

Data_activare

Tip_utilizator

Status .

Diagramă UML:

Figure 8. Diagramă UML

Considerații de implementare

Adăugare utilizator nou în baza de date și validare formular introducere date:

Adresă: Controller/Main.php

Figure 9. AdăugareUtilizator

Logare utilizator- în funcție de tipul utilizatorului, utilizatorul va fi logat ca administrator sau client

Adresă: Controller/Main.php

Figure 10. Logare

Delogare utilizator

Adresă: Controller/Main.php

Figure 11. Delogare

Salvează în baza de date o comandă plasată de către un client

Adresă: Controller/Main.php

Figure 12. Salvare_comandă

Figure 13. Salvare_comandă_continuare

Preluarea datelor referitoare la comenzi din aplicația web- printr-un serviciu API

Adresă: Main/ OrderActivity

Figure 14. Preluare comenzi din baza de date

Calcularea locației în Google Maps- în funcție de adresa furnizată de către utilizator

Adresă: Main/ OrderLocationActivity

Figure 15. Calculare locație în Google Maps

Manual de utilizare

7.1 Manual de utilizare- aplicație web

Scopul principal al aplicației web este vânzarea on- line a produselor realizate de către atelierul de tâmplărie: „PFA STRÎMBU EMIL ÎNTREPRINDERE INDIVIDUALĂ”.

7.1.1 Partea de utilizator

Aplicația web conține următoarele pagini:

„Acasa”- conține o scurtă prezentare a atelierului

Figure 16. Pagina "Acasa"- aplicație web

Din această pagină se poate face și logarea prin accesarea butonului „logare” aflat în partea dreaptă a paginii. Pentru a efectua o comanda, este obligatorie logarea clientului.

Pentru logare, clientul trebuie:

Să introducă adresa de email și parola(în cazul în care are deja creat un cont);

Figure 17. Formular "Logare"- aplicație web

În cazul în care clientul nu deține un cont, poate crea unul prin click pe „Client nou? Inregistrati-va”. În formularul de înregistrare trebuie introduse datele de contact ale clientului.

Figure 18. Formular "Inregistrare"- aplicație web

„Produse” – conține o galerie de imagini cu produse care pot fi realizate de către atelier la cerința clientului, cu dimensiunile și modificările dorite de către client. Produsele sunt împărțite pe categorii în funcție de tipul acestora.

Pentru comandă, clientul trebuie să ia legătura cu atelierul, prin email sau prin telefon(numarul de telefon și adresa de email a atelierului pot fi găsite în secțiunea „Contact”).

Figure 19. Pagina "Produse"- aplicație web

„Comenzi”- conține produsele care pot fi comandate on- line. Acestea sunt împărțite pe categorii în funcție de tipul lor.

Pentru a comanda, clientul trebuie să selecteze categoria de produse dorită, să aleagă cantitatea din lista de selecție și să dea click pe butonul pentru comandă. Acesta v-a fi anunțat printr- un mesaj de informare că produsul a fost adăugat cu succes în cont.

Figure 20. Pagina "Comenzi"- aplicație web

Pentru realizarea unei comenzi, logarea este obligatorie. În cazul în care clientul dorește să facă o comandă dar nu s-a logat încă, v-a aparea un mesaj care v-a atenționa că trebuie să se logheze mai întâi.

Figure 21. Mesaj avertizare- logare obligatorie

Vizualizarea comenzii se poate face din coșul de produse, aici clientul găsește informații referitoare la comandă, despre valoarea transportului, despre totalul de plată, poate șterge un anumit produs.

Pentru finalizarea comenzii, clientul, trebuie să introducă adresa de livrare.

Figure 22. Finalizare comandă- aplicație web

„Opinii clienti”- clientul poate vizualiza parerile altor utilizatori, referitoare la produsele și serviciile prestate de către atelier sau își poate exprima chiar el părerea.

Figure 23. Formular "Adaugare opinie"- aplicație web

„Cerintele clientului”- în cazul în care clientul este interesat de un anumit produs sau material(care nu există în stoc în momentul respectiv), poate informa personalul atelierului că este interesat de acel produs.

Figure 24. Formular "Adaugare cerinta"- aplicație web

„Contact”- conține o hartă cu localizarea atelierului, date de contact ale atelierului(adresă de email, nr. de telefon).

Această pagină conține și un formular de contact prin care clientul poate lua legătura cu atelierul, poate trimite un mesaj cu motivul pentru care dorește să fie contactat și totodată poate specifica intervalul de timp în care poate fi contactat.

Figure 25. Localizare atelier- aplicație web

7.1.2 Partea de administrator

Interfața de administrare este una foarte simplă și accesibilă chiar și pentru un utilizator care nu deține cunoștințe de programare.

Personalul atelierului poate realiza orice modificare dorește asupra produselor(ștergere, adaugare, editare, etc.), utilizatorilor, comenzilor, etc.

Logarea se va realiza cu ajutorul unui cont de administrator.

Din panoul de control se pot vizualiza detalii referitoare la utilizatori, produse, opinii sau cerințe prin click pe butonul „vezi detalii” aferent fiecărei categorii.

Figure 26. Panou control- partea de administrator

Exponate:

Modificările referitoare la editarea, ștergerea sau adăugarea unui nou produs care poate fi realizat doar pe comanda se vor putea realiza din secțiunea „Exponate”.

Figure 27. Secțiunea "Exponate"- partea de administrator

Formularul de editare: poate fi modificată denumirea, categoria(acestea se introduc în caseta text corespunzătoare) și se poate încărca o imagine pentru un anumit produs prin selectarea butonului „Choose File”. La final modificările trebuie salvate.

Figure 28. Formular de "Editare Exponat"- partea de administrator

Formularul de adăugare a unui produs nou: este necesară adăugarea denumirii, a categoriei precum și a unei imagini a produsului.

Figure 29. Formular "Adaugare Exponat"- partea de administrator

Produse:

Modificările referitoare la produsele care pot fi comandate on- line se pot realiza din secțiunea „Produse”. Se pot face modificări de editare(nume, categorie, cantitate, preț, imagine), ștergere și adăugare a unui produs nou(cod identificare, nume, categorie, preț, imagine).

Figure 30. Secțiunea "Produse"- partea de administrator

Comenzi:

Pot fi vizualizate comenzile efectuate de către clienți și se pot face modificări asupra statusului comenzilor.

Figure 31. Secțiunea "Comenzi"- partea de administrator

Figure 32. Formular "Afisare comanda"- partea de administrator

Clienți

În această secțiune se pot vizualiza informații despre conturile utilizatorilor și se pot face modificari de editare a datelor sau se poate efectua ștergerea unui anumit utilizator.

Figure 33. Secțiunea "Clienti"- partea de administrator

Citește clienți:

Figure 34. Formular "Editare utilizator"- partea de administrator

Cerințe clienți

În secțiunea „Cerințe clienți” pot fi vizualizate mesajele trimise de utilizatori către atelier cu privire la anumite produse pe care aceștia doresc să le achiziționeze, dar care momentan nu există pe stoc.

Figure 35. Secțiunea "Cerinte Clienti"- partea de administrator

Tot din această secțiune se poate realiza și stergerea anumitor mesaje, care nu mai sunt considerate utile de către personalul atelierului.

Figure 36. Formular "Afisare Cerinta"- partea de administrator

Opinii clienți

Personalul atelierului poate vizualiza anumite opinii ale clienților referitoare la produsele comercializate de către atelier și la serviciile prestate de acesta prin click pe butonul „Citeste”.

Odată ce o anumită opinie a fost vizualizată și administratorul dorește să se reîntoarcă la pagina anterioară, se poate ieși din formularul de afișare opinie prin click pe butonul „Ok.”

Se poate efectua și ștergerea anumitor opinii cu ajutorul butonului „Stergere”.

Figure 37. Secțiunea "Opinii Clienti"- partea de administrator

Figure 38. Formular "Afisare opinie"- partea de administrator

7.2 Manual de utilizare- aplicație mobilă

Aplicația mobilă poate rula pe dispozitivele mobile cu sistem de operare Android, va fi utilizată de către personalul atelierului în momentul livrării unei comenzi către un anumit client.

Aplicația mobilă accesează baza de date a atelierului, care conține comenzile și alte informații referitoare la produse și utilizatori, preia adresa clientului către care se dorește a se realiza o livrare și afișeaza traseul până la acesta prin geo- localizare.

Instrucțiuni de instalare a aplicației „Comenzi”:

Primul pas: descărcarea aplicației- după ce aplicația a fost descărcată cu succes, dați click pe „app-debug.apk” din meniul Setări;

Figure 39. Descărcare aplicație mobilă

Pasul doi: instalarea aplicației- după ce ați realizat pasul de mai sus, alegeți opțiunea „Package Installer” și apoi dați click pe „Just once”, precum în figura următoare;

Figure 40. Instalare aplicație

Pasul trei: click pe butonul „Install”

Figure 41. Instalare aplicație

Pasul patru: în cazul în care nu dispuneți de suficient spațiu, instalarea este întreruptă, un mesaj asemanător celui din figura de mai jos apare pe dispozitivul dvs.. Eliberați spațiul de memorie după care reîncepeți instalarea;

Figure 42. Avertizare- memorie insuficientă pentru instalare

Pasul cinci: deschiderea aplicației- odată ce instalația a fost instalată, aceasta poate fi rulată. Alegeți opțiunea „Open” pentru deschidere sau „Done” pentru a ieși din meniul de instalare;

Figure 43. Finalizare instalare

Rularea aplicației:- după ce ați deschis aplicația, vor fi afișați clienții și comenzile preluate din baza de date. Pentru afișarea traseului, este nevoie de selectarea clientului către care se dorește a se livra o anumită comandă;

Figure 44. Alegerea clientului- pentru afișare traseu

Așteptați câteva momente- aplicația preia adresa clientului din baza de date și localizarea actuală a utililizatorului;

Figure 45. Preluare adresă client și locație utilizator

Afișare traseu- este afișat traseul din punctul de plecare al comenzii până la adresa clientului;

Figure 46. Afișare traseu

În cazul în care adresa de livrare introdusă de către client, atunci când a efectuat o comandă nu este corectă, traseul nu poate fi afișat.

Figure 47. Eroare afișare traseu

Concluzii

Această lucrare se bazează pe faptul, că în ziua de astăzi majoritatea oamenilor dispun de internet și că aceștia caută în permanență metode care să le facă viața cât mai ușoară și care le oferă posibilitatea de a salva timp.

Sistemele E-commerce sunt avantajoase atât din punct de vedere al întreprinzătorilor, care dispun de posibilitatea de a se face cunoscuți în rândul clienților și de a-și comecializa produsele mult mai repede și mai ușor, făra a necesita un număr mare de angajați, cât și pentru clienți care, pot fi la curent în permanență cu ofertele întreprinzătorilor.

Clienții pot achiziționa produsele dorite într-un timp foarte scurt, printr-un singur click de mouse, fără necesitatea de a se deplasa în anumite puncte de lucru ale comercianților. Aceștia pot fi mai siguri de produsele pe care le cumpără cu ajutorul părerilor altor clienți, referitoare la calitatea unui anumit produs.

În concluzie, lipsa unui întreprinzător de pe aceasta piață: Internetul, considerat o infrastructură în continuă creștere și lipsa unei aplicații web cu ajutorul căreia să își promoveze și comercializeze produsele, poate reprezenta nereușită în afaceri.

Similar Posts