Aplicatie Web Cabinet Medical Online Marflo

Cuprins

Introducere

Motivul alegerii acestei teme este unul personal și are la bază progresul continuu al medicinii, progres care nu ar fi fost posibil fără evoluția tehnologică, în care și calculatoarele au avut de-a lungul timpului și au în continuare o contribuție extrem de importantă, a cărei amprentă a rămas până în zilele noastre.

Medicina este un domeniu foarte important în societatea noastră. Cel mai important lucru pentru fiecare persoană ar trebui să fie sănătatea, deoarece fără sănătate totul este nimic. Deoarece trăim în era digitală, prin prezenta lucrare, am dorit să unesc domeniul calculatoarelor cu domeniul medicinei, oferind o alternativă mai eficientă în privința unei ramuri medicale, și anume: cabinetele medicale.

Cabinetele medicale sunt tot mai frecvente și tot mai mulți oameni ajung să le calce pragul, acest lucru însemnând deplasarea până la cabinetele respective. Prezenta lucrare oferă o nouă posibilitate, și anume: de a accesa cabinetul medical direct de la domiciliul dumneavoastră. Din aceste motive, am creat cabinetul medical online Marflo.

Cabinetul medical online Marflo este o aplicație web care poate fi accesată prin intermediul oricărui dispozitiv (desktop, laptop, tabletă, telefon inteligent). Acest lucru este posibil datorită faptului că aplicația are un design responsive, care se adaptează în funcție de dispozitivul pe care aceasta rulează. Având un design responsive, aplicația este accesibilă oricui, fiind foarte ușor de utilizat. Aceasta poate fi folosită fie de la serviciu, fie dintr-un loc public, fie de la domiciliul dumneavoastră. Singura condiție de a putea folosi această aplicație este de a avea o conexiune stabilă la internet din locația de unde este accesată.

Aplicația este bilingvă, oferind utilizatorilor posibilitatea de a vizualiza conținutul acesteia în două limbi: limba română și limba engleză. Acest lucru oferă posibilitatea ca aplicația să fie accesată atât de către utilizatorii de origine română, cât și de către utilizatorii de altă origine care cunosc limba engleză. Acest lucru poate fi realizat prin apăsarea pe butonul stâng al mouse-ului pe unul dintre cele două steaguri care reprezintă fie limba română, fie limba engleză.

Aplicația este axată pe următoarele ramuri medicale: medicină de familie, ecografie și oftalmologie. Aceste trei ramuri sunt foarte importante în cadrul medicinei, aplicația fiind un real ajutor în facilitarea accesului, atât pentru medicii care sunt specializați în cele trei ramuri amintite mai sus, cât si pentru pacienții care doresc să folosească această aplicație.

Capitolul I. Tehnologii utilizate

I.1 HTML5

HTML5 este un limbaj de marcare tehnologică de bază a internetului folosit pentru structurarea și prezentarea conținutului pentru World Wide Web. Din octombrie 2014, acesta este a cincea revizuire finală și completă a versiunii standard HTML al consorțiului World Wide Web (W3C). Obiectivele principale ale HTML5 au fost de a îmbunătăți limbajul cu sprijin pentru cea mai recentă versiune multimedia, în timp ce o menține ușor de citit pentru oameni și în mod constant înțelese de către computere și dispozitive, (browsere web, interpretoare). HTML5 poate inlocui cu succes nu numai HTML 4, ci și XHTML 1 și DOM nivelul 2 HTML.

HTML5 adaugă multe caracteristici noi sintactice. Acestea includ elemente noi, cum ar fi: <video>, <audio> și <canvas>, precum și integrarea conținutului cu grafică vectorială scalabilă (SVG), (înlocuirea tag-urilor generice <object>) și MathML pentru formule matematice. Aceste caracteristici sunt proiectate pentru a face mai ușoară includerea și manipularea multimediei și a conținutului grafic de pe web, fără să fie nevoie să se recurgă la plugin-uri de proprietate și API-uri. Alte elemente noi, precum <section>, <article>, <header> si <nav>, sunt concepute pentru a îmbogăți conținutul semantic al documentelor. Au fost introduse noi atribute în același scop, în timp ce unele elemente și atribute au fost îndepărtate. Unele elemente, cum ar fi <a>, <cite> și <menu> au fost modificate, redefinite sau standardizate. API-urile si Modelul Documentului Obiect (DOM) nu mai sunt lăsate pe planul secund, dar sunt părți fundamentale ale specificației HTML5. De asemenea, HTML5 definește în detaliu procesarea necesară pentru documentele eronate, astfel încât erorile de sintaxă vor fi tratate în mod uniform de către toate browserele și alți agenți utilizator. [1]

Dezvoltarea HTML5 nu s-a finalizat încă. Dar există câteva elemente noi în HTML5 care pot fi folosite astăzi, elemente care sunt deja suportate în browser-ele curente și cele vechi, ca de exemplu: <header>, <nav> și <footer>, elemente folosite și de mine în cadrul acestei aplicații.

Toate cele trei elemente HTML5 sunt descrise cu un nume foarte logic și în conformitate cu specificația.

Elementul <header> reprezintă un grup de mijloace introductive sau pentru navigare. Deci, putem concluziona că elementul <header> nu este intenționat să definească el singur antetul unei pagini web. Elementul <header> poate fi folosit și pentru a defini o parte (în mod tipic în partea de sus), care introduce secțiunea care urmează.

Elementul <nav> se referă la navigare. În conformitate cu specificațiile, acest element reprezintă o secțiune a unei pagini care face legătura cu alte pagini sau cu anumite părți în cadrul paginii, adică o secțiune cu link-uri de navigare. În timp ce acest element este folosit în mod clar pentru definirea navigării, în mod specific, implementarea nu este limitată doar la navigarea primară, ci și în partea de sus a paginii web.

Elementul <footer> este un alt element care este acum adoptat pe scară largă. La modul general, noi ne referim la footer ca la o secțiune care este localizată în partea cea mai de jos a paginii web (adică la subsol). În mod tipic, elementul <footer> conține informații despre secțiunea sa, ca de exemplu: cine este autorul aplicației web, datele despre drepturile de autor și altele de acest gen. [10]

Elementul <header> l-am folosit cu scopul de a realiza antetul paginilor web în cadrul aplicației. Elementul <footer> a fost folosit pentru a putea realiza subsolul paginilor web, iar scopul folosirii elementului <nav> a fost pentru crearea meniului în cadrul acestei aplicații.

Motivul alegerii acestor trei elemente HTML5 îl reprezintă ușurința în utilizarea acestui limbaj de marcare tehnologică având scopul de a da aspect paginilor din cadrul aplicației și pentru ca aplicația să fie în același timp modernizată cu ajutorul celor mai noi elemente din cadrul limbajului HTML.

Elementele <header> și <footer> au fost folosite pe fiecare pagină web a acestei aplicații, iar elementul <nav> a fost folosit în meniul aplicației.

I.2 CSS3

Foile de stil în cascadă (Cascading Style Sheets) sunt utilizate pentru a modifica aspectul și formatarea unui document scris într-un limbaj de marcare. Împreună cu HTML și JavaScript, CSS este o tehnologie vitală folosită de cele mai multe site-uri web pentru a crea pagini web, interfețe utilizator pentru aplicații web, și interfețe utilizator pentru multe aplicații mobile.

CSS este proiectat în primul rând pentru a permite separarea conținutului documentului de prezentarea documentului, inclusiv elemente cum ar fi aspectul, culorile și fonturile. Această separare poate îmbunătăți accesibilitatea conținutului, poate oferi mai multă flexibilitate și control în specificarea caracteristicilor de prezentare, permite mai multe pagini HTML pentru a partaja formatarea prin specificarea CSS relevant într-un fișier .css separat, și reduc complexitatea și repetiția în conținutul structural, cum ar fi tabelele nesemnificative din punct de vedere semantic, care au fost utilizate pe scară largă pentru a formata pagini înainte de redarea consistentă CSS să fie disponibilă în toate browserele majore. CSS face posibilă separarea instrucțiunilor de prezentare din conținutul HTML într-un fișier separat sau secțiunea stilului a fișierului HTML. Pentru fiecare element HTML de potrivire, acesta oferă o listă de instrucțiuni de formatare. De exemplu, o regulă CSS ar putea preciza că „toate elementele de la rubrica 1 ar trebui să fie îngroșate”, lăsând marcarea HTML pur semantică care afirmă că „acest text este o rubrică de nivelul 1” fără formatarea codului, cum ar fi o etichetă <bold> care indică modul în care trebuie afișat un astfel de text. [2]

În cadrul acestei aplicații am folosit elemente, cum ar fi: hover, care realizează un anumit efect în momentul mutării mouse-ului pe un buton din cadrul meniului. Alte elemente folosite au fost: background-color, border, border-radius, color și font-weight. Toate aceste elemente au rolul de a stiliza aspectul meniului, făcându-l ușor de utilizat și dându-i un aspect estetic.

Proprietatea background-color este transparentă, se aplică tuturor elementelor, are un suport vizual, iar valoarea calculată este cea specificată. Această proprietate stabilește culoarea de fundal a unui element, fie o valoare de tip ”culoare” sau cuvântul cheie ”transparent”, pentru a face culorile de bază să strălucească. [11]

Proprietatea border are rolul de a specifica marginile formularelor, tabelelor, imaginilor. Aceasta mai este folosită și pentru a seta toate proprietățile (ca de exemplu: lățime, stil și culoare) într-o singură declarație. [12]

Proprietatea border-radius permite dezvoltatorilor web să utilizeze cu ușurință colțurile rotunde în elementele lor de design, fără necesitatea imaginilor curbate sau folosirea multiplelor tag-uri <div> , și este probabil una dintre cele mai discutate aspecte ale CSS3. Proprietatea border-radius a ajuns să se bucure de un sprijin al browser-elor larg răspândite și cu o ușurință relativă în utilizare, dezvoltatorii web au fost rapizi când au profitat din plin de această tehnologie apărută. [13]

Proprietatea color descrie culoarea de prim plan al conținutului textual al unui element. Valorile culorii pot fi specificate după cum urmează: o valoare hexazecimală (#ffaaff), o valoare RGB (255, 160, 255). Fiecare valoare este cuprinsă între 0 și 255. [15]

Proprietatea font-weight selectează mărimea fontului. Valorile pe care aceasta le poate avea sunt următoarele: normal, bold, bolder, lighter, 100, 200, 300, 400, 500, 600, 700, 800, 900 și inherit. Valoarea inițială este normal și se aplică tuturor elementelor. [18]

Elementul hover are rolul de a selecta elementele când cursorul mouse-ului se află deasupra lor. Acesta poate fi folosit pe toate elementele, nu doar pe link-uri. [16]

Scopul folosirii limbajului CSS3 a fost de a personaliza unele elemente din cadrul aplicației web, precum meniul și afișarea anexelor consultațiilor.

Folosirea elementelor din CSS3 m-a ajutat să realizez aspectul meniului și aspectul anexelor consultațiilor.

Sintaxa elementului hover din CSS3 este următoarea: #cadran #meniu ul li a:hover{ color: #cc0000; }, unde hover reprezintă efectul în momentul deplasării mouse-ului deasupra unui buton din meniu. Elementul hover l-am folosit în cadrul meniului aplicației.

Sintaxa proprietății background-color este următoarea: background-color: #f2f2fc, unde #f2f2fc reprezintă culoarea fundalului dat pentru cadranul paginilor web ale aplicației. Am folosit această proprietate pentru a alege culoarea de fundal a cadranului.

Sintaxa proprietății border este următoarea: border: solid 2px red, unde solid reprezintă tipul de dungă trasată, 2px reprezintă dimensiunea dungii trasate, iar red reprezintă culoarea dungii care a fost trasată. Am folosit această proprietate pentru a stiliza aspectul meniului, prin trasarea unei dungi pe marginea butoanelor din cadrul meniului aplicației.

Sintaxa proprietății border-radius este următoarea: border-radius: 5px, unde 5px reprezintă dimensiunea în pixeli a colțurilor dungii trasate. Am folosit această proprietate pentru a avea cadranul paginilor cât mai estetic posibil.

Sintaxa proprietății color este următoarea: color: red, unde red reprezintă culoarea care este asignată acestei proprietăți. Am folosit această proprietate cu scopul de a da culoare meniului.

Sintaxa proprietății font-weight este următoarea: font-weight: bold, unde bold reprezintă îngroșarea caracterelor care aparțin acestei proprietăți. Am folosit această proprietate în cadrul meniului, cu scopul de a îngroșa textul de pe butoanele meniului aplicației web.

I.3 JavaScript

JavaScript este un limbaj dinamic de programare pe computer. Este cel mai frecvent utilizat ca parte a browserelor web, a căror implementări permit scripturilor de pe partea clientului să interacționeze cu utilizatorul, să controleze browser-ul, să comunice asincron, și să modifice conținutul documentului care este afișat. Este de asemenea folosit în programarea în rețea pe partea server-ului, cu medii de rulare, cum ar fi Node.js, în dezvoltarea de jocuri și crearea de desktop și aplicații mobile. Odată cu creșterea aplicației web pe o singură pagină și a site-urilor ce conțin foarte multe elemente JavaScript, este tot mai mult utilizat ca o țintă de compilare pentru compilatoarele de tip sursă-la-sursă din ambele limbaje dinamice și limbaje statice. În special, Emscripten și compilatoarele JIT extrem de optimizate, în tandem cu asm.js care este prietenos cu compilatoarele AOT, cum ar fi OdinMonkey, au permis programelor C și C ++ să fie compilate în JavaScript și să execute la viteze aproape native, făcând JavaScript să fie considerat ”limbajul de asamblare al web-ului”, în conformitate cu creatorul său.

JavaScript este clasificat ca un limbaj de scripting bazat pe prototip, cu dactilografiere dinamică și cu funcții de primă clasă. Acest amestec de caracteristici îl face un limbaj multi-paradigmă, sprijinind stilurile de programare orientate pe obiecte, imperative și funcționale. [3]

În cadrul aplicației, am folosit funcții definite de către mine cu scopul de a introduce data și ora programărilor consultațiilor medicale.

Funcțiile definite le-am folosit la manipularea datelor de pe pagina web responsabilă cu programările consultațiilor medicale, pagină disponibilă atât în limba română, cât și în limba engleză.

I.4 jQuery

jQuery este o bibliotecă JavaScript care poate fi folosită pe diferite tipuri de computere sau cu diferite pachete software, pentru a simplifica scripting-ul de HTML pe partea de client. jQuery este cea mai populară bibliotecă JavaScript care este folosită în prezent. jQuery este o sursă deschisă de software gratuit, licențiat sub licența MIT.

Sintaxa jQuery este proiectată pentru a face mai ușoară navigarea într-un document, selectarea elementelor DOM, crearea animațiilor, organizarea evenimentelor și dezvoltarea aplicațiilor Ajax. jQuery oferă capacități pentru dezvoltatori pentru a crea plugin-uri, în partea de sus a bibliotecii JavaScript. Aceasta permite dezvoltatorilor să creeze abstracțiuni pentru interacțiunea și animația la nivel scăzut, efecte avansate și widget-uri tematice la nivel înalt. Abordarea modulară față de biblioteca jQuery permite crearea de pagini web dinamice, puternice și aplicații web.

jQuery, în miezul ei, este o bibliotecă de manipulare a DOM-ului (Document Object Model. DOM-ul are structura unui copac și este o reprezentare a tuturor elementelor ale unei pagini web, iar jQuery face căutarea, selectarea și manipularea acestor elemente DOM simplă și convenabilă. De exemplu, jQuery poate fi folosit pentru identificarea unui element din document, cu o anumită proprietate (de exemplu, toate elementele cu o etichetă h1), schimbând una sau mai multe dintre atributele sale (cum ar fi, culoare, vizibilitate), sau făcându-l să răspundă la un eveniment (precum, un click de mouse).

jQuery include următoarele caracteristici:

manipularea DOM bazată pe selectoare CSS care utilizează numele și atributele elementelor, precum id-ul și clasa ca și criteriu de selectare a nodurilor din DOM

evenimente

efecte și animații

AJAX

parsarea JSON

extensibilitate prin plugin-uri

metode de compatibilitate care sunt nativ disponibile în browser-ele moderne, dar care trebuie să se încadreze pentru cele mai vechi, cum ar fi de exemplu funcțiile inArray() și each() [14]

În aplicația realizată de mine, am folosit jQuery datorită funcțiilor datepicker și timepicker, în combinație cu JavaScript.

I.5 Laravel

Laravel este o sursă deschisă a aplicației web PHP, conceput pentru dezvoltarea aplicațiilor web de tipul model-view-controller (MVC). Laravel este distribuit sub licența MIT, având codul său sursă găzduit pe GitHub. Acest framework a fost scris în totalitate în limbajul PHP.

Model – View – Controller (MVC) este un model architectural de software pentru implementarea interfețelor utilizatorului. Acesta împarte o aplicație software dată în trei părți interconectate, astfel încât să separe reprezentările interne de informații, de la modurile în care informația este prezentată sau acceptată de către utilizator. [4]

Un framework este un cadru software care este proiectat pentru a sprijini dezvoltarea site-urilor web dinamice, aplicațiilor web, serviciilor web și resurselor web. Framework-ul are drept scop atenuarea costurilor exagerate asociate cu activitățile obișnuite, care sunt desfășurate în dezvoltarea web. De exemplu, multe cadre asigură biblioteci pentru acces la baze de date, cadrele templating și sesiunea de management, și ele promovează adesea reutilizarea codului. [5]

În cadrul aplicației am folosit elemente disponibile acestui framework, ca de exemplu: clasele, metodele si funcțiile create de către programatorul acestui framework.

Atât clasele, cât și metodele și funcțiile folosite au avut rolul de a contribui la realizarea cu succes a cabinetului medical online.

I.6 Bootstrap

Bootstrap este o sursă deschisă și o colecție gratuită de instrumente pentru crearea website-urilor și a aplicațiilor web. Aceasta conține șabloane de proiectare bazate pe HTML și CSS, pentru tipografie, forme, butoane, navigare și alte componente de interfață, precum și extensiile JavaScript. Cadrul bootstrap are scopul de a ușura dezvoltarea web.

Bootstrap este „partea din față” (front-end) a aplicației web, adică o interfață între utilizator și codul pe partea cu serverul, care se află pe „capătul din spate” (back-end) sau pe server. Iar acesta este un cadru al aplicației web, adică un cadru de software, care este conceput pentru a sprijini dezvoltarea de site-uri dinamice și aplicații web. [17]

În cadrul aplicației am folosit mai multe clase care aparțin acestei tehnologii, cum ar fi clasele: jumbotron, alert-info, img-responsive, img-rounded, container, table-responsive.

Clasa jumbotron a fost folosită pentru afișarea elementelor din cadrul antetului paginilor web. Folosirea clasei alert-info a avut rolul de a afișa mesaje informative pe paginile web ale aplicației. Clasele img-responsive și img-rounded au avut sarcina de a afișa logo-ul și steagurile prezente în paginile web. Rolul clasei container a fost de a afișa continutul paginilor web, iar clasa table-responsive a fost folosită pentru afișarea conținutului tabelelor responsive.

Motivul folosirii acestor elemente din cadrul acestei tehnologiei a avut scopul de a face aplicația web să fie responsive, integrând tehnologia cea mai modernă în toate paginile aplicației.

Capitolul II. Aplicații utilizate

II.1 MySQL Workbench

MySQL Workbench este un instrument vizual de proiectare (design) a bazei de date, care integrează dezvoltarea SQL, administrarea, proiectarea bazei de date, crearea și întreținerea într-un singur mediu de dezvoltare integrat pentru sistemul de baze de date MySQL. Acesta este succesorul DBDesigner 4 din fabFORCE.net, și înlocuiește pachetul anterior de software, MySQL GUI Tools Bundle. [6]

Am utilizat această aplicație cu scopul proiectării bazei de date necesare aplicației web, fără de care rularea aplicației nu ar fi posibilă.

II.2 WampServer

WampServer este un software pentru sistemul de operare Microsoft Windows, creat de Romain Bourdon și constând în serverul web Apache, OpenSSL pentru suport SSL, baze de date MySQL și limbajul de programare PHP. [7]

Am utilizat această aplicație pentru a putea stoca aplicația web pe un server virtual, având adresa localhost.

II.3 SublimeText 2

SublimeText 2 este un software capabil de a fi folosit pe diferite tipuri de computer, sau diferite pachete software și editorul codului sursă, cu o interfață de programare a aplicațiilor Python (API). Aceasta susține nativ multe limbaje de programare și limbaje de marcare, și funcționalitatea acestuia poate fi extinsă de către utilizatori cu plugin-uri, de obicei construite de comunitate și menținute sub licențe gratuite de software. [8]

Am utilizat această aplicație pentru editarea codului sursă a aplicației web. Această aplicație este foarte utilă și ușor de folosit, scrierea codului fiind realizată cu o ușurință mai mare față de alte editoare de text, cum ar fi de exemplu Notepad sau Notepad++.

II.4 WOWSlider

WOWSlider este un sofware pentru imagini care rulează pe toate dispozitivele mobile, toate browserele moderne datorită unor standarde la nivel înalt și datorită script-ului său optimizat. Este rapid datorită faptului că se încarcă repede, utilizează animații hardware accelerate.

Este folosit pe milioane de site-uri web datorită faptului că nu prezintă erori, acesta fiind punctul său forte.

Acest software oferă o mulțime de efecte speciale, care pot fi selectate cu ajutorul unui singur click.

Este ușor de utilizat datorită funcției drag-n-drop, care generează slider-ul automat prin exportarea acestuia ca și pagină HTML. [9]

Am folosit această aplicație pentru realizarea slider-ului cu cele cinci fotografii care sunt afișate pe pagina principală a aplicației web. Aplicația este foarte utilă, deoarece dispune de o serie de efecte și culori pentru a putea realiza cu ușurință slidere, al căror conținut este reprezentat de diverse fotografii.

Capitolul III. Proiectarea aplicației

III.1 Descrierea procedurilor de autentificare și înregistrare

Datorită aplicațiilor și tehnologiilor utilizate, cabinetul medical online poate fi accesat de pe diverse dispozitive (desktop, laptop, tabletă, telefon inteligent), făcând astfel această aplicație accesibilă oricărui tip de utilizator și din oricare locație unde există acces la internet (indiferent dacă acesta este prin cablu sau wireless).

Această aplicație web a fost concepută pentru două tipuri de utilizatori: pentru medici și pentru pacienți.

Dacă utilizatorul este medic, pentru a se putea înregistra în cadrul aplicației, acesta trebuie să contacteze administratorul cabinetului medical online; medicul trebuie să comunice administratorului adresa de email cu care dorește să se înregistreze, iar ulterior administratorul îi va crea acestuia contul de medic în cadrul aplicației. Pasul următor pe care medicul trebuie să îl realizeze constă în autentificarea acestuia cu parola aleatoare primită la înregistrare.

După autentificare, aplicația web va direcționa medicul către pagina de administrare, unde acesta trebuie să-și completeze datele de profil și, dacă dorește, își poate schimba parola pentru a putea accesa ulterior contul propriu cu noua parolă aleasă de el. Acest proces are loc o singură dată, în momentul primei autentificări. De la a doua autentificare încolo, medicul este direcționat către pagina principală a aplicației.

Dacă utilizatorul este pacient, ca acesta să se poată înregistra în cadrul aplicației trebuie să urmeze următorii pași:

– să dea click pe butonul ”Înregistrare” din cadrul meniului;

– să își introducă adresa de email cu care acesta dorește să se înregistreze în cadrul aplicației;

După parcurgerea pașilor enumerați anterior, urmează autentificarea pacientului cu ajutorul parolei aleatoare primită la înregistrare.

După autentificare, aplicația web direcționează pacientul către pagina de administrare, unde este necesară completarea datelor de profil ale acestuia, iar facultativ acesta poate schimba parola primită la înregistrare cu una aleasă de el. Exact ca și în situația în care utilizatorul este medic, acest proces are loc o singură dată, și anume în timpul primei autentificări. După cea de-a doua autentificare, pacientul este direcționat către pagina principală a aplicației.

III.2 Proiectarea funcționalității aplicației

Proiectarea a fost posibilă folosind următoarele tehnologii și aplicații: HTML5, CSS3, JavaScript, jQuery, Laravel, Bootstrap, MySQL Workbench, WampServer, SublimeText 2 și WOWSlider.

Toate tehnologiile și aplicațiile amintite mai sus sunt interconectate între ele, fapt fără de care funcționalitatea aplicației web nu ar fi posibilă.

Funcționalitatea aplicației web constă în înregistrarea medicilor și a pacienților în cadrul acesteia, ulterior urmând posibilitatea pacienților de a alege medicii la care doresc să se programeze în vederea consultațiilor medicale, iar medicii să introducă diagnosticele scrise la sfârșitul consultațiilor medicale efectuate.

III.3 Proiectarea bazei de date

Proiectarea bazei de date a fost realizată cu ajutorul aplicației MySQL Workbench. Această aplicație permite crearea bazei de date și ulterior exportarea acesteia în formatul .sql pentru a putea fi încărcată prin intermediul software-ului WampServer cu scopul de a avea acces la baza de date disponibilă pentru aplicația web.

Baza de date este alcătuită din șase tabele, cu coloanele aferente fiecărui tabel în parte, și cu legăturile existente între aceste tabele. Tabelele au următoarele denumiri: administratori, utilizatori, medici, pacienți, consultații, diagnostice.

Tabelul ”Administratori” este un tabel de sine stătător. În acest tabel sunt introduse date despre administratorii aplicației.

Tabelul ”Utilizatori” este un tabel care are două legături: una către tabelul ”Medici”, iar cealaltă către tabelul ”Pacienți”. Ambele legături sunt one-to-many (una către mai multe). În acest tabel sunt introduse date despre utilizatorii aplicației.

Tabelul ”Medici” este un tabel care are o legătură cu tabelul ”Consultații”. Legătura este de tipul one-to-many, în acest tabel fiind introduse date despre medicii aplicației.

Tabelul ”Pacienți” este un tabel care are o legătură cu tabelul ”Consultații”. Și în acest caz, legătura este de tipul one-to-many, în acest tabel fiind introduse date despre pacienții aplicației.

Tabelul ”Consultații” este tabelul care are o înlănțuire de trei tabele (”Medici”, ”Pacienți”, ”Diagnostice”). În acest tabel sunt introduse date despre consultațiile programate la medici de către pacienții ce sunt înregistrați în cadrul aplicației.

Tabelul ”Diagnostice” este un tabel care are o legătură cu tabelul ”Consultații”, aceasta fiind de tipul one-to-many. În cadrul acestui tabel sunt introduse date cu privire la diagnosticele pe care medicii le stabilesc în urma consultațiilor realizate.

În figura de mai jos sunt prezentate tabelele împreună cu legăturile aferente acestora.

Fig. III.1 – Tabelele bazei de date și înlănțuirea acestora

III.3.1 Tabelul ”Administratori”

Acest tabel conține următoarele câmpuri: id, nume, prenume, adresa_email, password, remember_token.

Câmpul ”id” este cheia primară în acest tabel care se auto-incrementează cu o unitate la fiecare inserare a unui rând în tabel. Acest câmp este de tipul INT.

Câmpurile ”nume”, ”prenume” și ”adresa_email” sunt câmpuri obligatorii, toate acestea fiind de tipul VARCHAR(255).

Câmpul ”password” este tot un câmp obligatoriu, acesta fiind de tipul CHAR(60).

Câmpul ”remember_token” este un câmp de tipul VARCHAR(100), acesta fiind setat pe NULL.

Figura de mai jos ilustrează tabelul cu specificațiile corespunzătoare acestuia.

Fig. III.2 – Tabelul administratori

III.3.2 Tabelul ”Utilizatori”

Acesta conține următoarele câmpuri: id, adresa_email, password, cod, activ, medic, remember_token.

Câmpul ”id” reprezintă cheia primară a acestui tabel, incrementându-se cu o unitate la fiecare inserare în tabel. Câmpul acesta este de tipul INT.

Câmpul ”adresa_email” este un câmp obligatoriu, fiind de tipul VARCHAR(255).

Câmpurile ”password” și ”cod” sunt câmpuri obligatorii, ambele fiind de tipul CHAR(60).

Câmpurile ”activ” și ”medic” sunt și ele obligatorii, aceste câmpuri fiind de tipul BOOLEAN.

Câmpul ”remember_token” este un câmp de tipul VARCHAR(100), acesta fiind setat pe NULL.

Fig. III.3 – Tabelul utilizatori

III.3.3 Tabelul ”Medici”

Acest tabel conține următoarele câmpuri: id, nume, prenume, sex, localitate, specialitate, descriere, fotografie, utilizator_id.

Câmpul ”id”, ca și la celelalte tabele, reprezintă cheia primară, care se incrementează cu o unitate la fiecare inserare în tabel, câmpul fiind de tipul INT.

Câmpurile ”nume” și ”prenume” sunt câmpuri obligatorii și sunt de tipul VARCHAR(255).

Câmpul ”sex” este un câmp obligatoriu, acesta fiind de tipul BOOLEAN.

Câmpurile ”localitate” și ”specialitate” sunt câmpuri obligatorii, ambele fiind de tipul VARCHAR(255).

Câmpurile ”descriere” și ”fotografie” sunt câmpuri de tipul VARCHAR(255), ambele fiind setate pe NULL.

Câmpul ”utilizator_id” reprezintă cheia de legătură cu tabelul ”Utilizatori”, acesta fiind de tipul INT.

Fig. III.4 – Tabelul medici

III.3.4 Tabelul ”Pacienți”

Acesta conține următoarele câmpuri: id, nume, prenume, sex, localitate, fotografie, personal_medical, utilizator_id.

Câmpul ”id”, reprezintă cheia primară, care se incrementează cu o unitate la fiecare inserare în tabel, câmpul fiind de tipul INT.

Câmpurile ”nume” și ”prenume” sunt câmpuri obligatorii și sunt de tipul VARCHAR(255).

Câmpul ”sex” este un câmp obligatoriu, acesta fiind de tipul BOOLEAN.

Câmpul ”localitate” este un câmp obligatoriu, acesta fiind de tipul VARCHAR(255).

Câmpul ”fotografie” este de tipul VARCHAR(255), fiind setat pe NULL.

Câmpul ”personal_medical” este un câmp obligatoriu, având tipul VARCHAR(255).

Câmpul ”utilizator_id” reprezintă cheia de legătură cu tabelul ”Utilizatori”, acesta fiind de tipul INT.

Fig. III.5 – Tabelul pacienți

III.3.5 Tabelul ”Consultații”

Tabelul conține următoarele câmpuri: id, data, ora, gravida, simptome, investigatii, stare, pacient_id, diagnostic_id, medic_id.

Câmpul ”id”, reprezintă cheia primară, care se incrementează cu o unitate la fiecare inserare în tabel, câmpul fiind de tipul INT.

Câmpul ”data” este obligatoriu și este de tipul DATE.

Câmpul ”ora” este obligatoriu și este de tipul TIME.

Câmpul ”gravida” este un câmp obligatoriu, acesta fiind de tipul BOOLEAN.

Câmpul ”simptome” este de tipul VARCHAR(255), acesta fiind obligatoriu.

Câmpul ”stare” este un câmp obligatoriu, având tipul BOOLEAN.

Câmpurile ”pacient_id”, ”diagnostic_id” și ”medic_id” sunt chei de legătură cu tabelele ”Pacienti”, ”Diagnostice” și ”Medici”, toate aceste câmpuri fiind de tipul INT.

Fig. III.6 – Tabelul consultații

III.3.6 Tabelul ”Diagnostice”

Acesta conține următoarele câmpuri: id, nume_diag, recomandari, anexe, tratament.

Câmpurile ”nume_diag”, ”recomandari”, ”anexe” și ”tratament” sunt de tipul VARCHAR(255), toate aceste câmpuri fiind setate pe NULL.

Fig. III.7 – Tabelul diagnostice

Capitolul IV. Implementarea aplicației

IV.1 Structura aplicației

La fel ca oricare aplicație web, și aici putem regăsi două mari categorii distincte, cea de utilizator și cea de administrator, prima din aceste categorii fiind împărțită la rândul ei în două subcategorii: medici și pacienți. Figura de mai jos reprezintă toate categoriile aplicației.

Fig. IV.1 – Părțile distincte ale aplicației web

Prima categorie (cea a medicilor) cuprinde alte trei subcategorii: profil, administrare cont și consultații, așa cum se poate vedea în figura de mai jos.

Fig. IV.2 – Părțile distincte ale primei categorii de utilizatori în cadrul aplicației web

Cea de-a doua categorie(cea a pacienților) cuprinde patru subcategorii: profil, administrare cont, consultații și medici. Acest lucru reiese din figura de mai jos.

Fig. IV.3 – Părțile distincte ale celei de-a doua categorii de utilizatori în cadrul aplicației web

Ultima categorie este cea de administrator. Aici sunt incluse alte patru subcategorii, respectiv: index, administrare, înregistrare medic și înregistrare administrator. Figura de mai jos arată cum sunt înlănțuite cele patru subcategorii.

Fig. IV.4 – Părțile distincte ale categoriei ”administrator” în cadrul aplicației web

IV.2 Modul de implementare al paginilor web

IV.2.1 Pagina index.php

Oferă posibilitatea de a selecta limba în care doriți să fie afișat conținutul întregii aplicații web. Modalitatea de alegere a limbilor (română sau engleză) se poate realiza dând click pe steagul corespunzător limbii alese. Pentru ca orice utilizator să înțeleagă cum poate selecta limba dorită, mesajul de pe această pagină este scris atât în limba română, cât și în limba engleză.

Fig. IV.5 – Pagina index.php pentru selectarea limbii dorite

După selectarea limbii dorite, apare pagina principală numită index.php, care este inclusă în directorul ”ro” din cadrul aplicației. În cadrul acestei pagini, avem partea de antet a aplicației, care este alcătuită din: logo, titlu si steagurile corespunzătoare celor două limbi în care rulează aplicația. Tot pe această pagină, avem meniul care este alcătuit din cinci butoane având următoarele denumiri: Marflo, Aplicație, Autentificare, Înregistrare, Contact.

Pe lângă antet și meniu, această pagină mai cuprinde și partea de conținut, unde se găsește un slider cu cinci fotografii, care se schimbă una după cealaltă la un anumit interval de timp. Partea de subsol a paginii cuprinde drepturile de autor care aparțin în exclusivitate administratorului acestei aplicații.

Toate informațiile menționate mai sus se regăsesc și în limba engleză, dacă utilizatorul selectează această limbă dând click pe steagul corespunzător acestei limbi. Pagina în limba engleză se numește: main.php și este inclusă în directorul ”en” din cadrul aplicației.

Fig. IV.6 – Pagina index.php reprezentând pagina principală

IV.2.2 Pagina despre.php

Aici pot fi găsite informații de bază despre utilizarea aplicației. Utilizatorul poate vedea ce opțiuni are și poate decide între două alternative: înregistrarea ca medic sau ca pacient.

Toate aceste informații pot fi găsite și în limba engleză, în momentul selectării acestei limbi din antetul paginii. Pagina în limba engleză poartă denumirea about.php.

Fig. IV.7 – Pagina cu informații sumare despre utilizarea aplicației

IV.2.3 Pagina autentificare.php

Aici putem găsi formularul de autentificare, care este alcătuit din următoarele elemente: câmpul pentru introducerea adresei de email, câmpul pentru introducerea parolei, butonul de autentificare, checkbox-ul care are rolul de a ține minte utilizatorul, chiar dacă acesta închide browser-ul, și link-ul de recuperare a parolei, în cazul în care utilizatorul și-a uitat parola.

Aceleași informații există și în limba engleză și pot fi găsite pe pagina login.php.

Fig. IV.8 – Pagina de autentificare

IV.2.4 Pagina inregistrare.php

Aici se găsește formularul de înregistrare a pacienților, alcătuit din câmpul de introducere a adresei de email și butonul de înregistrare.

Aceleași informații se găsesc și în limba engleză pe pagina register.php.

Fig. IV.9 – Pagina de înregistrare a pacienților

IV.2.5 Pagina contact.php

Aici se pot găsi informații despre localizarea cabinetului medical, precum si numerele de telefon unde se poate suna pentru informații suplimentare.

Conținutul în limba engleză pentru această pagină se află pe pagina care are aceeași denumire ca și în limba română, dar aflată în directorul ”en” a aplicației.

Fig. IV.10 – Pagina de contact

IV.2.6 Pagina forgot_parola.php

Această pagină poate fi accesată din cadrul meniului, dând click pe butonul ”Autentificare”, după care se dă click pe link-ul numit: ”Am uitat parola”.

Pe această pagină putem găsi formularul de recuperare a parolei, acesta având următoarele elemente: câmpul pentru introducerea adresei de email și butonul de recuperare a parolei.

Exact aceleași elemente pot fi găsite și în limba engleză pe pagina forgot_password.php.

Fig. IV.11 – Pagina de recuperare a parolei

IV.2.7 Pagina actualizare_profil_pacient.php

Când utilizatorul se autentifică pentru prima dată ca pacient, acesta este direcționat către pagina care poartă denumirea actualizare_profil_pacient.php. Acesta va găsi aici un formular unde trebuie să completeze câmpurile din formular. Câmpurile sunt de două tipuri: câmpuri obligatorii și câmpuri opționale. Câmpurile care sunt marcate cu * sunt câmpuri obligatorii, pe când celelalte sunt câmpuri opționale.

Tot pe această pagină, pacientul va găsi un formular pentru schimbarea parolei. Deoarece la înregistrare pacientul a primit o parolă aleatoare, acesta o poate schimba completând cele trei câmpuri din cadrul formularului de schimbare a parolei. După ce pacientul a completat cele trei câmpuri, acesta va trebui să dea click pe butonul ”Schimbă parola”, după care va primi un mesaj de notificare pe aceeași pagină.

Dacă pacientul dorește să își șteargă contul din cadrul aplicației, acest lucru poate fi realizat cu ajutorul formularului de ștergere a contului aflat pe aceeași pagină. Tot ceea ce are de făcut pacientul în acest caz, este să introducă adresa de email cu care s-a înregistrat și apoi să dea click pe butonul ”Șterge cont”. Ulterior, pacientul va fi redirecționat către pagina principală, care poartă denumirea index.php.

Informațiile scrise mai sus sunt disponibile și în limba engleză, acestea regăsindu-se pe pagina update_profile_pacient.php.

Fig. IV.12 – Pagina de administrare a contului de pacient

IV.2.8 Pagina profil_pacient.php

Un aspect important în cadrul aplicației este reprezentat de profilul pacientului. După completarea datelor de profil, pacientul poate accesa pagina cu denumirea profil_pacient.php.

Pe lângă informațiile introduse în formularul cu titlul ”Actualizare profil” de pe pagina actualizare_profil_pacient.php, pe pagina profil_pacient.php pot fi văzute și numărul consultațiilor zilnice, săptămânale și lunare ale pacientului.

Aceleași informații menționate anterior pot fi găsite și în limba engleză, în momentul accesării paginii profile_pacient.php.

Fig. IV.13 – Pagina de profil a pacientului

IV.2.9 Pagina afisare_consultatii.php

Cea mai importantă pagină a aplicației o reprezintă pagina consultațiilor. În primă fază pot fi găsite informații referitoare la numele medicului, data și ora la care pacientul sau pacienta și-a făcut programare la medic, pacienta putând să aleagă dacă este gravidă sau nu. Tot aici se pot introduce simptomele bolii de către pacient(ă), și se poate anula consultația dacă se dorește acest lucru. Dacă se optează pentru anularea consultației, atunci pacientul trebuie să dea click pe butonul ”Anulați”, urmând ca medicul să primească un email care îl va notifica asupra acestui lucru.

În cea de-a doua fază, după ce medicul a introdus informații referitoare la problemele medicale ale pacientului sau ale pacientei, cum ar fi: numele diagnosticului, recomandări, tratament, și anexe (dacă este cazul), pacientul poate vedea aceste informații pe această pagină, iar dacă medicul a finalizat consultația, pacientul nu va mai putea să anuleze consultația pentru care a făcut programare.

Aceleași informații sunt disponibile pentru utilizatorii care au ales limba engleză în cadrul aplicației, și pot fi găsite pe pagina cu numele show_consultations.php.

Fig IV.14 – Informații referitoare la consultațiile pacientului

IV.2.10 Pagina programari_pacient.php

Aici putem găsi informații cu privire la profilurile medicilor care au cont în cadrul acestei aplicații web. Tot aici pacientul poate alege medicii la care dorește să se programeze, dând click pe butonul ”Programare”.

Utilizatorii care aleg limba engleză pentru afișarea conținutului, vor găsi aceleași informații menționate anterior pe pagina appointments_pacient.php.

Fig. IV.15 – Informații referitoare la medici

IV.2.11 Pagina actualizare_profil_medic.php

Dacă utilizatorul este medic și se autentifică pentru prima dată, acesta este direcționat către pagina cu numele actualizare_profil_medic.php. Aici medicul găsește un formular alcătuit din câmpuri obligatorii și câmpuri opționale. Câmpurile marcate cu * sunt câmpuri obligatorii, iar restul câmpurilor sunt opționale.

Tot aici, medicul va găsi un formular pentru schimbarea parolei primite la înregistrare; medicul poate opta pentru păstrarea parolei primite la înregistrare sau schimbarea acesteia cu una aleasă de către el.

Medicul poate utiliza și opțiunea de ștergere a contului din cadrul acestei pagini, iar pentru aceasta trebuie să utilizeze formularul corespunzător. Pentru ștergerea contului, acesta trebuie să introducă adresa de email cu care s-a înregistrat și apoi să dea click pe butonul ”Șterge cont”. Ulterior, medicul va fi redirecționat către pagina principală, care poartă denumirea index.php.

Aceleași informații ca cele prezentate aici sunt disponibile și în limba engleză pe pagina update_profile_doctor.php.

Fig IV.16 – Pagina de administrare a contului de medic

IV.2.12 Pagina profil_medic.php

Un rol deosebit de important în cadrul aplicației îl constituie profilul medicului. După completarea datelor de profil, medicul poate accesa pagina cu denumirea profil_medic.php.

Pe această pagină pot fi vizualizate informațiile cu privire la profilul medicului, precum și numărul consultațiilor zilnice, săptămânale și lunare realizate de medic.

Același conținut, dar în limba engleză este disponibil accesând pagina profile_doctor.php.

Fig. IV.17 – Pagina de profil a medicului

IV.2.13 Pagina programari_medic.php

Pe această pagină găsim informații disponibile medicului. Acesta are acces la informațiile introduse de pacienți în momentul în care aceștia și-au făcut programarea la medic. În acest caz, medicul poate introduce detalii referitoare la consultațiile efectuate, cum ar fi: numele diagnosticului, recomandări, tratament și anexe (dacă este cazul).

Conținutul acestei pagini în limba engleză poate fi găsit pe pagina appointments_doctor.php.

Fig. IV.18 – Informații referitoare la consultațiile medicului

IV.2.14 Pagina administrator.php

Aici putem găsi formularul de autentificare al administratorului, care este alcătuit din următoarele elemente: câmpul pentru introducerea adresei de email, câmpul pentru introducerea parolei, butonul de autentificare, checkbox-ul care are rolul de a memora administratorul, chiar dacă acesta închide browser-ul, și link-ul de recuperare a parolei, în cazul în care administratorul și-a uitat parola.

Aceleași informații există și în limba engleză și pot fi găsite pe pagina admin.php.

Fig. IV.19 – Pagina de autentificare a administratorului

IV.2.14 Pagina forgot_parola_admin.php

Această pagină poate fi accesată din pagina administrator.php, dând click pe pe link-ul numit: ”Am uitat parola”.

Pe această pagină putem găsi formularul de recuperare a parolei administratorului, acesta având următoarele elemente: câmpul pentru introducerea adresei de email și butonul de recuperare a parolei.

Exact aceleași elemente pot fi găsite și în limba engleză pe pagina forgot_password_admin.php.

Fig. IV.20 – Pagina de recuperare a parolei administratorului

IV.2.15 Pagina pagina_administrator.php

Aici găsim informații cu privire la numărul de administratori, utilizatori, medici și numărul de pacienți înregistrați în cadrul aplicației. De asemenea se pot vizualiza informații referitoare la medici, pacienți, consultații și diagnostice.

Aceleași informații se regăsesc și în limba engleză pe pagina admin_page.php.

Fig. IV.21 – Pagina de administrare a aplicației

IV.2.15 Pagina administrare.php

Pe această pagină putem găsi formularul pentru modificarea parolei administratorului, link-ul pentru înregistrarea medicilor și link-ul pentru înregistrarea altor administratori.

Aceleași informații se găsesc și în limba engleză pe pagina administration.php.

Fig. IV.22 – Pagina de schimbare a parolei administratorului

IV.2.16 Pagina inregistrare_medic.php

Administratorul este singura persoană care are posibilitatea de a înregistra medicii în cadrul aplicației, iar acest lucru se poate realiza doar prin intermediul paginii inregistrare_medic.php. Această pagină conține formularul de înregistrare a medicilor, care este alcătuit din câmpul pentru introducerea adresei de email și butonul de înregistrare. Pagina mai conține și link-ul pentru a putea naviga înapoi la pagina administrare.php, dacă se dorește acest lucru.

Același rol are și pagina în limba engleză cu numele register_doctor.php.

Fig. IV.23 – Pagina de înregistrare a medicilor

IV.2.17 Pagina inregistrare_administrator.php

Pe această pagină putem găsi formularul pentru introducerea altor administratori și este alcătuit din următoarele câmpuri: câmpul nume, câmpul prenume, câmpul adresei de email și câmpul parolei. Pe lângă câmpurile specificate anterior, mai găsim și butonul de înregistrare care dacă este apăsat, adaugă un nou administrator în baza de date a aplicației. Tot aici găsim și link-ul ”Înapoi la pagina de administrare”, link care are rolul de a reveni la pagina administrare.php, dacă se dorește acest lucru.

Aceleași informații dar în limba engleză le puteți găsi accesând pagina register_admin.php.

Fig. IV.24 – Pagina de înregistrare a unui nou administrator

În cazul în care utilizatorul dorește să acceseze altă pagină față de cele amintite mai sus, aplicația va genera eroarea 404 cu mesajul: ”Pagina căutată nu a fost găsită! The page you requested was not found!”.

Fig. IV.25 – Pagina care returnează eroarea 404

IV.3 Ghid de utilizare a aplicației web

Pentru a putea beneficia de toate facilitățile acestei aplicații web, trebuie avute în vedere următoarele etape: instalarea soft-ului Composer Setup; instalarea aplicației WampServer; copierea directorului care conține aplicația web (marflo) în directorul ”www” al aplicației WampServer; lansarea aplicației WampServer în execuție; click pe icoana WampServer din System Tray; click pe Localhost; click pe directorul marflo; click pe directorul public.

După parcurgerea acestor etape se ajunge pe pagina index.php, unde există posibilitatea de selectare a limbii dorite: română sau engleză.

Ulterior urmează înregistrarea în cadrul aplicației web, aceasta însemnând parcurgerea procedurilor de autentificare și înregistrare, care au fost descrise mai sus în cadrul capitolului III.

În cazul medicilor, după realizarea procedurii de înregistrare, aceștia se pot autentifica în cadrul aplicației web introducându-și adresa de email și parola. Apoi se dă click pe butonul de autentificare, în acel moment medicul fiind autentificat. Atunci medicul își poate vedea pagina de profil, pagina de administrare a contului și pagina de consultații.

Pe pagina de profil apar informații precum: nume, prenume, sex, localitate, specialitate, adresa de email, precum și consultațiile realizate.

Pe pagina de administrare a contului, apare opțiunea de actualizare a profilului, unde câmpurile marcate cu * sunt obligatorii, iar cele nemarcate sunt opționale. Următoarea opțiune este cea de schimbare a parolei, iar ultima opțiune este cea de ștergere a contului.

Pagina de consultații afișează informații cu privire la consultațiile pe care le-a realizat medicul.

Pentru ca medicul să se deconecteze din cadrul aplicației web, va trebui să dea click pe butonul de deconectare din cadrul meniului.

În cazul pacienților, după realizarea procedurii de înregistrare, aceștia se pot autentifica cu adresa de email și parola primită la înregistrare.

După introducerea adresei de email și a parolei, se dă click pe butonul de autentificare.

Pacientul își poate vedea pagina de profil, pagina de administrare, pagina de consultații și pagina cu medicii înregistrați.

Pe pagina de profil a pacientului apar informații precum: nume, prenume, sex, localitate, personal medical și adresă de email, precum și consultațiile realizate la medici.

Pe pagina de administrare a contului, apare opțiunea de actualizare a profilului, unde câmpurile marcate cu * sunt obligatorii, iar cele nemarcate sunt opționale. Următoarea opțiune este cea de schimbare a parolei, iar ultima opțiune este cea de ștergere a contului.

Pagina de consultații afișează informații referitoare la consultațiile programate la medici.

Pagina medicilor afișează toți medicii care sunt înregistrați pe site, iar pentru a face o programare la unul din medici, trebuie să se dea click pe butonul ”Programare”, iar ulterior să se completeze datele afișate pe pagina de adăugare a consultației, la final dându-se click pe butonul ”Adaugă consultație”.

Pentru ca pacientul să se deconecteze din cadrul aplicației web, va trebui să dea click pe butonul de deconectare din cadrul meniului.

Concluzii

Această aplicație este utilă atât pentru medici cât și pentru pacienți, deoarece oferă ambelor categorii de utilizatori aceleași avantaje.

Dezvoltarea acestei aplicații web a fost posibilă datorită următoarelor tehnologii: HTML5, CSS3, JavaScript, jQuery, Laravel, Bootstrap.

Aplicația a fost concepută pentru medicii care aparțin următoarelor ramuri medicale: medicină de familie, ecografie și oftalmologie, precum și pentru pacienții care doresc o programare la medicii acestor trei specializări.

Datorită tehnologiilor folosite, această aplicație poate rula atât pe computere de tip desktop sau laptop, precum și pe tablete și telefoane inteligente, condiția fiind existența unei conexiuni stabile la internet.

Aplicația poate fi îmbunătățită prin afișarea acelorași informații în mai multe limbi străine. Dacă s-ar dori afișarea conținutului acestei aplicații în mai multe limbi străine, acest lucru ar fi posibil, dar există riscul de încetinire a vitezei de rulare a aplicației.

Utilizatorii acestei aplicații vor fi mulțumiți de ușurința folosirii acestei aplicații și de utilitatea acesteia, datorită faptului că pacienții sunt scutiți de drumul până la cabinetul medical pentru o programare la medic.

În final, aplicația ar putea deveni un utilitar al ramurilor medicale amintite, deoarece ar putea revoluționa modul în care se realizează programările la medic, precum și realizarea consultațiilor și stabilirea diagnosticelor.

Bibliografie

[1] http://en.wikipedia.org/wiki/HTML5, Consultat la 1.02.2015 și 10.05.2015

[2] http://en.wikipedia.org/wiki/Cascading_Style_Sheets, Consultat la 2.02.2015 și 11.05.2015

[3] http://en.wikipedia.org/wiki/JavaScript, Consultat la 3.02.2015 și 12.05.2015

[4] http://en.wikipedia.org/wiki/Laravel, Consultat la 4.02.2015 și 13.05.2015

[5] http://en.wikipedia.org/wiki/Web_application_framework, Consultat la 5.02.2015 și 14.05.2015

[6] http://en.wikipedia.org/wiki/MySQL_Workbench, Consultat la 6.02.2015 și 15.05.2015

[7] http://en.wikipedia.org/wiki/WampServer, Consultat la 7.02.2015 și 16.05.2015

[8] http://en.wikipedia.org/wiki/Sublime_Text, Consultat la 8.02.2015 și 17.05.2015

[9] http://wowslider.com/, Consultat la 9.02.2015 și 18.05.2015

[10] http://www.hongkiat.com/blog/html5-basic-elements/, Consultat la 10.02.2015 și 19.05.2015

[11] http://www.w3.org/TR/CSS21/colors.html, Consultat la 11.02.2015 și 20.05.2015

[12] http://www.w3schools.com/css/css_border.asp, Consultat la 12.02.2015 și 21.05.2015

[13] http://www.css3.info/preview/rounded-border/, Consultat la 13.02.2015 și 22.05.2015

[14] http://en.wikipedia.org/wiki/JQuery, Consultat la 14.02.2015 și 23.05.2015

[15] http://www.w3.org/wiki/CSS/Properties/color, Consultat la 15.02.2015 și 24.05.2015

[16] http://www.w3schools.com/cssref/sel_hover.asp, Consultat la 16.02.2015 și 25.05.2015

[17] https://en.wikipedia.org/wiki/Bootstrap_(front-end_framework), Consultat la 17.02.2015 și 26.05.2015

[18] https://developer.mozilla.org/en/docs/Web/CSS/font-weight, Consultat la 18.02.2015 și 27.05.2015

[19] Dayle Rees: Code bright – Web application development with the Laravel Framework version 4 for beginners, http://www.blog.flds.fr/site/assets/files/1212/codebright-1.pdf, Consultat la 3.03.2015 și 3.04.2015

[20] Dayle Rees: Code happy – Application development with the Laravel PHP Framework for beginners, http://jurgens-nettuts-tutorial.s3.amazonaws.com/codehappy.pdf, Consultat la 10.03.2015 și 5.04.2015

Declarație de autenticitate a lucrării de finalizare a studiilor

Titlul lucrării

Aplicație web – Cabinet medical online Marflo

Autorul lucrării

Știube Marcel-Florin

Lucrarea de finalizare a studiilor este elaborată în vederea susținerii examenului de finalizare a studiilor organizat de către Facultatea Inginerie Electrică și Tehnologia Informației din cadrul Universității din Oradea, sesiunea iulie a anului universitar 2014 – 2015.

Prin prezenta, subsemnatul Știube Marcel-Florin CNP [anonimizat], declar pe proprie răspundere că această lucrare a fost scrisă de către mine, fără nici un ajutor neautorizat și că nici o parte a lucrării nu conține aplicații sau studii de caz publicate de alți autori.

Declar, de asemenea, că în lucrare nu există idei, tabele, grafice, hărți sau alte surse folosite fără respectarea legii române și a convențiilor internaționale privind drepturile de autor.

Oradea,

18.06.2015 Semnătura

Similar Posts