Aplica ție Web pentru managementul relațiilor cu [619959]
Aplica ție Web pentru managementul relațiilor cu
clienții într -o societate comericială de prestări
servicii
Enache Constantin Cristian
40304
PLOIEȘTI
2018
1
Cuprins
Aplica ție Web pe ntru managementul relațiilor cu clienții într -o societate comericială de
prestări servicii ………………………….. ………………………….. ………………………….. ………………… 0
Cuprins ………………………….. ………………………….. …………… Error! Bookmark not defined.
Capitolul 1 – Introducere ………………………….. ………………………….. ………………………….. …… 3
Capitolul 2 – Sisteme informatice pt managementul clientilor unei firme …………………….. 4
2.1 Aplicatii de tip CRM ………………………….. ………………………….. ………………………….. . 4
2.1.1 Conceptul CRM ………………………….. ………………………….. ………………………….. .. 4
2.1.2 Obiectivele CRM ………………………….. ………………………….. ………………………….. 5
2.1.3 Implementare CRM ………………………….. ………………………….. ………………………. 7
2.2 Aplicatii CRM de tip open ………………………….. ………………………….. ……………………. 7
Capitolul 3 – Tehnologii și unele software pentru dezvoltarea aplicatiilor web …………….. 7
3.1 Framework -uri PHP ………………………….. ………………………….. ………………………….. … 7
3.1.1 Codeigniter framework ………………………….. ………………………….. ………………… 10
3.1.2 Laravel ………………………….. ………………………….. ………………………….. ………….. 11
3.2 Framework -uri de Front -end ………………………….. ………………………….. ……………….. 12
3.2.1 Bootstrap ………………………….. ………………………….. ………………………….. ……….. 12
3.2.2 Semantic UI ………………………….. ………………………….. ………………………….. …… 12
3.2.3 Uikit ………………………….. ………………………….. .. Error! Bookmark not defined.
3.3 Biblioteci Javascript ………………………….. ………………………….. ………………………….. . 12
3.4 Medii de dezvoltare ………………………….. ………………………….. ………………………….. . 12
Capitolul 4 – Proiectarea si implementarea aplicatiei varoval ………………………….. ………. 13
4.1 Descrierea bazei de date ………………………….. ………………………….. …………………….. 13
4.1.1 Diagrama entitate -legatura ………………………….. ………………………….. ……………. 13
4.1.2 Legaturile dintre multimile entitate ………………………….. ………………………….. .. 14
4.1.3 Proiectarea sche mei relationale a bazei de date ………………………….. ……………. 15
4.2 Modulele si interfatele aplicatiei ………………………….. ………………………….. …………. 18
4.2.1. Modulul autentificare ………………………….. ………………………….. ………………….. 19
4.2.2 Modulul angajati ………………………….. ………………………….. …………………………. 19
4.2.3 Modulul clienti ………………………….. ………………………….. ………………………….. .. 21
2
4.2.4 Modulul echipamentelor ………………………….. ………………………….. ………………. 24
4.2.5 Modulul programari; ………………………….. ………………………….. ……………………. 24
4.2.6 Modulul call center; ………………………….. ………………………….. …………………….. 24
4.2.7 Modul organigrama ………………………….. ………………………….. ……………………… 24
4.2.8 Modul configurari; ………………………….. ………………………….. ………………………. 25
4.2.9 Modulul rapoarte. ………………………….. ………………………….. ……………………….. 25
4.3 Securitatea aplicatiei ………………………….. ………………………….. ………………………….. 26
4.4 Mentenanta aplicatiei ………………………….. ………………………….. …………………………. 26
Capitolul 5 – Concluzii ………………………….. ………………………….. ………………………….. ……. 26
Bibliografie ………………………….. ………………………….. ………………………….. …………………… 27
3
Capitolul 1 – Introducere
În prezenta lucrare îmi propun să realizez un studiu privind tema lucrari ce vizeaza
domeniul a plicați ilor web de tip CRM , pentru mana gementul relațiilor cu clienții într -o
societate comericială , din acest studiu doresc să evidențiez avantajele economice care pot
rezulta din implementarea unui astfel de sistem informatic la o companie.
Managementul relațiilor cu clienții a devenit, în c ondițiile dezvoltării tehnologiilor
informatice, un domeniu de maxim interes pentru cercetătorii din întreaga lume și pentru
organizațiile din toate sectoarele de activități ce investesc sume importante în colaborări
cu firme de consultanță specializate ș i furnizori de soluții IT pentru crearea unor
infrastructuri de gestiune informatizată a relațiilor cu clienții.
Gartner Group defineste produsele CRM (Customer Relationship Management) ca
fiind o strategie de afaceri, in care rezultatul final este optimiz area profitabilitatii, a
venitului si a satisfactiei clientilor, prin definirea de segmente de clienti, dezvoltarea
practicilor de multumire a clientilor si implementarea de procese orientate catre client.
(Gartner, n.d.)
Aplica țile CRM au devenit mult mai ușor de planificat și implementat în ultimii
ani. Cu toate acestea, CRM este un termen complex ce include mai multe zone în cadrul
unei organizații și nu poate fi redus la aspectele tehnologice. Setul de s trategii CRM
includ multe sarcini orientate spre c lient, acestea variază de la răspunsul individual spre
solicitările clienților la personalizarea produselor adaptate nevoilor acestora. Pentru a
asigura buna derulare a proceselor este nevoie de personal calificat și de suportul
soluțiilor software. Sistem ele CRM sunt folosite pentru a sprijini și optimiza procesele
asociate clienților într -un mediu de afaceri.
Organizațiile românești trebuie să se adapteze rapid tendinței globale de focalizare
a strategiilor de afaceri pe managementul clienților pentru a f ace față competiției firmelor
multinaționale, care aplică cu succes principiile acestei abordări. De aceea, aceste soluții
CRM au devenit o necessitate pentru companiile care doresc sa ob țină un avantaj în plus
față competiției. Multe companii, atat locale cat si din afara, nu cunosc inca termenul de
CRM. In acelasi timp, cele care au deja un sistem CRM incep sa caute noi metode de a
imbunatati interactiunea cu propriii clienti.
Implementarea unui sistem CRM ne permite s ă adun ăm într-un singur loc, toate
informa țiile despre clien ți, vânzări, marketing, suport tehnic și în acela și timp s ă ai o
privire de ansamblu asupra întregii afaceri.
Consider ca este necesar un training adecvat in folosirea sistemului pentru a
asigura folosirea corecta si constanta a sist emului si a procedurilor de lucru de catre toti
angajatii companiei. De asemenea, explicarea motivelor si a obiectivelor acestui proces la
nivelul intregii structuri ierarhice este necesara pentru asigurarea succesului intregului
proiect.
4
Capitolul 2 – Sisteme informatice pt managementul
clientilor unei firme
2.1 Aplicatii de tip CRM
2.1.1 Conceptul CRM
CRM -ul este o combina ție de proceduri, procese și strategii implementate într-o
organiza ție, cu scopul de a unifica interac țiunile cu clien ții îi de a valorifica informa țiile
despre ace știa. (Wikipedia – Encilopedia libera)
Un sistem CRM acoperă 4 componente de business:
• Fron t-Office: operațiunile din această categorie reprezintă interacțiunile directe cu
clientul, precum întâlniri de vânzări, prezentări, telefoane, e -mail-uri, servicii
online etc.
• Back -Office: reprezintă procesele care au efecte implicite asupra activităților de
front -office, precum activitățile de marketing, prospectare, service
• Managementul relațiilor de business cu alte companii: parteneri, furnizori,
vendori, retaileri, influenceri, leaderi de opinie, presă. Această componentă
include atât activități de fr ont-office, cât și back -office.
• Analiza centralizată a datelor: operațiune cu scopul de a elabora campanii de
marketing, strategii de vânzare, fluxuri intuitive de lucru.
5
Flux de lucru CRM
2.1.2 Obiectivele CRM
Obiectivele principale ale unui sistem CRM sunt:
1. Reducerea costurilor prin:
a. Reducerea costurilor de achizitie;
b. Reducerea pierderilor de client;
c. Cresterea loialitatii clientilor
2. Cresterea veniturilor prin:
a. Contractarea de noi clien ți
b. Vanzarea de produse aditionale clien ților existenti
c. Cresterea ded icarii clientilor
Obiectivul CRM este de a ajuta companiile sa foloseasca tehnologia si resursele
umane pentru a capata noi perspective asupra comportamentului clientilor si a valorii
acestora. Avand o strategie CRM functionala, veniturile unei companii p ot creste prin:
• oferirea acelor servicii si produse de care clientii au nevoie;
6
• posibilitatea de a îmbunătăți serviciile oferite clienților;
• vanzari incrucisate de produse;
• incheierea mai rapida a acordurilor;
• pastrarea clientilor vechi si atragerea de clienti noi;
Definirea unei strategii CRM implica intreaga companie in acest proce s si incepe cu
stabilirea obiectivelor, a metodelor de lucru si a modalitatilor de control pe care
organizatia doreste sa le implementeze. Implementarea unui software CRM poate incepe
abia cand aceste cerinte au fost indeplinite.
Companiile au nenumarate m oduri de a interactiona cu clientii, precum campanii
prin e mail, site -uri Web, call -center -uri, eforturi de marketing si publicitare. Sistemele
CRM realizeaza conexiuni intre toate aceste moduri, iar datele colectate sunt partajate de
diferite sisteme oper ationale si analitice care pot cauta prin date pentru a incerca sa
gaseasca noi modele(sabloane). Analistii companiei pot cerceta in amanunt datele pentru
a obtine o vedere de ansamblu asupra clientilor si indica segmentele in care serviciile lasa
de dorit .
Avantaje CRM:
• Te ajuta sa cresti vanzarile, prin optimizarea a 4 factori principali: cresterea
numarului de oportunitati de vanzare, a ratei de conversie a oportunitatilor in
contracte, a valoarii medii a unui contract si scaderea duratei medii a ciclulu i de
vanzare ;
• Contribuie la imbunatatirea calitatii procesului de vanzare, prin monitorizarea
permanenta a vanzarilor, stabilirea de fluxuri personalizate, implementarea de
bune practici la nivel de companie sau setarea de targete sau obiective de
performa nta;
• Automatizeaza activitatile de marketing online si email marketing, transformand
vizitele de pe site in oportunitati de vanzare. Totodata, faciliteaza punerea in
aplicare a campaniilor de marketing integrat ;
• Creste calitatea relatiei cu clientii pentru ca ofera angajatilor acces la informatii
complete despre fiecare, care sa ii ajute la solutionarea in cel mai scurt timp a
solicitarilor acestora ;
• Creste productivitatea angajatilor, pentru ca le pune la dispozitie fluxuri de lucru
automatizate, raspunsur i la intrebari frecvente sau bune practici existente la nivel
de companie, toate in cadrul aceluiasi sistem ;
• Contribuie la realizarea cu succes a proiectelor desfasurate in companie, oferind
vizibilitate asupra tuturor activitatilor care le compun. In plus , permite gestionarea
simultana a mai multor proiecte si alocarea corespunzatoare a resurselor pentru
fiecare dintre acestea ;
7
Informația despre clienți este esența CRM -ului. Deși dezvoltarea și mentenanța sunt
importante, datele clare și bine structurate d espre clienți sunt vitale. Din nefericire, multe
afaceri nu acordă suficientă atenție importanței datelor consistente și de calitate.
2.1.3 Implementare CRM
Punerea în practică a unui sistem de management al relației cu clientul este adevărata
provocare ș i scopul oricărei initiative CRM. Implementarea CRM reprezintă realizarea
unei schimbări la nivelul organizației în sensul orientării pe client.
Implementarea începe cu analiza elementelor de bază ale afacerii:
• definirea afacerii,
• redefinirea strategiei,
• stabilirea de planuri,
• punerea în aplicare și evaluarea CRM.
Primul element important de luat în considerare în timpul implementării unui CRM,
sunt persoanele. CRM că nu este nimic fără persoane.
Al doilea element este legat de tehnologie și de procese. Un produs sau serviciu bun,
un proces solid, tehnologie și oameni capabili sunt câteva dintre cerințele de bază pentru a
începe implementarea CRM.
Implementarea unui CRM nu poate începe înainte de definirea și stabilirea unui
sistem de management a relației cu clientul, a carui evaluare a fost făcută și i rezultatele
evaluării indică necesitatea automatizarea acestei activități.
2.2 Aplicatii CRM de tip open
Capitolul 3 – Tehnologii și unele software pentru
dezvoltarea aplicatiilor web
Pentru a facilita c onstructia aplicatiilor web complexe sunt necesare
3.1 Framework -uri PHP
Limbajul PHP (Personal Hypertext Page) este este un limbaj de programare
folosit pentru a produce pagini web dinamice . PHP este considerat una dintre cele mai
8
interesante tehnolog ii care există în momentul de față. Prescurtarea PHP vine de la
acronimul din limba engleza „ Hypertext Preprocessor ”.
Este un limbaj de programare web open -source și server -side, cu versiuni
disponibile pentru majoritatea web serverelor și pentru toate si stemele de operare .
Una din avantaj al limbajului de programare PHP este ca permite interactiunea cu
un numar mare de sisteme de gestiune a bazelor de date relationale, cum ar fii: MySql,
Oracle, IBM DB2, Microsoft SQL Server, PostgreSQL si SQLite. Deaseme nea, este
compatibil cu majoritatea sistemelor de operare, incluzand: Unix, Linux, Windows si Mac
OS X si poate interactiona cu majoritatea serverelor web.
Mai mult, spre deosebire de limbajele de scripting, precum JavaScript, PHP
rulează pe serverul Web, nu în browserul Web. Prin urmare, PHP poate obține accesul la
fișiere, baze de date și alte resurse la care programul JavaScript nu poate avea permisiune.
Acestea reprezintă bogate surse de conținut dinamic care determină vizitatorii să le
acceseze . (Mari noiu, 2011)
Framework -urile de PHP completează limbajul de programare , oferind
dezvoltatorilor unele module pre -construite, o platformă pentru a crea o aplicatii web
robust e, componente reutilizabile și permițând de dezvoltare mai rapid a.
Framework -urile f olosesc sistemul arhitectural Model -view -controller. Succesul
modelului se datorează faptului ca separă interfa ța grafică de func ționalitatea specifică a
sistemului permi țând astfel dezvoltarea , între ținerea și testarea acestuia.
Arhitectură :
• Model -ul este parte a controller -ului care manipulează operațiunile logice și
de utilizare a informație pentru a rezulta de o formă ușor de înțeles , clasele
de modele vor conține funcții care v or ajuta la prelu crare , insera re și
actualiza rea informațiil or din baza de d ate.
• View -ul reprezintă reprezentarea grafică și are r olul de a evidenția datele
furnizate de model prin intermediul controller -ului. Intr-un view se pot
pune formulare, texte, scripturi javascript.
• Controller -ul servește ca intermediar între model , view și orice alte resurse
necesare procesării cererii HTTP și generării unei pagini web. Intr-un
controler se definesc actiunile din aplicatie,drepturile de acces si alte functii
necesare satisfacerii cererilor .
9
Avantaje în folosirea unui framework:
• Porta bilitate: Abstractizarea bazei de date și a cache -ului fac ca aplicațiile
construite cu un framework să poată rula pe servere, având diferite
configurații ;
• Depanare ușoară: Unele framework -uri vin în ajutorul programatorului cu
unelte care fac depanarea ma i usoară. Acestea permit inspectarea variabilelor,
a query -urilor, a duratei de timp în care rulează script -ul etc. ;
• Standard de codare: Framework -urile „forțează” într -un anume fel
programatorii să urmeze principiul Model ->View ->Controller. Asta înseamnă
că trebuie gând it mai întâi structura codului ;
• Securitate: Framework -ul se ocupă de securitatea pentru modulele buid -in:
autentificare, formulare, query -uri SQL ;
• Documentație: Framework -urile sunt foarte bine documentate, _edical
ușurează înțelegerea modu lelor, dependentelor, structuri codului etc.
• Nu necesita instalare , acest instrument il putem utiliza doar prin incarcarea
fisierelor intr -un director ;
• Suport: Comunitate mare de utilizatori activi, cu care poți colabora, comunica
și găsi soluții la orice problemă sau rapunsuri la orice întrebare;
• Timp de dezvoltare redus datorita modulelor de cahing, form -uri, baze de date,
astfel timpul necesar dezvoltari unei aplicatii web poate fi redus chiar la
jumatate;
10
Top 5 Framework -uri pe Google Trends
3.1.1 Codeig niter framework
CodeIgniter este un set de instrumente pentru utilizatorii care construiesc aplicații
web folosind PHP. Scopul său este de a permite dezvolta rea proiecte lor mult mai repede
deoarece plecam de la o structur ă bine definit ă, oferind un set bogat de biblioteci , o
interfață simplă și o structură logică pentru a accesa aceste biblioteci. CodeIgniter
minimiz eaza cantitatea de cod necesară pentru o anumită sarcină. (Codeigniter, n.d.)
Sistemul de bază necesită doar câteva biblioteci de dim ensiuni foarte mici.
Bibliotecile suplimentare sunt încărcate dinamic, la cerere, pe baza nevoilor pentru un
anumit proces, astfel încât sistemul de bază este de dimensiuni foarte mici și destul de
rapid in comparative cu alte framework -uri.
CodeIgniter ut ilizează abordarea Model -View -Controller, care permite o mare
separare între logică și prezentare. Acest lucru este deosebit de bun pentru proiectele în
care designerii lucrează cu fișierele șablon, deoarece codul pe care aceste fișiere îl conțin
va fi red us la minimum.
Fluxul de lucru al framework -ului Codeigniter:
11
Fig 1. Arhitectura framework -ului Codeigniter (Codeigniter, n.d.)
1. Index.php servește drept controller frontal, inițializând resursele de bază necesare
pentru a executa CodeIgniter.
2. Router -ul examinează cererea HTTP pentru a determina ce trebuie făcut cu e a.
3. Dacă există un fișier cache, acesta este trimis direct în browser, ocolind execuția
normal ă a sistemului.
4. Securitate. Înainte de încărcarea controlerului de aplicație, solicitarea HTTP și
orice date trimise de utilizator sunt filtrate pentru securitat e.
5. Controlorul încarcă model -ul, bibliotecile de bază, helpers -urile și orice alte
resurse necesare procesării cererii specifice .
6. View -ul final este trimis browserului web pentru a fi văzut. Dacă este activat
cache -ul, view -ul este stocată mai întâi în memoria cache, astfel încât, la cererile
ulterioare, aceast să poată fi afisat .
3.1.2 Laravel
Potrivit analizei Google Trends privind framework -urile Laravel este cel mai
cautat si utilizat framewo rk, ce are o comunitate imensă de dezvoltatori.
Laravel este un framework open source gratis, creat de Taylor Otwell pentru
dezvoltarea aplicatiilor web pe structura arhitecturala MVC, avand la baza Symfony.
Datorita manualul ui de utilizare, complet și e xtrem de bine documentat acest framework
este usor de inteles si este menita sa usureze dezvoltarea sistemelor folosite in majoritatea
proiectelor .
Unul dintre motivele principale pentru care Laravel este cel mai popular
framework este care biblioteci orie ntate pe obiecte preinstalate. Una dintre bibliotecile
pre-instalate este biblioteca de autentificare.
Pentru instalarea framework -ului Laravel este nevoie utilizarea managerului de
biblioteci Composer, aceasta utilitara se instaleaza usor prin linia de co manda si este
folosita de programatori pentru a management -ul dependintelor din proiect.
12
Un dezvoltator trebuie, de obicei, să interacționeze cu framework -ul Laravel
folosind o linie de comandă care creează și gestionează mediul proiectului Laravel.
Laravel oferă un instrument încorporat pentru linia de comandă numită Artisan. Acest
instrument ne permite să realizăm majoritatea sarcinilor de programare repetitive pe care
majoritatea dezvoltatorilor evită să le efectueze manual.
Laravel ofera dezvoltatorilor posibilitatea de a tine baza de date sincronizata cu
mai multe aplicatii. Laravel oferă programe Laracasts, care au o combinație de tutoriale
video gratuite și plătite, ce arată cum s e utiliz ează Laravel. Videoclipurile sunt realizate
de Jeffery Way, un instructor expert și cu experiență ce oferă instrucțiuni clare și concise.
Calitatea produ cției este ridicată, iar lecțiile sunt bine gândite și semnificative.
Modulul de templating Blade al framework -ul Laravel este foarte intuitive si
lucreaza cu formulare HTML , texte, scripturi php si javascript .
3.2 Framework -uri de Front -end
3.2.1 Bootstra p
Acest framework a fost lansat pe 19 august 2011, desi Bootstrap a fost creat la
compania Twitter la jumătatea anului 2010 de către un designer -ul Mark Otto si de
programator ul Jacob Thornton . Înainte de a fi un framework open -source, Bootstrap era
cunosc ut sub numele de Twitter Blueprint . Bootstrap este cel mai utilizat framework
disponibil in zilele noastre.
3.2.2 Semanti c UI
Semantic UI este un framework moder de dezvoltare pe front -end, cu un aspect
elegant care ofera o experienta usoara utilizatorulu i. Potrivit website -ului, scopul acestui
framework este de a usura munca dezvoltatorilor de aplicatii web prin oferirea unui
limbaj semantic, ce are clase descriptive si nu abrevieri ca celelalte framework -uri de
font-end. Modul UI este o componentă ce are funcționalități interactive bazate pe
JavaScript.
3.3 Biblioteci Javascript
3.4 Medii de dezvoltare
Editorul Visual Studio Code
Visual Studio Code este un editor gratis de cod de dimensiuni mici , dar puternic,
care rulează pe desktop și este disponibil pentru Windows, MacOS și Linux. Dispune de
suport încorporat pentru JavaScript, TypeScript și Node.js și are un ecosistem bogat de
13
extensii pentru alte limbi (cum ar fi C ++, C #, Java, Python, PHP, Go) și runtim e (cum ar
fi .NET și Unity) . (Microsoft)
La fel ca multe ale edito are de coduri, VS Code adoptă o interfață de utilizare
comună și simplu de utilizat. În partea din st ânga este explorer -ul aplica ției, care prezintă
toate fișierele și directoarele la care avem acces și un editor în partea dreaptă, care arată
conținutul fișierelor pe care le acces ăm.
Fig 2. Interfata Visual Studio Code
Acest editor vine cu o sumedie de extensii pe care le putem instala. Acestea ne
ajută la depanare, creare de aplica ții în mai multe limbi, teme etc. Toate aceste extensii au
scopul de a ușura fluxul de lucru .
Capitolul 4 – Proiectarea si implementarea aplicatiei
varoval
4.1 Descrierea bazei de date
4.1.1 Diagrama entitate -legatura
Pentru a modela datele din baza de date, a m utilizat modelul Entitate -Legătură cu
ajutorul căreia am realizat diagrama Entitate -Legătură, care va fi prezentată în figura
următoare :
14
4.1.2 Legaturile dintre multimile entitate
Se realizează transformarea diagramei Entitate -Legătură în schema relați onală a
bazei de date. Pentru fiecare mulțime entitate care este conectată printr -o legătură unu -la-
unu cu altă mulțime entitate este folosită ca și cheie străină, cheia primară a celeilalte
mulțimi. Pentru a face legătura între ele, coloana cu cheia strai nă din prima mulțime
coincide cu coloana cheii primare din cea de -a doua mulțime.
Pentru legăturile multi -multi se creează încă o tabelă care va memora cheile
primare ale celor două mulțimi entitate.
Deci între mulțimile entitate există următorele asocier i:
1. Entitatea servicii_clienti contine echipamente (1,1) ;
2. Entitatea s ervicii_clienti contine interventii (1,1);
3. Entitatea s ervicii_clienti are responsabili (1,1);
4. Entitatea s ervicii_clienti are planificari (1,1) ;
5. Entitatea s ervicii_clienti are fisiere (1,m) ;
6. Entitatea s ervicii_clienti este procesat a de users;
7. Entitatea c lienti are conversatii (1,m);
8. Entitatea c lienti detine echipamente (1,m);
9. Entitatea c lienti are interventii (1,m);
10. Entitatea c lienti este atribuita users (m,m);
11. Entitatea clienti apartine une i zone (1,1);
12. Entitatea u stensile detine certificate (1,m);
13. Entitatea u sers are avatars (1,1);
14. Entitatea u sers are planificari (1,m);
15. Entitatea u sers face parte din echipe (1,1);
16. Entitatea users aprtine unei zone (1,1);
17. Entitatea u sers are users_tip (1,1);
18. Entitatea o rganigrama conține users (1,m) ;
19. Entitatea e chipe_def conține echipe (1,m) ;
15
4.1.3 Proiectarea schemei relationale a bazei de date
Pentru realizarea acestei lucrări , am decis să reprezint o parte din sistemul de
funcționare al unui societăti com ercial e de prestări servicii in domeniul centralelor
termice prin intermediul unei baze de date. Alcătuirea înregistrărilor se realizează prin
intermediul unor date reale .
Baza de date are 1 8 relații (tabele) și acestea sunt: api_optivocice , avatars ,
certificate , clienți , conversații , conversatii_reveniri , echipamente , echipe , echipe_def ,
fisiere , intervenții , modele, organigrama, planificari, responsabili_servicii,
servicii_clienti, users, users_tip .
Tabelele enumerate mai sus au urm ătoarele schemele relaț ionale :
CREATE TABLE `clienti` (
`id` int(11) NOT NULL,
`cl_tip` int(11) NOT NULL,
`nume` varchar(55) NOT NULL,
`fcui` varchar(45) NOT NULL,
`freg` varchar(35) NOT NULL,
`email_client` varchar(85) NOT NULL,
`telefon_client` varchar(35) NOT NU LL,
`adresa_client` varchar(150) NOT NULL,
`pcontact` varchar(180) NOT NULL,
`adresa` varchar(255) NOT NULL,
`localitate` varchar(55) NOT NULL,
`judet` varchar(25) NOT NULL,
`telefon` varchar(55) NOT NULL,
`email` varchar(100) NOT NULL,
`zone_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`rep_id` int(11) NOT NULL,
`ad_date` date NOT NULL,
`exp_la` date NOT NULL,
`se_id` int(11) NOT NULL,
`e_data_apelare` int(11) NOT NULL DEFAULT '0',
`pcontact2` varchar(100) DEFAULT NULL,
`email_contact` varchar(100) DEFAULT NULL,
`telefon_contact` varchar(100) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE `api_optivoice` (
`AI` int(11) NOT NULL,
`CallerNumber` varchar(20) DEFAULT NULL,
`CalledNumber` varchar(20) DEFAULT NULL,
`CallID` varchar(25) NOT NULL,
`datetime` datetime NOT NULL,
`CallerIDNum` varchar(20) NOT NULL,
`CallerIDName` varchar(50) DEFAULT NULL,
`CalledDID` varchar(20) NOT NULL,
`CalledExtension` varchar(20) DEFAULT NULL,
`CallStatus` varchar(10) NOT NULL,
`CallFlow` varchar(10) NOT NULL,
`CallerExtension` varchar(10) NOT NULL,
`CallAPIID` varchar(20) NOT NULL,
`skip` int(11) NOT NULL DEFAULT '0',
`gfr` varchar(4) DEFAULT NULL,
`token` varchar(101) NOT NULL DEFAULT '',
`GUIDCL` bigint(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `certificate` (
`id` int(11) NOT NULL,
`denumire` varchar(300) NOT NULL,
`data_add` timestamp NOT NULL DEFAULT
CURRENT_TIMESTAMP,
`id_ustensila` int(11) NOT NULL,
`data_exp` date NOT NULL,
`data_fin` date DEFAULT NULL COMMENT 'data finalizare
certificat'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `avatars` (
`id` int(10) UNSIGNED NOT NULL,
`nume` varchar(150) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSE T=utf8;
16
CREATE TABLE `conversatii` (
`id` int(11) NOT NULL,
`cid` int(11) NOT NULL,
`uid` int(11) NOT NULL,
`data` datetime DEFAULT NULL,
`zile_amanare` int(11) NOT NULL DEFAULT '0',
`mesaj` text CHARACTER SET latin1 COLLATE
latin1_general_ci NOT NULL,
`mesajHTML` text NOT NULL,
`tip` varchar(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `conversatii_reveniri` (
`AI` int(10) UNSIGNED NOT NULL,
`uid` int(10) UNSIGNED NOT NULL,
`revenire` date NOT NULL,
`idcom` int( 11) NOT NULL,
`stare` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `echipe_def` (
`id` int(11) NOT NULL,
`denumire` varchar(50) NOT NULL,
`zid` int(11) NOT NULL COMMENT 'zona id',
`ecolor` varchar(20) NOT NULL,
`stare` int(11) DEFAULT NULL COMMENT '1 -sters '
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `echipe_def` (
`id` int(11) NOT NULL,
`denumire` varchar(50) NOT NULL,
`zid` int(11) NOT NULL COMMENT 'zona id',
`ecolor` varchar(20) NOT NULL,
`stare` i nt(11) DEFAULT NULL COMMENT '1 -sters '
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `fisiere` (
`id` int(11) NOT NULL,
`id_nume` varchar(100) NOT NULL,
`id_org` varchar(100) NOT NULL,
`id_cl` int(11) NOT NULL,
`id_serv` int(11) NOT NULL,
`tip_fisier` varchar(10) DEFAULT NULL COMMENT '1 -raport
ver 2 – livret+declaratie 3 -fisa client 4 -sesizare'
) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `interventii` (
`id` int(10) UNSIGNED NOT NULL,
`inume` varchar(155) NOT NULL,
`descriere` varchar(255) NOT NULL,
`serviciu` int(11) NOT NULL,
`sr_raport` char(8) NOT NULL,
`nr_raport` char(4) NOT NULL,
`durata` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `modele` (
`id` int(10) UNSIGNED NOT NULL,
`ec_id` in t(11) NOT NULL,
`ec_nume` varchar(150) NOT NULL,
`mnume` varchar(35) NOT NULL,
`ec_obs` varchar(150) NOT NULL,
`ec_putere` varchar(20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE `organigrama` (
`id` int(11) NOT NULL,
`uid` int(11) NOT NULL,
`sid` int(11) NOT NULL,
`tid` int(11) NOT NULL,
`stare` int(11) NOT NULL DEFAULT '1' COMMENT '0 -sters;1 –
activ;2 -suspendat'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE `planificari` (
`pl_id` int(10) UNSIGNED NOT NULL,
`cl_id` int(4) UNSIGNED NOT NULL COMMENT 'id client',
`zone_id` tinyint(4) NOT NULL,
`sid` int(11) NOT NULL COMMENT 'id serviciu',
`eid` int(11) NOT NULL COMMENT 'id echipa',
`data_add` datetime NOT NULL,
`data_end` datetime NOT NULL,
`status` tinyint(4) NOT NULL COMMENT '1 -Fara componenta',
`observatii` text NOT NULL CREATE TABLE `responsabili_servicii` (
`id` int(11) NOT NULL,
`id_serv` int(11) NOT NULL,
`id_user` int(11) NOT NULL
) ENGINE=InnoDB D EFAULT CHARSET=utf8;
17
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `users` (
`id` int(10) UNSIGNED NOT NULL,
`nume` varchar(55) NOT NULL,
`prenume` varchar(55) NOT NULL,
`usnume` varchar(55) NOT NULL,
`parola` varchar(55) NOT NULL,
`email` varchar(55) NOT NULL,
`telefon` varchar(35) NOT NULL,
`fix` varchar(35) NOT NULL,
`cnp` varchar(13) NOT NULL,
`tid` int(11) NOT NULL,
`role_id` int(11) NOT NULL,
`avatar` varchar(190) NOT NULL,
`rank` int(11) NOT NULL,
`last_login` datetime NOT NULL,
`zone_id` int(11) NOT NULL,
`data_start` timestamp NOT NULL DEFAULT
CURRENT_TIMESTAMP,
`data_end` timestamp NOT NULL DEFAULT '0000 -00-00
00:00:00',
`acces_app` tinyint(1) NOT NULL DEFAULT '0',
`interior` varchar(4) NOT NULL DEFAULT '0101',
`interior_key` varchar(30) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE `servicii_clienti` (
`se_id` int(11) NOT NULL,
`cl_id` int(11) NOT NULL,
`in_id` int(11) NOT NULL,
`interventie` varchar(100) NOT NULL,
`mo_id` int(11) NOT NULL,
`model` varchar(150) N OT NULL,
`ec_id` int(11) NOT NULL,
`echipament` varchar(100) NOT NULL,
`ec_putere` varchar(20) DEFAULT NULL,
`serie_ec` varchar(55) NOT NULL,
`oc_obs` varchar(150) NOT NULL,
`pret_old` decimal(6,2) NOT NULL,
`pret_new` decimal(6,2) NOT NULL,
`data_add` date NOT NULL,
`data_upd` date DEFAULT NULL,
`data_end` date DEFAULT NULL,
`data_fin` date DEFAULT NULL,
`sr_raport` varchar(50) NOT NULL,
`nr_raport` varchar(50) NOT NULL,
`nota` varchar(255) NOT NULL,
`nota_fin` varchar(255) DE FAULT NULL,
`serv_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`nota_id` int(11) NOT NULL,
`cod_client` varchar(150) NOT NULL,
`revizie_gaz` varchar(50) NOT NULL,
`pret_manopera` int(10) UNSIGNED NOT NULL,
`pret_materiale` int(10) UNSIGN ED NOT NULL,
`tva_manopera` varchar(10) DEFAULT NULL COMMENT 'cu
tva = null , fara tva = NU',
`tva_materiale` varchar(10) DEFAULT NULL COMMENT 'cu tva
= null , fara tva = NU',
`cod_tehnic` varchar(100) DEFAULT NULL,
`particular` int(11) DEFAULT NUL L
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `users_tip` (
`id` int(10) UNSIGNED NOT NULL,
`nume` varchar(55) NOT NULL,
`observatie` varchar(150) NOT NULL,
`sorder` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE `ech ipamente` (
`id` int(10) UNSIGNED NOT NULL,
`enume` varchar(150) NOT NULL,
`desc` varchar(255) NOT NULL,
`pret_in` decimal(6,2) NOT NULL,
`pret` decimal(6,2) NOT NULL,
`obs` varchar(150) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
18
4.2 Modu lele si interfat ele aplicatiei
În ceea ce privește crearea interfeței aplicației Web, m -am folosit de experinta mea
acumulata in timp desre UX desgin si de framework -ul de front -end bootstrap , pentru a
crea o platforma CRM “user-frendly”, cu o interfa ță simplă de utilizat astfel încât
angajatii să nu întâmpine probleme în momentul accesării acesteia, ci să obțină
informațiile necesare cu ușurință.
Am creat un meniu vertical care cuprinde opțiuni care pot fi accesate de către
utilizatori, precum:
Fig 4. Panoul de control
Fiecare modul al aplicatiei interactioneaza cu controller -re si model -e pentru a indeplinii
functionalitatile aplicatiei. Modulele aplicatiei:
1. Modul autentificare;
2. Modulul angajati;
3. Modulul clienti ;
4. Modulul echipamentelor;
5. Modulul program ari;
6. Modulul call center;
7. Modulul organigrama;
8. Modul configurari;
9. Modulul rapoarte.
19
4.2.1. Modulul autentificare
Autentificare in CRM se face baza unui unui username si o parola criptata. Acest
modul foloseste biblioteca bcrypt pentru criptarea parolelor s i verificarea autenticitatii.
Am folosit clasa Query Builder oferit a de Codeigniter pentru escapare a string -urilor si
pentru prevenirea atacurilor de sql injection.
Query Builder permite ca informațiile să fie preluate, inserate și actualizate în baza de
date cu scripturi minime. În unele cazuri, sunt necesare doar una sau două rânduri de cod
pentru a efectua o acțiune in baza de date. CodeIgniter nu necesită ca fiecare tabelă din
bază de date să aibe propriul model doar daca este necesara implementarea un or cerine
mai complexe .
$data = array('username' => $row['username' ]);
$query = $this->db->get_where (TBL_USERS, $data);
Dincolo de simplitate a codului , un avantaj major al utilizării funcțiilor Query Builder
este că permite să crearea aplic ațiilor independente de baze de date, deoarece sintaxa de
interogare este generată de fiecare model de bază de date. De asemenea, permite
interogări mai sigure, deoarece valorile sunt escapate automat de sistem.
Fig 3. Autentificarea in CRM
4.2.2 Modulul angajati
Fiecare angajat este adaugat de manual de administrator in acest modul sau de in cel
configurari. Fiecarui angajat i se atribuie date precum: username, nume, prenume, parola,
telefon mobil sau fix, adresa de email, zona de operare, avatar, functi e si nivel de
administrare. Modulul angajati permite vizualizarea profilele angajatilor intr -un tabel,
adaugarea, editarea si stergerea lor . In dreptul fiecarui dispecer este pozitionat un buton
(
) ce ofera posibilitatea de a vizualiza lista cu client i atribuiti , de a o exporta in format
PDF si EXCEL .
20
Lista clienti atributi
Acest modul este divizat in 2 tipuri de utilizatori in functie de nivelul de administrare:
• Administrator
• Angajat(dispecer, instalator)
Profil angajat
Acest modul ofera adminitra torului sau dispecerilor posibilitatea de crea echipe de
instalatori pentru a opera pe anumite zone , dar si de a modifica aceste echipe .
Formular de adaugare echipa
Formular de editare echipa
21
Acest modul permite monitorizarea concedilor angajatilor. Orice utilizator poate
sa isi vada proprile cereri de concedii sau de a adauga o cerere in sistem, urmand sa fie
aprobata sau respinsa de administratori.
4.2.3 Modulul clienti
Rolul acestui modul este de a administra datele despre clientii firmei prin vizualizarea
acestora intr -un tabel ce are ca functii:
• Exportarea clientilor in format Excel sau PD F;
• Tiparirea listei de clienti;
• Cautarea in orice camp al tabelului , cautarea ramane salvata pentru cand se revine
la tabel ;
• Sortarea tabelului in functie de orice camp dorit;
• Fisa client;
• Adaugarea de servicii ;
• Editarea clientului si a serviciilor sale;
• Adaugarea si s tergerea clientului (drept do ar de administrator) .
Interfata t abel clienti
Lista concedii
Formular adaugare cerere concediu
22
Formular adaug are servicii
Fisa client CRM
Fisa client CRM este foarte importanta pentru dispeceri deoarece le ofera acestora
posibilitatea de a vizualiza istoricului activitatii clientului. In header este plasat un buton
shortcut pentru editarea rapida a datelor clientului. Interfata este compusa din:
• datele clientului ;
• date despre centrala sau centralele clientului;
• date serviciu.
Dupa selectarea echipamentului trebuie selectata interventia pe echipament pentru a
putea vedea si a efectua operatii asupra datelelor ser viciului. Panoul cu date despre
serviciu ofera posibilitatea editarii datelor in cazul in care se introduc date gresite.
23
Dispecerii pun la dispozitie instalatorilor fisa clientului exportata din aceasta fereastra
iar dupa finalizarea interventiei se revin e cu fisa initiala completata cu notele aferente
pentru a fi introdusa in sistem. Doar angajatii cu drept de administrator au posibilitatea de
a sterge servicii sau fisere incarcate .
Formular editare serviciu
Formular adaugare fisiere
Fisierele incarcate de catre dispecer pot fi:
• Raport verificare;
• Livret cu declaratie
• Fisa client
• Sesizare
Fisa client realizata cu mpdf
In cazul efectuari unu serviciu de tip VTP (Verificare Tehnica Periodica) dispeceri pot
reinoi aceste servicii di rect din fereastra X accesand butonul de reinoire.
24
4.2.4 Modulul echipamentelor
Pentru fiecare echipament folosit in efectuarea serviciilor se doreste tinerea in
evidenta a certificatelor de functionare, urmand ca certificatele acestora sa fie reinoite l a
momentu expirari. Evidenta certificatelor joaca un rolul important in firma, deoarece
ajuta sa functioneze in cadrul legal.
In interfata “Echipamente” angajati firmei pot efectua operatii precum:
• Vizualizarea certificatelor unui echipament;
• Reinoirea ce rtificatelor;
• Adaugarea echipament;
• Editarea echipamentelor;
• Stergerea echipamentelor;
• Exportare in format Excel si PDF;
• Tiparire imprimanta;
• Cautare in tabel;
• Sortare campuri.
Interfata echipamente
4.2.5 Modulul programari;
4.2.6 Modulul call center;
4.2.7 Modul organigrama
Organigrama are ca scop scoaterea in evidenta a structurii ierarhice in companie
divizata pe departamente. Organigrama ajuta angajatii noi sa se identifice ca pozitie in
companie. Orice companiei ce are nevoie de o organizare mai cl ara si are minim 5
angajati, ar trebuii sa aiba in functie de trategia de business o organigrama actualizata,
deoarece pe masura ce numarul angajtilor creste devine tot mai dificil identificarea
rolului. Pentru implementarea unei organigrame concrete, se r ecomanda urmarirea
particularitatilor organizatiei.
Legislatia muncii nu obliga realizarea organigramei, dar este solicitate de
institutiile publice atunci cand se inregistreaza contracte de munca la nivel de
departament sau atunci cand se intocmeste regul amentul de ordine interioara.
Pentru analiza fortei de munca in companie am aplicat formula idicatorului de
fluctuatie a personalului pe o perioada de un an de zile, ca raport intre numarul angajatilor
care au plecat si efectivul mediu de angajati.
25
Formul a: Numarul angajatilor care au plecat / Efectivul mediu de angajati x 100
Este foarte important ca atunci cand se face analiza pe forta de munca sa se faca
diferentiat, atat pe nivelul ierearhic, cat si pe orizontala,verticala, calificare, varsta.
In organ igrama se pot efectua operatii precum:
• Adaugare unei pozitii in organigrama
• Adaugare angajatului pe pozitie
• Adaugare subordinate
• Editare angajat
• Redenumire functie
• Avansare
• Devansare
• Rekicare
• Suspendare
• Activare cont agent
• Sterge pozitie
Organigrama
4.2.8 Modul configurari;
4.2.9 Modulul rapoarte.
26
4.3 Securitatea aplicatiei
4.4 Mentenanta aplicatiei
Capitolul 5 – Concluzii
Consider c ă interfața CRM -ului nu este una greu de folosit, fiind “prietenoasă cu
utilizatorul”, astfel încât informațiile pe car e utilizatorii le doresc, se accesează cu
usurință datorită meniului vertical care le permite trecerea de la o pagină la alta.
Prin intermediul acestei aplicații Web, societatea comerciala Varoval are o bază
bine stabilită de informații despre clienți, ang ajați, programările fiecărui client, lista cu
servicii pe care un client le deține, deasemenea ține actualizate certificatele de
funcționare . Programările nu se fac doar telefonic, ci și on -line, prin completarea unui
formular cu datele necesare, reprezent ând astfel un avantaj nu doar pentru clienți , cât și
pentru angajații companiei .
Toate datele stocate în baza de date sunt securizate, putând fi accesate doar de
angajații companiei prin intermediul unui cont. Fiecar ui angajat i se atribuie un cont,
pentr u a accesa datele .
Cu siguranță numărul de funcții al sistemului software poate să crească, astfel
încât aplicația să fie și mai utilă pentru utilizatorii săi.
În ceea ce privește experiența mea în realizarea lucrării, consider că am acumulat o
gamă vastă de cunoștințe despre limbajele folosite prin intermediul cărora am dezvoltat
aplicația .
În concluzie această aplicație oferă facilitățile de bază pentru o bună funcționare a
unui societăți comerciale care prestează servicii, fiind utilă atat angajaților c at și clienților
putând fi utilizată cu ușurință.
27
Bibliografie
1. Codeigniter. (n.d.). Documentation . Retrieved from Codeigniter:
https://www.codeigniter.com/user_guide/
2. Dumitrașcu. (2003). HTML. In Dumitrașcu, HTML. Editura Universității Petrol –
Gaze din Ploiești.
3. Gartner. (n.d.). How to Develop a CRM Strategy . Retrieved from Gartner:
www.gartner.com
4. Marinoiu. (2011). Marinoiu. In Marinoiu, Programare in PHP. Ploiești: Editura
Universității Petrol -Gaze din Ploiești.
5. Microsoft. (n.d.). Visual Studi o Code . Retrieved from Visual Studio Code:
https://code.visualstudio.com/
6. Wikipedia – Encilopedia libera . (n.d.). Retrieved from
https://ro.wikipedia.org/wiki/CRM
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: Aplica ție Web pentru managementul relațiilor cu [619959] (ID: 619959)
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.
