Maximmihaela Licenta V1bun [307480]
PROIECT DE DIPLOMĂ / LUCRARE DE LICENȚĂ
Îndrumător proiect/Coordonator științific,
Ș.l. ing. Dan MUNTEANU
Absolvent: [anonimizat]
2018-2019
SPECIALIZAREA: CALCULATOARE ȘI TEHNOLOGIA INFORMAȚIEI
Aplicatie pentru gestiunea unei
clinici veterinare
Coordonator științific,
Ș.l. ing. Dan MUNTEANU
Absolvent: [anonimizat]
2018-2019
Rezumat
Aplicatia software pentru gestiunea unei clinici veterinare este destinata monitorizarii activitatilor desfasurate in cadrul cabinetelor veterinare pentru o gestionare mai facila a timpului si al resurselor atat pentru pacient: [anonimizat].
În Introducere se regăsesc date generale despre domeniul pe care îl vizează această aplicație și motivația care a condus la realizarea sistemului.
[anonimizat], [anonimizat], precum si specificațiile tehnice ale aplicației propuse spre dezvoltare.
[anonimizat], [anonimizat] a doctorului impreuna cu functiile pe care acestia le detin.
[anonimizat], vor fi prezentate Diagrame UML pentru modelarea structurii aplicatiei impreuna cu proiectarea la nivel conceptual respectiv logic si fizic a bazei de date.
Capitolul cinci este destinat implementarii sistemului unde se vor descriere limbajele si tehnologiile ce vor fi utilizate pentru dezvolatarea produsului software precum si motivul alegerii fiecarui limbaj de dezvoltare.
CUPRINS
Introducere 1
Capitolul 1. Analiza Problemei 2
1.1. Aplicatii Similare 2
1.1.1 https://vet.digitail.io/patients 3
1.1.2 https://vet.tgd.ro 3
1.1.3 http://www.keysoft.ro 3
Capitolul 2. Specificarea cerintelor 4
Capitolul 3. Proiectarea sistemului 5
Capitolul 4. Implementarea sistemului 6
Concluzii 7
Bibliografie 8
Anexa 1 9
LISTA FIGURILOR
Fig. 1 Schema echivalentă a mașinii asincrone în regim staționar 2
LISTA TABELELOR
Tabelul 1 Titlul tabelului 3
Introducere
Datorită cererii de digitalizare a [anonimizat], [anonimizat] a fi conectați și pentru a [anonimizat]. [anonimizat].
Utilitatea unui sistem electronic de evidenta al pacientilor se vede atunci cand realizam ca multe dintre cerintele birocratice se pot automatiza. [anonimizat].
[anonimizat] a unui cabinet veterinar este o idee care raspunde unei nevoi reale a pietii si va avea succes.
[anonimizat].
Efectuarea actiunilor de supraveghere a animalelor, [anonimizat] a preveni si combatere bolilor transmisibile revin in atributiile unui medic veterinar. Aceste actiuni pot fi monitorizate intr-un cadru digitalizat pentru a fi la indemana in orice moment.
Activitatea de supraveghere a animalelor de catre medic este determinata in urma unor consultatii periodice sau necesare, in vederea stabilirii unui diagnostic sau efectuare unui serviciu.
De multe ori programarea pacientilor necesita timp pe care un doctor nu si-l permite. In acest scop am propus un sistem de programare accesibil proprietarilor de animale inregistrati in sistem. Pe baza unui tabel pot fi vizualizate orele si zilele disponibile din luna curenta si urmatoare. Utilizatorul inregistrat cu datele personale respectiv datele animalului detinut, poate efectua o programare in functie de ora si data dorita si de disponibilitatea lor. In urma programarilor efectuate, medicul confirma programarea ce va fi notificata pe profilul pacientului. In vederea efectuarii consultatiei, medicul va prescrie un tratament impreuna cu costul acestuia.
De asemenea, in pagina de profil a pacientului este disponibil un Chat individual si de grup in vederea interactiunii intre clienti.
Aplicatia dispune de o sectiune de cumparaturi similara cu un magazin Petshop, de unde clientii pot achizitiona produse disponibile in clinica. Aceasta sectiune intra in atributia administratorului de clinica ce tine evidenta produselor disponibile respectiv comenzilor solicitate.
Analiza Problemei
Aplicatii Similare
In momentul actual există numeroase aplicatii online pentru gestiunea clinicilor veterinare ce sunt concentrate in special pe partea administrativa. Activitatea se refera in general la activitati specifice ce se desfasoara intr-un cabinet veterinar precum: consultatii, tratamente, vaccinari, interventii chirurgicale, cosmetica si alte tipuri de servicii. Deoarece acestea nu satisfac cerințele clienților datorita faptului că sunt, fie sărace în funcționalități, fie sunt destul de complicate in a fi utilizate, s-a dorit implementarea unui sistem facil, usor de utilizat atat pe partea de administrare cat si pe partea de client.
Cu scopul de a imbunatati functionalitatea unei asemenea aplicatii s-a avut in vedere dezvoltarea altor module curente cum ar fi : sistem de programare online, istoric programari, pagina de prezentare, magazin de tip petshop, sistem chat pentru clienti.
În urma unei analize efectuate pentru a identifica aplicațiile disponibile cu acelasi scop, am considerat următoarele aplicații similare:
https://vet.digitail.io/patients
Această platformă pune la dispoziție functionalitati complexe in partea administrativa, fiind concentrata pe activitatea personalului administrativ, dar nu ofera facilitati pentru clienti precum vizualizarea tratamentelor prescrise, sau un sistem de programare actualizat cu ora si data disponibila.
https://vet.tgd.ro
Platforma prezinta un sistem informatic integrat, modular pentru evidenta pacientilor, internarilor si a tratamentelor, dar nu ofera o buna interfata grafica, intuitiva pentru atingerea scopului .
http://www.keysoft.ro
Platforma dispune de aceleasi facilitate de management a unei clinici veterinare, organizata corect si concis. Prezinta un modul demo ce vine in ajutorul cabinetelor pentru a testa facilitate aplicatiei. In schimb, platforma nu pune in evidenta serviciile oferite de clinica, ceea ce pentru un client este esential, iar pentru clinica prezinta un dezavantaj.
http://freidavet.ro
Este o platforma simplista, cu scop promovativ, incluzand si o sectiune pentru achizitionarea de produse cu uz veterinar. Aplicatia web are in componenta si un modul de programare online, dar acesta nu este definitivat intrucat nu este disponibil orarul curent si orele libere din decursul unei zi.
Organizarea serviciului veterinar.
Termenul de gestiune reprezinta capacitatea organizatorica si ansamblul acțiunilor de sistematizare și conducere a tuturor activităților în scopul adoptării deciziilor optime în proiectarea și desfășurarea unor procese de natura economica.
Astfel managerul este persoana care detine capacitatea de a administra, conduce și organiza o afacere sau o instituție.
Desfășurarea activitatii de gestionare presupune ordonarea acțiunilor ce trebuie întreprinse, antrenate prin mijloace de solutionare si gestionare a resurselor. Un manager dispune de autoritatea de a lua decizii si găsirea unor metode avansate de organizare și desfășurare a activităților în domeniul serviciilor, care în anumite condiții și moduri de utilizare fac posibilă atingerea obiectivelor dorite.
Totodată managementul prezintă un serviciu organizat de activitati, momente care nu întotdeauna sunt binevenite în practica medical – veterinară, unde pe prim loc trebuie sa fie gândirea medicală și calitatea serviciului.
În managementul modern se consideră că următoarele principii au un succes semnificativ de crestere a calitatii serviciilor, care de asemenea se pot utiliza și în cazul medicinei veterinare cu succes:
Centralizarea
Disciplina
Sistematizare
Diviziunea muncii și specializarea
Corespondența dintre responsabilitate si autoritate
Importanța inițiativei
Subordonarea interesului individual față de cel general
Stabilirea postului personalului
Importanța spiritului de cooperație.
Organizarea controlului
Planificarea serviciului
Aceste principii trebuie luate in calcul atunci cand se doreste o buna planificare a unei politici interne a clinicii ce are la baza obiective clare a modului de gestiune si de punere in functiune a activitatii desfasurate urmand astfel o finalizare a proceselor coerenta si concisa.
Medicina veterinară ca știință, cuprinde o atributie esentiala prin care persoanele specializate in domeniu, medicii veterinari, sustin în mod direct și necondiționat, sănătatea publică a animalelor. În prezent medicul veterinar în activitatea sa detine 3 priorități fundamentale:
Sănătatea animalelor,
Sănătatea omului,
Protecția mediului.
Sarcina unui medic veterinar este de a oferi diferite servicii folosind multiple metode de imbunatatire si mentinere a sănătății animalelor, ce vin in ajutorul acestora cat si a iubitorilor de animale. În această ordine de idei rolul medical constă în prevenirea, combaterea și tratarea bolilor specifice animalelor și de a garanta o buna conduita a stilului de viata a unui animal.
În avalanșa schimbărilor din țara noastră, medicul veterinar este nevoit să facă față unor permanente provocări. În cabinetele veterinare de mici dimensiuni, cu resurse limitate, mediicii sunt nevoiti să învețe cum să isi gestioneze eficient activitatea, să se descurce în problemele contabile, să aleagă din multitudinea de oferte de produse și servicii și să facă față unei concurențe care este și va fi din ce în ce mai acerbă. Toate acestea activitati necesita timp, astfel medicul este distras de la obligatiile de baza.
Organizarea dinamica se refera la faptul ca orice unitate trebuie sa se adapteze continuu pentru a satisface cerințele impuse de clientelă sau de evoluția cerintelor solicitate de piata. Prin structura lor organizatorică, unitățile medical-veterinare sunt de dimensiuni mici și de aceea pot stimula spiritul creator, întreprinzător și inovator
Identificarea tipurilor de utilizator
Scopul aplicatiei este realizarea unui produs software care vine in ajutorul unui numar cat mai mare de utilizatori, atat personalului cabinetului cat si pacientilor. Acest lucru avantajeaza semnificativ medicii, care de multe ori prezinta o deschidere din ce in ce mai mare catre solutiile dezvoltate de domeniul IT in practica lor medicala. Obtinerea de informatii privind datele despre animale, programari, precum si tratamentele prescrise in urma unei consultatii intr-un mediu digitalizat, accesibil oricand cat si dispunerea de produse de ingrijire online pentru animale.
Prin aceasta aplicatie se doreste imbunatatirea eficientei operationale prin:
Fluidizarea si imbunatatirea fluxului de lucru dintr-un cabinet veterinar
Gestionarea unui volum ridicat de date medicale
Punerea la dispozitie personalului medical de informatii in timp real
Fluidizarea programarilor
Descrierea atributiilor medicului in cadrul unei consultatii:
In carul primei consultații medicul se angajeaza sa informeaze proprietarul referitor la condițiile de viață necesare animalului precum alimentația necesara, detalii legate de creștere și îngrijire si acțiunile obligatorii de igienă.
Realizează examenul clinic al animalelor la fiecare vizita programata, pentru a detecta natura problemei de sănătate.
Pe baza examenului clinic se stabilesc pașii următori – diagnosticul în cazul animalelor bolnave sau necesitatea unor analize suplimentare de laborator prealabile diagnosticului.
Recoltarea de probe biologice pentru investigații suplimentare in caz de necesitate.
Trimiterea spre laborator a probelor biologice pentru analize suplimentare.
Recomandarea procedurilor de radiografie sau ecografie înaintea stabilirii diagnosticului.
Interpretarea rezultatelor analizelor de laborator și luarea deciziilor privind diagnosticul, pe baza acestora.
Stabilirea în funcție de diagnostic un tratament pentru animal, care se poate realiza in cabinetul medical sau la domiciliu, de către proprietar.
Recomandarea în funcție de diagnostic dieta alimentara necesară pe perioada administratii tratamentului.
Pe baza de prescriptie medicala sunt eliberate produsele medicinal veterinare disponibile in cabinet sau achizitionate dintr-un punct farmaceutic.
Administrarea medicatiei necesară în cazul tratamentelor la cabinet (injectabile).
Monitorizarea evoluției animalelor bolnave și ajustarea tratamentului în funcție de stadiul curent a simptomelor.
Evaluarea efectul tratamentului la finalul administrarii.
Realizarea intervențiilor chirurgicale in cazuri necesare dupa o evaluare specifica.
Comunicarea proprietarului tipul afecțiunii, riscurile, informații despre transmiterea bolii la om.
Supravegherea periodica a starea de sănătate a animalelor.
Descrierea atributiilor clientului in cadrul platformei:
Din dorinta de a acoperi si partea de promovare a clinicii, aplicatia isi propune sa pune la dispozitie utilizatorilor o pagina de informare cu privire la serviciile oferite in cadrul clinicii, o scurta introducere a activitatii desfasurate cat si o prezentare a personalului medical specializat. Acest aspect conduce la atragerea potentialilor client. Astfel managementul este folosit în diferite ramuri cum ar fi o buna gestiune a pacientilor activi in clinica respectiv a potentialilor clienti viitori.
Tema acestei lucrări este dezvoltarea unei aplicații online cu ajutorul căreia, în calitate de client, îți poți vizualiza prezentarea clinicii, disponibilitate catre un magazin de achizitionare a produselor specifice unui petshop si a avea acces la un sistem de programare online util pentru a evita deplasarea fizica pentru efectuarea programarii sau efectuarea unei programari la telefon, de multe ori neplacuta.
prescrie medicamente
vaccineaza animalele impotriva anumitor boli
administreaza tratament
monitorizeaza animalele in regim de internare
recolteaza probe biologice
prelucreaza probe in laborator
interpreteaza analize medicale in vederea stabilirii unui diagnostic
sfaturi degate de cresterea si ingrijirea animalelor.
Datorita faptului ca majoritatea clinicilor veterinare au in atributie pe langa cabinetul propriu-zis si o unitate cu produse dedicate animalelor, aplicatia dezvolta un modul similar unui petshop online.
Un magazin de tip petshop reprezinta o unitatea aprobata sanitar-veterinar in conformitate cu normele legislative, care are ca obiect de activitate comerțul produselor medicinale de uz veterinar, incluzând achiziția, stocarea, asigurarea calității acestora si distribuția catre cumparator a produselor medicinale de uz veterinar.
Pentru administarea unui astfel de magazin destinat comercializării, achizitionarii si depozitarii de produse (hrana, accesorii, produse cosmetice, produse cu uz veterinar) indispensabile unui animale de companie, este necesar un angajat ce are ca atributie principala evidenta si gestiunea produselor, comenzilor cat si actualizarea cu noi produse a magazinului.
Descrierea atributiilor administrative in cadrul magazinului:
evidenta produselor
adaugare de produse in stoc
evidenta comenzilor
actualizarea preturilor
actualizarea categoriilor de produse
evidenta platilor incasate
adaugare anunturi de promovare.
Specificarea cerintelor
Această aplicație este concepută în sprijinul personalului medical, de cele mai multe ori cu un program încărcat, astfel încat timpul lor liber este limitat, iar preluarea programarilor prin intermediul telefonului sau direct din clinica, duce la o solicitare suplimentara iar acest aspect distrage de la activitatea prioritara a medicului.
Iată o listă succintă cu cele mai importante operații pe care le propun spre implementare.
Drepturi de acces pentru utilizator
Fiecare client are drepturi de acces pentru vizualizarea profilului clinicii si a magazinului online, dar pentru efectuarea unei programari clientul trebuie sa se autentifice in sistem. Daca acesta nu dispune de un cont, il poate obtine prin intermediul unui formular de inregistrare disponibil pe platforma.
Filtrarea produselor pe categorii.
Magazinul online dispune de mai multe categorii atat pentru produse cat si pentru animale. Categoriile sunt reprezentate de tipul animalului si gama de produse dorite (ex. Categoria Catel-Categoria Hrana)
Adaugarea de produse.
Produsele dorite vor fi adaugate in cosul de cumparaturi. Clientul va avea acces permanent la cos, respectiv actualizarea prin adaugare sau stergerea unui produs.
Profil Pacient
Pacientii inregistrati in sistemul de evidenta al clinicii se pot autentifica cu datele obtinute prin creerea contului (nume, parola). Pe pagina de profil, pacientul poate vizualiza datele de inregistrare (date personale, date animal), efectuarea de prelucrari de actualizare a datelor, solicitarea unei programari, vizualizarea unui istoric al programarilor cat si accesul la un chat public cu toti pacientii inscrisi in sistem.
Drepturi de acces pentru medic
Medicul dispune de dreptul de confirmare a programarii in urma solicitarii clientului. De asemenea efectuarea unei consultatii presupune adaugarea unui tratament ce consta in prescrierea unei medicamentatii specifice afectiunii depistate, calculul produselor prescrise in urma consultatiei cat si observatii referitoare la administrarea tratamentului.
Medicamentatie
Medicamentele de uz veterinar sunt disponibile atat in clinicile de specialitate cat si in punctele farmaceutice veterinare. Aplicatia se concentreaza si pe administrarea produselor farmaceutice disponibile in clinica. Doctorul are dreptul de administrare asupra acestor medicamente.
Operatii CRUD
Un sistem de tip CRUD(Create, Update, Delete) este absolut necesar in majoritatea aplicatiilor pentru gestiune. Produsele farmaceutice pot fi adaugate, modificate sau sterse, in functie de necesitate, de catre medic astfel se pot realiza inventare de stoc sau rapoarte.
Inregistrare pacient
Acest drept il au atat pacientii cat si doctorii. In urma solicitarii din partea unui pacient, doctorul completeaza un formular de inregistrare cu datele personale a pacientului cat si detalii privind animalul pentru care se va face consultatia. Datele animalului (rasa, greutate, status, etc. ) sunt importante pentru un prim consult.
Inregistrare medic
In cazul unei nevoi suplimentare de medici in clinica, doar un medic are dreptul de a adauga alt medic completand un formular cu datele personale, specializarea acestuia si programul de lucru stabilit prin contract.
Vizualizarea pacientilor
Pacientii inregistrati in baza de date a clinicii sunt in evidenta medicilor pe tot parcursul colaborarii. Optinerea de informatii privind datele animalului ajuta medicul in consultatii viitoare. Pentru o cautare mai eficienta, sunt dispuse filtre de cautare astfel rezultatul cautarii dupa un anumit filtru minimizeaza timpul gasirii unui rezultat.
Vizualizarea programarilor
O programare se efectueaza pentru un anumit medic selectat de catre pacient. In pagina de administrare, medicul are acces doar la programarile care ii revin. Exista o evidenta a numarului de programari efectuate in luna curenta ce ajuta medicul sa-si evalueze activitatea din luna respectiva.
Adaugare programari
Dreptul de a efectua o programare ii revine atat pacientului, direct din pagina de profil, cat si a medicului. Acest lucru se poate realiza in cabinet, in cazul in care clientii nu au acces la platforma din diferite motive (Ex. lipsa internetului) sau telefonic. Medicului ii revine obligatia de a-i comunica pacientului data si ora disponibila pentru o viitoare vizita la cabinet.
Adaugare servicii
Medicii efectueaza mai multe servicii in functe de o anumita specializare (Ex. Dermatologie, Ortopedie, etc.) pe care acestia o indeplinesc. La creerea contului, un medic se inregistreaza cu o anumita specializare in functie de studiile efectuate. Intre serviciile disponibile unei anumite specializari exista o tabela de legatura one-to-many, acest lucru determina faptul ca medicul poate presta mai multe servicii.
Date statistice
In sectiunea de administrare, sunt prezentate datele statistice in functie de numărul de clienti noi dintr-o lună, numărul de programari solicitate într-o lună, numarul de programari confirmare respectiv consultatiile realizate. In plus sunt notificate cererile noi de programare.
Drepturi de acces pentru administrator
Avand in vedere ca in atributiile medicului nu se incadreaza si gestiunea produselor ce apartin magazinului de tip petshop, va trebui ca acest rol sa revina unui administrator de magazin.
Administratorul gestioneaza toata activitatea ce se desfasoara in magazinul online, de la plasarea produselor in pagina, organizarea pe categorii, fluidizarea stocului cat si preluarea comenzilor solicitate.
Adaugare Produse
Produsele vor fi adaugate prin completarea unui formular cu specificatiile caracteristice(Ex. Denumire, Pret, Categorie, etc. ). Pentru campurile categorie produs respectiv categorie animal, se va alege optional dintr-o lista prestabilita.
Adaugare Categorii
Produsele sunt disponibile pe mai multe categorii (Ex. Hrana si ingrijire –Spray anti-naparlire). Aceasta filtrare vine in ajutorul clientilor pentru o cautare mai facila a produselor ce prezinta interes. Denumirea si descrierea categoriei de produse sunt inserate in baza de date de catre administrator.
Adaugare Reclame tip Banner
In prima pagina. Magazinul online petshop dispune de un slider ce deruleaza anunturi sau fotografii tematice cu scop publicitar. Pentru a mentine clientii interesati, se pot actualiza reclame ori de cate ori este nevoie.
Modificare Produse
Actualizarea produselor se efectueaza de cate ori este cazul. Avand in vedere ca exista o fluctuatie a pretului dependent de furnizor, pot interveni modificari de pret in orice moment.
Vizualizare Comenzi
Se pot vizualiza toate comenzile aferente clientilor, cu un numar de comanda si statusul de livrare a comenzii, denumirea produsului comandat respectiv cantitatea acestuia.
Vizualizare Clienti
Pastrarea unei evidente a clientilor constituie un avandaj seminificativ in administrarea unui magazin online. De aceea clientii sunt pastrati in baza de date a clinicii.
Vizualizare Stoc Produse
Administratorul pastreaza o evidenta a produselor disponibile in magazin, cu data adaugarii acestora in sistem astfel se pot realiza rapoarte cu numarul de produse adaugate lunar .
Cautare
Cautarea se efectueaza pe baza campului dorit, administratorul introduce denumirea produsului sau alta specificatie, iar produsul cautat va fi returnat in tabel.
2.4 Specificatii tehnice
Ușurința în utilizare. Sistemul să nu fie greoi de înțeles și să modeleze cât mai apropiat situațiile reale. Interfața grafică să fie intuitivă organizată pe meniuri și submeniuri.
Fără bug-uri(defecte). Este foarte important să oferim mai întâi stabilitate și corectitudine sistemului decât să-l creștem foarte mult și să descoperim multe erori abia după aceea când sistemul a ajuns în exploatare.
Proiectarea sistemului
Proiectarea la nivel conceptual
Baza de date a fost realizată folosind MySQL oferit de pachetul XAMPP.
Figură 1-Baza de date
Figură 2-Baza de date
3.2 Proiectarea la nivel Logic
PACIENT [id, username, parola, email, nume_p, prenume_p, domiciliu, ,telefon, nume_animal, rasa, varsta, sex, data_nastere, greutate, tip, status, imagine]
DOCTOR [id, username, parola, email, nume, prenume, specializare, clinica, telefon, imagine]
PROGRAMARE [id, id_doctor, id_proprietar, id_serviciu, data_p, ora_p, nume_d, denumire_c, nume_p,email_p, nume_a, status_programare, numar_ordine]
SPECIALIZARE [id_specializare,_denumire_specializare]
SERVICIU [id_serviciu, id_specializare, nume_serviciu, descriere_s, pret_s]
PROGRAM_ZILNIC [id_program_zilnic,id_doctor, ore]
PROGRAM_SAMBATA [id_program_s, id_doctor, ore]
PROGRAM_DUMINICA [id_program_d, id_doctor, ore]
PROGRAM_SAMBATA [id_program_s, id_doctor, ore]
PROGRAM_CONSULTATIE [id_consultatie_d, id_programare, observatii, data status_consultatie]
CLINICA [id_clinica, id_doctor, nume_clinica]
MEDICAMENT [id_medicament, nume_medicament, producator, data_expirare, categorie_produs, pret_pastila, update_data]
TRATAMENT [id_t, id_medicament, id_programare, id_consultatie, id_serviciu, durata, cantitate_zi subtotal, total]
ADMINISTRATOR [id_administrator, nume, email, parola, fotografie, adresa detalii, telefon]
PRODUSE [id_produs, cat_id_p, cat_id_a, denumire_produs, data_adaugare, img1, img2, img3, producator, descriere, pret]
CATEGORIE_PRODUSE [id_cat_p, p_cat_denumire, p_cat_descriere]
CATEGORIE_ANIMALE [id_cat_a, cat_denumire, cat_descriere]
COMENZI [id_comanda, id_cos, plata, nr_comanda, cantitate, gramaj, data_comada, status_comanda]
PLATI [id_plata, id_comanda, nr_factura, total, mod_plata, cod_plata, data]
RECLAME [id_reclama, id_admin, denumire, imagine]
CHAT [id_chat, id_detalii, to_id_pacient, from_id_pacient, mesaj, timestamp, status]
DETALII CHAT [id_detalii, id_pacient, last_activity, is_type]
Implementarea Sistemului
Pentru realizarea unei bune functionalitati a aplicatiei cat si pentru a creea o interfata interactiva, sugestiva si usor de interpretat pentru utilizator, s-au folosit diferite limbaje de programare cat si alte instrumente de dezvoltare software specifice aplicatiilor web.
PHP
PHP (Hypertext Preprocessor) reprezinta cel mai popular limbaj de scripting, folosit pentru a dezvolta aplicatii web statice sau dinamice de tip server-side. Scripturile PHP pot fi interpretate numai de un server care are la baza plugin-ul PHP instalat.
Un script reprezinta un set de instrucțiuni de programare pentru automatizarea proceselor care sunt interpretare pas cu pas în timpul execuției.
Codul este, de obicei, executat fără compilare spre deosebire de limbajele de programare in care codul trebuie compilat înainte de a putea fi executat. Se folosește încorporat în codul HTML dar se poate utiliza și în mod „linie de comandă” (CLI), permițând astfel crearea de aplicații web autonome.
Serverul interpretează codul PHP și afișează rezultatele în browserele web. Pentru ca serverul să identifice codul PHP din continutul HTML, trebuie întotdeauna să fie cuprins în etichetele php.
Caracteristici:
Flexibilitate
Simplitate
Eficiență
Securitate
Este unul din cele mai importante limbaje de scripting, open-source si cross-platform aceasta înseamnă că poate fi implement pe mai multe sisteme de operare diferite, cum ar fi Windows, Linux, Mac OS etc.
PHP este compatibil cu aproape toate serverele utilizate astăzi fiind considerat un limbaj cu abilitatea de a se conecta la servere de baze de date precum MySQL, Oracle, Sql Server. Este folosit in special pentru adăugarea, ștergerea, modificarea datelor din baza de date dar si pentru a controla accesul utilizatorilor.
PHP este simplu de utilizat, fiind un limbaj de programare structurat, ca și C-ul, Perl-ul sau începând de la versiunea 5 chiar Java, sintaxa limbajului fiind o combinație a celor trei.
HTML
Hypertext Markup Language reprezinta un standard de marcare open-source ce sta la bază construirii paginilor și a aplicațiilor web. Acesta definește conținutul unei pagini, împreună cu alte tehnologii software conceput pentru a descrie funcționalitatea aplicatiei (JavaScript) si interfata propusa (Cascading Style Sheet) facand posibilă organizarea și formatarea documentelor. Este utilizată în cea mai mare parte pentru pagini web statice. Pentru funcționalități dinamice se integrează cu ușurință cu limbaje folosite in backend cum ar fi PHP și Node.js, etc.
Documentele HTML sunt fișiere ce se termină cu extensie .html sau .htm. interpretate de orice browser web (Google Chrome, Safari sau Mozilla Firefox). Browserul primesc documentul de la un server web ca mai apoi sa il citeasca și sa redea conținutul interpretat de acesta, astfel utilizatorii de internet să-l poată vizualiza într-o pagină multimedia.
Fiecare pagină HTML este alcătuită dintr-un set de etichete numite și elemente, ce identifica textul, imagini și alte tipuri de conținut care urmează să fie afisate în browser. Ele creează o ierarhie care structurează conținutul în secțiuni, paragrafe, titluri și alte blocuri de conținut. Aceste blocurile de bază ale paginilor HTML numire “markups” sau “tags” sunt bucăți de cod ce încep întotdeauna pe o nouă linie și ocupă toată lățimea disponibilă.
Declarația <! DOCTYPE html> se definește la inceputul paginii, reprezentand documentul ca fiind de tipul HTML. Cele trei etichete de nivel de bloc pe care fiecare document trebuie să le conțină sunt <html>, <head> și <body>. Elementul radacina este reprezentat de tag-ul <Html> care acoperă fiecare pagină si include toate tag-urile aferente. Eticheta <head> conține meta informații, cum ar fi titlul și caracterele paginii. În cele din urmă, eticheta <body> acoperă tot conținutul care apare pe pagină. Aceste tag-uri introduse în conținutul unei pagini furnizează informații despre tipurile de elemente ce urmează fi afișate.
Ultima versiune a HTML-ului standard este HTML5, publicată în octombrie 2014 de către World Wide Web Consortium și a fost conceput pentru a satisface toate nevoile pe care programatorii le au și doresc să le pună în practică fără a fi nevoia unor software-uri adiționale precum plugin-urile browser.
CSS (Cascading Style Sheets)
CSS reprezintă un limbaj de design destinat simplificării procesului de prezentare a paginilor web. Se ocupă in special de stilizarea si organizarea elementelor componente incluse intr-o pagina web si ofera un control puternic asupra prezentării unui document HTML. Se foloseste impreuna cu limbajul de marcare HTML, efectuand toate prelucrarile componentelor acestuia.
Modul în care sunt atribuite stilurile diferitelor elemente HTML se face utilizând fișiere externe ce au extensia .css sau în interiorul documentului, folosind cuvântul cheie "style".
Folosind CSS, se poate controla culoarea, dimensiunea, textelor, stilul fonturilor, distanța dintre elemente, modul în care sunt dimensionate și dispuse coloanele, modelele de aspect, cat si variațiile de afișare pentru diferite dispozitive și dimensiuni ale ecranului.
Aplicația implementată în acest articol utilizează CSS pentru a face cât mai atractiv conținutul și paginile aplicației implementate.
Avantajele CSS:
Economiseare timpului – eliminarea redundanței în ceea ce privește repetabilitatea specificării unui stil pentru mai multe elemente prin reutilizarea aceeleași formatari în mai multe pagini HTML.
Incarcă mai repede a paginilor – nu este necesara scrierea atributelor tag-urilor HTML de fiecare dată. Se declara o regulă CSS a unei etichete care va fi aplicața la toate aparițiile acelei etichete.
Întreținere ușoară – Pentru a efectua o schimbare globală, se va inlocui stilul cu cel dorit iar toate elementele din paginile web vor fi actualizate automat.
Compatibilitatea cu mai multe dispozitive – foile de stil permit optimizarea conținutului pentru mai multe tipuri de dispozitive. Prin utilizarea aceluiași document HTML, diferite versiuni ale unui site web pot fi prezentate pentru dispozitive portabile.
Bootstrap
Bootstrap este cel mai populat framework open source pentru dezvoltarea de proiecte mobile, receptive, pe web. A fost conceput pentru a lansa dezvoltarea front-end a aplicațiilor împreună cu plugin-uri jquery oferind suport pentru layout-uri responsive. Designul receptiv face posibil ca o pagină web sau o aplicație să detecteze dimensiunea și orientarea ecranului utilizatorului și să adapteze automat afișajul. Acesta conține șabloane de design CSS bazate pe JavaScript pentru a fi aplicate pe elemente precum butoane, formulare, navigație și alte componente ale interfeței.
Foloseste colecții reutilizabile de cod scrise în HTML, CSS și JavaScript pentru a construi rapid site-uri web complet interactive astfel timpul alocat stilizarii se reduce semnificativ. Bootstrap vine cu propriul sistem de grid predefinit, astfel trebuie doar adaugate clasele predefinite pentru a optine aspectul dorit.
JavaScript
JavaScript este un limbaj de programare interpretat la nivel înalt, orientat obiect ce se bazeaza pe conceptul prototipurilor astfel nu este nevoie să fie compilat. Acesta face ca paginile web sa actioneze într-un mod interactiv și dinamic. Acest lucru permite paginilor să reacționeze la evenimente, să afișeze efecte speciale, să accepte text variabil, precum si validarea datelor, sau creerea sau setarea de cookie-uri. De asemena permite scriea si citească fișiere in mod arbitrare, manipularea paginilor web, precum si interacțiunea cu utilizatorul respectiv cu serverul de web.
Reprezinta un limbaj open-source și cross-platform, de obicei, fie încorporat direct într-o pagină web, fie referit printr-un fișier cu extensia .js separat. Scriptul este descărcat si procesat pe mașinile utilizatorilor, spre deosebire de limbajul unui server care este executat pe server înainte de a trimite fișiere utilizatorilor.
Când browserul web încarcă o pagină web, parserul HTML va începe să analizeze codul HTML și să creeze DOM. Ori de câte ori parserul întâlnește o directivă CSS sau JavaScript (încărcată în interior sau extern), este transmisă parserului CSS sau motorului JavaScript după cum este necesar. Motorul JavaScript încarcă fișiere externe, dar nu rulează imediat codul. Se așteaptă ca parsarea HTML și CSS să se finalizeze. Odată ce acest lucru este realizat, JavaScript este executat în ordinea în care au fost găsite pe pagina web astfel variabilele și funcțiile sunt definite, invocările funcțiilor sunt executate, iar procesatorii de evenimente sunt declanșați. Aceste activități duc la actualizarea DOM prin JavaScript și modificarile sunt redate instantaneu de browser
Acesta este folosit în principal pentru a îmbunătăți paginile web astfel se ofera o experiență mai ușor de utilizat. Acestea includ actualizarea dinamică a paginilor web, îmbunătățiri ale interfeței cu utilizatorul, cum ar fi meniuri și casete de dialog, animații, grafică 2D, hărți interactive, alerte, etc.
Jquey
jQuery este o bibliotecă open-source JavaScript extrem de populară și utilizată pe scară largă, ce simplifică și adaugă compatibilitate browser-ului.
Biblioteca a fost lansată in 2006 de către John Resig oferind avantaje multiple prin simplificarea navigării documentelor, realizarea animațiilor, selectarea si parcurgerea elementelor DOM, dezvoltarea aplicațiilor AJAX și gestionarea evenimentelor.
jQuery preia sarcinile comune ce necesită multe linii de cod JavaScript pentru a le realiza și a le împachetează în metode ce se pot fi apelate cu o singură linie de cod.
Oferind soluții ușoare pentru pop-up-uri modale, tranziții, caruseluri de imagine și plugin numit scrollspy, care actualizează automat bara de navigare pe măsură ce se parcurge o pagină.
Ajax
Realizarea aplicatiei
Descrierea aplicației
În cadrul acestui capitol este prezentată toată logica aplicației la nivel de interfață, fiind descrisă fiecare pagină în parte, cu poziționarea și rolul fiecărui element component al fiecărei pagini.
Aplicația a fost realizată pe 3 module diferite. Primul modul consta in drepturile utilizatorului autentificat in sistem. Utilizatorii ce nu detin un cont de autentificare, vor avea acces la pagina de promovare a clinicii cu scop informativ.
Pagina de start a platformei
Figură 3-Pagina de start
În cadrul acestei pagini se regăsește bara de navigare, pozitionata in partea din dreapta, sus, a paginii, ce cuprinde 5 secțiuni, după cum urmează:
secțiunea Servicii, ce are rolul de a pune în evidenta, specializarile medicilor si serviciile prestate în cadrul clinicii.
secțiunea de magazin, unde clienții pot intra pentru a vizualiza produsul pe care doresc să îl achiziționeze;
link către pagina de contact;
secțiunea de Autentificare pe care clienții o pot accesa pentru a intra în contul propriu;
Pagina de start contine un slider ce deruleaza progresiv imagini reprezentative cu activitatea desfasurata in clinica conferind astfel un implact vizual atragator si prezentabil vizitatorilor. Sectiunea Despre Noi prezinta o scurta descriere a clinicii, detalii despre experieta medicilor cat si specificatii in vederea disponibilitatii interventiilor in deplasare.
Figură 4-Informatii Generale
Calitatea unor servicii bine prestate se doreste a fi pusa in evidenta in sectiunea „Noi va putem oferi” , situata in partea de jos a paginii, ce dispune de patru icon-uri ce simbolice, ce pun in valoare competenta respectiv dorinta personalului clinicii de a-si indeplini cu succes atributiile.
Pagina de contact
În continutul acestei pagini se doreste prezentarea personalului clinicii
Figură 5-Prezentare Personal
Pagina de contact in partea de jos a paginii se împarte in două secțiuni. În prima secțiune, în stânga paginii, se află locația exactă a sediului fizic, reprezentată prin intermediul platformei Google Maps. În cea de-a doua secțiune, în partea dreaptă, se regăsesc intr-o sectiune de tip formular, trei câmpuri precum: Nume, Adresa de E-mail, Mesaj.
Pentru a stabili o legătura in particular cu un reprezentant al clinicii in vederea obtinerii mai multor detalii, utilizatorul va complete formularul cu datele necesare respeciv mesajul dorit. După ce toate datele au fost completate, clientul va trimite cererea apasand butonul Trimite. Statusul “Trimite mesaj” se va actualize cu “Mesaj trimis” in momentul plasarii cererii de trimitere.
Figură 6-Pagina de Contact
Pagina de autentificare
Aplicația are un modulul de autentificare. În cazul în care este un pacient inregistrat, dupa autentificare, acesta v-a intra direct in pagina de profil. In cazul in care utilizatorul nu este inregistrat in baza de date a clinicii, se va active o alerta ce va mentiona ca acel cont nu este existent, apoi va fi redistribuit automat in pagina de inregistrare.
Figură 7-Pagina de Autentificare
In acest sistem de autentificare sunt tratate doua roluri: cel de pacient si respectiv cel de doctor. Ambele autentificari, atat ca doctor cat si pacient sunt tratate in acelasi formular prin definirea unor conditii de autentificare. Se vor compara valorile introduse prin campul nume cu valoarea inregistrata in baza de date.
Pagina de inregistrare
Utilizatorii ce doresc sa intre in sistemul clinicii se vor inregistra cu datele personale pentru autentificare cat si cu datele animalului. In formularul de autentificare, in partea de jos, este dispus un link pentru autentificare, pe baza acelui link, se va face redistribuirea catre pagina de inregistrare.
Figură 8-Pagina de Inregistrare
Formularul este de tip multi-step, astfel utilizatorul va completa mai usor fiecare rubrica in parte. Toate casetele de text sunt verificate prin functii java-script astfel daca sunt introduse date incorecte utilizatorul nu va putea trece la pasul urmator. De asemenea, va fi atentionat printr-un mesaj de tip span sub caseta.
De exempli: Campul email este completat cu alt sir de caractere fata de tiparul specific unei adrese de email. Cand se va apasa butonul Next, mesajul span, va fi vizibil sub caseta completata neadecvat.
Figură 9-Alerta Inregistrare
In urmatoarea sectiune de inregistrare utilizatorul va completa datele personale cat si date de contact precum: Nume, Prenume, Data Nasterii, Domiciliu, Contact.
In ultima rubrica vor fi completate datele animalului ce va intra in sistemul clinicii. Aceste date vor veni in ajutorul medicilor pentru o evidenta cat mai clara a pacientilor Se vor completa datele animalului precum: Nume, Varsta Greutate, Gen, Status, Tip, Rasa respectiv Fotografie. Campul Status reflecta starea pacientului in momentul inregistrarii (Sterilizat, Nesterilizat, Gestant) si campul Tip reprezinta ce animal este (Caine, Pisica, Iepure). Ambele campuri sunt de tip lista.
Figură 10-Inregistrare Animal
Datele sunt preluate de la o sectiune la alta si vor fi transmise in final spre inregistrare. Exista optiunea Inapoi, unde datele vor fi memorate, in cazul in care utilizatorul introduce o valoare gresita astfel nu va trebui sa repete pasii precedenti.
<script>
Pagina Petshop
Din meniul de navigare principal, se acceseaza sectiunea Petshop pentru a vizualiza produsele puse la dispoziție pe platformă avand acces public atat utilizatorii neinregistrati cat si pacientii clinicii.
În colțul din dreapta se regăsește cosul de cumparaturi oferind o evidenta a produselelor adaugate pe tot parcursul navigarii, astfel utilizatorii cunosc tot timpul starea cosului.
Sunt dispuse filtru de sortare, pe care clientul le poate utilizat pentru a obtine produsele in funcție de categoria dorita.
Filtrul pentru categoria produse returneaza obiectele specifice categoriei selectate. Pentru categoria Hrana si Recompense vor fi listate toate produsele inregistrate cu aceasta categorie, astfel sortarea vine in ajutorul utilizatorului pentru ca acesta sa nu deruleze lista cu toate produsele disponibile in clinica, in cautarea unui produs pentru hrana. Similar actioneaza si filtru pentru categoria animale, astfel daca ne intereseaza produsele specifice unui anumit tip de animal, le putem obtine prin aceasta filtrare.
Figură 11-Magazin Petshop
Sunt listate toate produsele aferente categoriei selectate. Fiecare dintre ele reprezentate fiind de fotografia respectiv numele acestora, dar și prețul aferent produsului.
Cu ajutorul butonului Detalii, clientul va fi distribuit pe pagina cu detalii despre produs, pentru a vizualiza specificatiile produsului. Sunt prezentate intr-un slider fotografiile produsului impreuna cu doua campuri, Cantitate si Gramaj. Produsul se poate plasa in cos direct din pagina cu lista de produse, sau din pagina de detalii.
Se vor selecta din lista cantitatea dorita de produse impreuna cu gramajul (marimea) produsului. Butonul Adauga in cos, plaseaza produsele in cosul de cumparaturi, in momentul adaugarii, statusul se va schimba.
In partea de jos a paginii, vor fi listate produse similare, cu scop promovational pe un criteriu random.
Figură 12-Detalii Produs
Cosul de cumparaturi este compus din lista cu produse adaugate de utilizator ce are in componenta cantitatea produselor adaugate, pretul pe unitate, respectiv marimea selectata. Subtotalul este calculat in functie de pretul si cantitatea produselor. Cosul poate fi actualizat in orice moment prin adaugarea sau stergerea unui produs nou din cos.
In partea de jos este calculat totalul preturilor produselor cumulate. Rubrica de raport prezinta un calcul intre pretul total si valori adaugate precum taxa de livrare sau alt taxe suplimenatre. In partea de jos sunt dispuse trei butoane sugestive. Butonul actualizeaza este folosit atunci cand se selecteaza optiunea stergere.
Comanda se finalizeaza atunci cand utilizatorul se autentifica cu contul de client.
Figură 13-Cos de cumparaturi
Functia de calcul ce returneaza pretul total al produselor din cos. Se initializeaza variabila $total=0 apoi se efectueaza interogarea pentru selectarea produselor existente in cos. Conditia while extrage pentru toate produsele din cos, pretul si cantitatea. Se efectueaza o operatie de inmultire intre cele doua, apoi se adauga la total.
Pagina de Profil
Pagina de profil vine in intampinarea pacientilor dupa autentificare. In sectiunea din stanga, este dispus un meniu vertical de navigare unde se regaseste fotografia pacientului impreuna cu datele de contact a proprietarului. In partea din dreapta, este dispusa o sectiune content cu patru butoane unde utilizatorul poate vizualiza si edita datele personale, datele pacientului cat si schimbarea parolei. Continutul va fi vizibil in functie de butonul selectat.
Figură 13-Profil Pacient
Functia java-script se declanseaza la un eveniment on-click pe buton, astfel continutul este vizibil facandu-se redirectarea catre pagina de editare unde se va efectua update-ul in baza de date.
Sectiunea Adauga programare din meniul de navigare este conceputa pentru efectuarea unei programari online de catre proprietar. Se vor lista toti medicii din clinica si specializarea acestora. Butonul Programare va selecta medicul dorit si va prelua numele acestuia prin URL pentru a identifica in pagina urmatoare programul disponibil.
Datele sunt listate intr-un tabel astfel se poate efectua cu usurinta o operatie de cautare prin campul Cauta Medic, ce va returna toti medicii asociati unei anumite specializari. Pentru operatia de cautare s-a implementat o functei java-script si importat biblioteca jquery.
Figură 3-Lista Medici
Pagina de Programare
Urmatoarea pagina dupa selectarea medicului dorit este sectiunea unde utilizatorul va alege ziua pentru efectuarea programarii.
Medicul selectat din pagina anterioara este trimis prin intermediul unui href ca referinta catre aceasta pagina pentru a identifica orarul de lucru dar si date precum specializarea si clinica de provenienta.
Este redata luna curenta impreuna cu fiecare zi calendaristica. Odata ce data a trecut, casuta asociata nu mai este valabila astfel nu se mai poate efecuta programarea in acea zi. Datale disponibile sunt evidentiate de culoarea verde. De asemenea butonul Luna Urmatoare face disponibila programarea si in luna succesiva celei curente. Identificarea medicului se efectueaza printr-o variabla de sesiune declarata la selectarea medicului, pana ce programarea va fi efectuata. Pagina dispune de butoane de intoarcere pentru o utilizare mai rapida.
Calendarul este construit pe baza unui tabelul prin intermediul unei functii php draw_calendar().
Figură 3-Calendar
Odata selectata data dorita pentru programare, utilizatorul va fi redistribuit catre pagina cu orele disponibile din data respectiva.
La inregistrarea unui medic in sistem, se va selecta inclusiv intervalul orar in care isi desfasoara activitatea. Pe baza acestuia, este construit tabelul cu orele disponibile prestate de fiecare medic.
Utilizatorul va selecta serviciul dorit si ora pentru programare ca mai apoi sa trimita cererea catre doctor. Serviciile sunt listate in functie de specializarea cu care medicul a fost inregistrat. Pentru o anumita specializare (Ex. Dermatologie) utilizatorul poate sa aleaga din mai multe servicii (Ex. Eczeme, Dermatita, etc.)
Figură 3-Orar Programare
Se efectueaza un select pentru a prelua toate orele disponibile din baza de date asociate medicului, urmand a fi incarcate in tabel. Pe baza acestui select se va construi un array pentru incadrarea in intervalul specificat in tabel.
Aplicatia dispune de o sectiune pentru chat unde clientii se pot contacta individual sau prin intermediul unui grup. Se va actiona butonul Start Chat pentru a incepe o conversatie. In urma aceste actiuni, se va deschide o fereastra ce are in componenta campul unde se va introduce mesajul, un buton de tip file, pentru selectarea unui fisier sau fotografie si butonul de trimitere. In partea de sus a header-ului de chat
Pentru a trimite mesajele in timp real am folosit functii ajax pentru a nu efectua un refresh al paginii de fiecare data cand se vor produce schimbari de continut. Mesajele sunt livrate rapid astfel utilizatorii pot citi si raspunde in timp optim.
Urmatoarele functii sunt folosita pentru a pastra istoricul conversatiei anterioare atat pentru grup cat si pentru chat-ul individual.
Concluzii
Bibliografie
Anexa 1
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: Maximmihaela Licenta V1bun [307480] (ID: 307480)
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.
