Organizarea Evenimentelor de Grup

INTRODUCERE

Internetul a devenit rapid un fenomen foarte mediatizat, având un impact determinat asupra societății. Cu ajutorul Internetului, au fost modificate moduri de lucru, de interacțiune umana, de divertisment, transformând viața sociala si comportamentul oamenilor. Odată cu dezvoltarea acestei industrii, au apărut noi necesități cu privire la viteza de lucru, automatizarea sarcinilor, accesul la informație, nevoia de socializare etc., motiv pentru care au fost dezvoltate aplicații cu diferite scopuri, de la aplicații care satisfac nevoi personale (blog-uri, pagini personale, platforme de socializare etc.) pana la aplicații cu utilitate practica (sistem de gestiune a activității unui magazin, a unei scoli, sau a unui spital, aplicație pentru livrare, aplicație pentru facturare etc.).

GroupEventsOrganizer reprezintă o aplicație care are ca scop rezolvarea problemelor de organizare a evenimentelor la care iau parte membrii unui grup. De multe ori, oamenii sunt invitați sa participe la diferite activități independente, dar care au loc în același timp. Lipsa organizării poate duce la stabilirea unor întâlniri care nu pot avea loc datorita unor persoane care trebuie sa fie prezente în alta parte. Aplicația își propune rezolvarea acestor probleme prin crearea unui sistem care nu permite unei persoane sa participe la mai multe evenimente care au loc în același timp.

Multe persoane folosesc agende sau carnetele pentru a tine evidenta activităților la care vor participa, însă neatenția poate duce la probleme precum cele descrise. în plus, o persoana ar trebui sa aibă în permanenta acces la agenda respectiva deoarece o invitație de participare la un eveniment poate veni oricând. GroupEventsOrganizer poate fi folosit în orice moment, atâta timp cat utilizatorul deține un dispozitiv cu acces la Internet. Astfel, aplicația poate fi comparata cu o agenda virtuala care nu permite greșeli de organizare.

Fie ca este vorba despre familie, un grup de prieteni, o companie sau un departament al acesteia, unele evenimente nu pot avea loc daca anumite persoane nu pot participa. Astfel, este nevoie ca evenimentele sa fie stabilite din timp pentru a permite participanților sa își organizeze programul. Aplicația permite crearea de evenimente în cadrul unui grup, inițiatorul evenimentului fiind notificat daca anumite persoane nu pot participa în perioada aleasa. În acest caz, inițiatorul evenimentului poate lua decizii precum anularea evenimentului, sau crearea acestuia în lipsa persoanelor respective.

Aceasta lucrare își propune sa realizeze o introducere în tehnologiile folosite în dezvoltarea aplicațiilor web (HTML, CSS, PHP, JavaScript, MySQL) si, totodată, sa prezinte soluția propusa pentru problemele descrise anterior din doua perspective: cea funcțională si cea a implementării.

ASPECTE GENERALE

Internet

Internetul reprezintă o rețea de calculatoare interconectate conform protocoalelor de comunicare TCP si IP. Prima rețea a fost creata sub numele ARPAnet. Aceasta a fost extinsa în permanență, obținându-se Internetul din ziua de azi: o rețea uriașă care oferă utilizatorilor săi o mulțime de informații si servicii.

TCP (Transmission Control Protocol) este un protocol de transmitere a datelor folosit de majoritatea serviciilor Internet, precum WWW, sau email. IP (Internet Protocol) este un protocol folosit în transmiterea datelor care identifica fiecare echipament conectat la rețea printr-o valoare numita adresa IP.

WWW (World Wide Web) reprezintă o mulțime globala de documente de tip hypertext, imagini și alte resurse care pot fi accesate în Internet prin intermediul unui browser web. Deși este foarte des confundat, WWW nu înseamnă Internet, acesta este doar unul dintre serviciile oferite de Internet.

HTTP (Hypertext Transfer Protocol) este principalul protocol de comunicare pentru WWW. Acesta este folosit pentru a transfera sau a face schimb de resurse hypertext.

Browser web

Un browser web este o aplicație software folosită pentru regăsirea, prezentarea și parcurgerea resurselor de informații din WWW (pagini web, imagini, video sau alte resurse).

Cele mai cunoscute și utilizate browsere sunt: Google Chrome, Mozilla Firefox, Microsoft Internet Explorer, Safari, Opera.

Din păcate, in unele cazuri browserele afișează aceeași informație într-un mod diferit, ceea ce complica procesul de creare a unei pagini web compatibila cu toate browserele.

În prezent, exista o bătălie intre browsere, fiecare încercând să adune cat mai mulți utilizatori prin diferite metode. De exemplu, Google Chrome oferă portabilitate si sincronizare in cloud, Internet Explorer vine deja instalat in sistemele de operare Windows, Safari vine deja instalat in sistemele de operare OS X.

Fig 2.1 – Folosirea browserelor web pe regiuni

Fig 2.2 – Cota de utilizare a browserelor web

Aplicații web

O aplicație web este un program care rulează într-un browser web. Este alcătuită dintr-o colecție de documente interconectate, de obicei cu conținut dinamic.

“Responsive” design

Aplicațiile web pot fi accesate printr-un calculator sau un dispozitiv cu acces la Internet. Unul dintre scopurile acestora este de a oferi utilizatorului o interfață plăcută, intuitivă și ușor de folosit.

„Responsive” design este un procedeu de web design care permite aplicațiilor să se adapteze la ecranul dispozitivului de pe care sunt accesate. Acest procedeu presupune crearea unui design fluid, cu imagini flexibile și dimensiuni bazate pe proporții (nu pe valori fixe), care se adaptează la rezoluția ecranului pe care este afișat.

Odată cu dezvoltarea dispozitivelor mobile (telefoane, tablete), cererea pentru design-uri „responsive” a crescut rapid, acestea fiind obligatorii pentru aplicații de succes.

De curând, Google a anunțat faptul ca aplicațiile care nu au un design „responsive” vor fi penalizate de către motorul de căutare.

Fig 2.3 – „Responsive” design

Baze de date relaționale

O bază de date este o colecție de date organizate într-o manieră care permite o procesare eficientă a acestora. Într-o baza de date se pot executa acțiuni de adăugare, ștergere sau modificare a informațiilor. Bazele de date sunt manipulate cu ajutorul sistemelor de gestiune a bazelor de date (SGBD).

Modelul relațional reprezintă cel mai răspândit tip de baze de date, datele fiind păstrate in tabele cu linii și coloane, fiecare linie având o valoare unica ce o identifică (cheie primară). Coloanele reprezintă câmpurile tabelei, iar rândurile reprezintă valorile instanțelor de date.

Fiecare rând conține o valoare unica (cheia primara) ce îl identifică într-o tabela, astfel ca valorile unice pot fi folosite in alte tabele pentru a face referire la rândurile respective. Astfel, se creează relații intre tabele.

Fig 2.4 – Exemplu de tabele relaționate

TEHNOLOGII FOLOSITE

HTML

HTML (HyperText Markup Language) este limbajul de baza folosit pentru crearea paginilor web ce pot fi afișate într-un browser.

Paginile HTML sunt formate din etichete care includ informații redate de browser într-un anumit mod. Etichetele apar, de obicei, in pereche: una de deschidere („<eticheta>”) și una de închidere („</eticheta>”).

În general, etichetele HTML sunt folosite pentru a afișa informații structurate într-o pagina: titluri, paragrafe, liste, tabele, legături interne sau externe, formulare. Exista si alte etichete care definesc metadate: titlul si descrierea paginii, cuvinte cheie, autor.

În ultima versiune (HTML 5), au fost adăugate etichete pentru inserarea de resurse audio, video, pentru definirea secțiunilor paginii („<header>”, „<footer>”, „<nav>”, „<section>”, „<article>”). Etichetele care definesc secțiunile paginii sunt, de obicei, folosite de către motoarele de căutare pentru a extrage informațiile utile din pagină.

Documentele HTML sunt validate de către W3C (World Wide Web Consortium) pentru a verifica daca sunt bine formate. Astfel, se asigura o calitate tehnică a paginilor web.

Fig 3.1 – Logo W3C HTML Validator

CSS

CSS (Cascading Style Sheet) este un standard folosit pentru a descrie modul în care arată și sunt formatate elementele unui document HTML, XHTML, XML sau SVGL.

CSS oferă o flexibilitate mai mare în crearea unei pagini web deoarece separă conținutul unui document de modul în care acesta este afișat (design, culori, mărimi, fonturi). De asemenea, reduce repetiția în cadrul unui document prin aplicarea aceluiași stil pe mai multe elemente.

Javascript – biblioteca jQuery

JavaScript este un limbaj de programare orientat pe obiecte folosit pentru crearea scripturilor pe parte de client. Scripturile JavaScript sunt rulate direct de către browser.

Cu ajutorul JavaScript se poate modifica modul în care o pagina este afișata si conținutul acesteia, controlând direct browser-ul (fără a reîncarcă pagina). De asemenea, JavaScript permite execuția unor cereri către server într-un mod asincron (cererile sunt procesate simultan, fără ca una sa aștepte sfârșitul execuției celeilalte).

jQuery este o biblioteca JavaScript având scopul de a simplifica dezvoltarea scripturilor pe parte de client. Este cea mai folosita biblioteca JavaScript, este gratuita si open-source.

Fig 3.2 – Logo jQuery

PHP

PHP (Php: Hypertext Preprocessor) este un limbaj de programare pe parte de server folosit pentru dezvoltarea de pagini web dinamice și aplicații web.

Conform statisticilor, PHP este cel mai folosit limbaj de programare în domeniul dezvoltării web. Este gratuit si open-source.

Codul PHP este, de obicei, preprocesat de către un interpretor PHP. După ce codul este procesat și executat, serverul trimite răspunsul către client.

PHP poate fi instalat pe majoritatea serverelor web și pe aproape orice sistem de operare.

MVC. Zend Framework

MVC (Model-View-Controller) este un model arhitectural folosit pentru implementarea interfețelor utilizator.

Model-ul reprezintă datele care sunt folosite în Controller si afișate in View.

Controller-ul folosește și manipulează datele din Model, apoi trimite rezultatul către View.

În View sunt afișate informațiile așa cum vor fi văzute de către utilizator.

Această arhitectură încurajează dezvoltarea modulară a aplicațiilor, oferind scalabilitate.

Fig 3.3 – Modelul arhitectural MVC

Zend Framework este un framework PHP open-source, orientat pe obiecte, bazat pe modelul arhitectural MVC.

Acest framework este alcătuit din componente cu dependențe minimale, ceea ce oferă flexibilitate în dezvoltare. De asemenea, suportă și încurajează dezvoltarea bazată pe șabloane (sau scheme).

De asemenea, Zend Framework oferă suport pentru mai multe baze de date, printre care si: MySQL, MariaDB, Oracle, IBM DB2, Microsoft SQL Server, PostgreSQL, SQLite.

AJAX

AJAX (Asynchronous JavaScript and XML) este o tehnica de programare pentru crearea de aplicații web interactive. Folosind AJAX se pot modifica secțiuni din pagină cu date de la server, fără a reîncărca întreaga pagina.

Fig 3.4 – Exemplu de apel AJAX in jQuery

Bootstrap

Bootstrap este un framework HTML, CSS și JavaScript folosit pentru a crea aplicații web cu design „responsive”. Conține șabloane bazate pe CSS specifice pentru diferite componente de interfață precum: formulare, butoane, liste, meniu de navigare și altele.

Bootstrap este gratuit și open-source.

Fig 3.5 – Tipuri de butoane în Bootstrap

PERSPECTIVA FUNCȚIONALĂ

Descrierea aplicației

GroupEventsOrganizer este o aplicație bazată pe tehnologii web, care are ca scop organizarea evenimentelor, întâlnirilor sau activităților din cadrul unui grup, din perspectiva membrilor grupului.

Unul dintre obiectivele principale ale aplicației îl reprezintă posibilitatea de a fi accesată de oriunde. Astfel, design-ul este „responsive”, adaptându-se la rezoluția ecranului pe care este afișat. Așadar, aplicația poate fi accesată la fel de bine de pe calculator, laptop, tabletă, telefon, sau alte dispozitive mobile.

Un alt obiectiv al aplicației este de a nu permite unui utilizator să participe la două evenimente diferite care au loc in același timp.

Pentru a putea folosi aplicația, utilizatorul trebuie sa își creeze un cont folosind formularul pus la dispoziție pe prima pagina.

Un utilizator autentificat poate crea un grup, sau poate fi invitat sa facă parte din alte grupuri. Odată intrat în grup, orice membru poate participa la orice eveniment creat in cadrul grupului, atâta timp cât acesta nu se suprapune cu un alt eveniment deja stabilit în calendarul utilizatorului.

Aplicația dispune de un sistem de notificări pentru a ține utilizatorul la curent cu toate activitățile noi ce îl privesc.

Prima pagină

Pe prima pagină, utilizatorul își poate crea un cont, sau, dacă are deja unul, se poate autentifica în aplicație.

Crearea unui cont nou

Pentru a crea un cont nou, utilizatorul trebuie să completeze formularul de pe prima pagina, având nevoie doar de un email și o parola.

În cazul în care email-ul a fost deja înregistrat, contul nu va fi creat și un mesaj de eroare sugestiv va fi afișat în pagina.

Întrucât parola introdusă nu va fi vizibilă în pagină, utilizatorul trebuie să o introducă din nou în câmpul de confirmare a parolei, pentru a preveni greșeli de tastare.

După crearea contului, utilizatorul va fi autentificat în mod automat.

Fig 4.1 – Formularul de creare a unui cont nou

Autentificarea

Pentru a intra în aplicație, utilizatorul trebuie să introducă datele contului sau în formularul de autentificare de pe prima pagină.

În cazul în care datele introduse nu sunt corecte, un mesaj de eroare specific va fi afișat.

Fig 4.2 – Formularul de autentificare

Dacă datele introduse sunt corecte, utilizatorul este autentificat și este trimis automat către pagina „Overview”.

Cont de utilizator

Un panou specific fiecărui utilizator autentificat apare sub meniu și persista pe toată durata sesiunii de lucru.

Acest panou de control conține legături către pagina de modificare a detaliilor contului, pagina „Overview” si un buton de ieșire din cont (deautentificare).

Fig 4.3 – Panou de control al utilizatorului autentificat

Modificarea detaliilor contului

Accesând pagina „Account” din panoul de control al utilizatorului, va apărea un formular care permite modificarea detaliilor contului.

Pentru a fi identificat cu ușurință în aplicație, este recomandat ca utilizatorul să își completeze numele și prenumele folosind acest formular. De asemenea, adresa de email poate fi modificată din aceasta pagină.

Dacă noua adresă de email este deja folosită în aplicație, va apărea un mesaj de eroare sugestiv.

Fig 4.4 – Formularul de modificare a detaliilor contului

Schimbarea parolei

Parola contului folosită la autentificare poate fi schimbată completând formularul de resetare a parolei din pagina „Account”.

Pentru schimbarea parolei, trebuie introdusă parola actuală pentru a verifica identitatea utilizatorului care completează formularul.

Fig 4.5 – Formularul de schimbare a parolei

Meniu

După autentificare, apare pe pagină meniul de navigare în aplicație, care conține legături către următoarele pagini: Overview, Grupuri, Evenimente si Calendar.

Fig 4.6 – Meniu de navigare

Overview

În această pagină apar notificările utilizatorului și evenimentele viitoare la care acesta s-a angajat să participe.

Din secțiunea de notificări se pot executa diferite acțiuni precum: acceptarea sau refuzul unei invitații de participare la un eveniment, acceptarea sau refuzul unei invitații de a face parte dintr-un grup.

În secțiunea de evenimente viitoare vor apărea evenimentele la care utilizatorul va participa, in ordine cronologică.

Fig 4.7 – Pagina Overview

Grupuri

În pagina de grupuri vor fi afișate grupurile din care utilizatorul a fost invitat să facă parte, precum și cele din care face parte deja.

În aceasta pagină, utilizatorul poate accepta sau refuza invitațiile de a face parte din alte grupuri.

Fig 4.8 – Pagina de grupuri

Din această pagină se poate naviga către pagina unui grup, însă această acțiune este posibilă numai dacă utilizatorul este membru al grupului respectiv.

Tot din această pagină se pot crea grupuri noi executând click pe iconița verde cu „+”.

Evenimente

În pagina de evenimente vor fi afișate evenimentele la care utilizatorul a fost invitat, precum și evenimentele la care a ales să participe.

În aceasta pagină, utilizatorul poate accepta sau refuza invitațiile de a participa la diferite evenimente.

Din această pagină se poate naviga către pagina unui eveniment, însă această acțiune este posibilă numai dacă utilizatorul este membru al grupului respectiv.

Tot din această pagină se pot crea evenimente personale noi executând click pe butonul „Create personal event”.

Fig 4.9 – Pagina de evenimente

Calendar

Pe aceasta pagină este afișat calendarul cu toate evenimentele viitoare la care utilizatorul autentificat a ales să participe.

Calendarul permite filtrarea evenimentelor după an, luna sau zi.

Evenimentele din trecut nu vor apărea în acest calendar, întrucât rolul său este de a ajuta la gestionarea evenimentelor viitoare.

Fig 4.10 – Calendarul utilizatorului

Grupuri

În această aplicație, un grup reprezintă o entitate care conține mai mulți utilizatori având, sau urmând a avea cel puțin o activitate in comun.

Pagina unui grup deja existent în sistem poate fi accesată de către membrii acestuia din pagina de grupuri (vezi secțiunea 4.4.2. Grupuri).

Pe pagina grupului sunt afișate numele și descrierea grupului, precum și membrii acestuia și evenimentele create în cadrul său. De aici se pot modifica numele și descrierea grupului și se pot gestiona membrii și evenimentele acestuia.

Fig 4.11 – Pagina grupului

Membri si roluri

Când un utilizator accepta invitația de a intra într-un grup, acesta devine membru al grupului respectiv.

Fiecare membru al grupului poate avea unul dintre următoarele roluri: Owner, Admin, Organizer, sau nici un rol.

Utilizatorul cu rolul Owner este creatorul grupului. Acesta poate realiza orice acțiune în cadrul grupului, inclusiv schimbarea rolului unui alt membru.

Rolul fiecărui membru este afișat cu o culoare specifica în dreptul fiecărui utilizator din grup. Pentru a schimba rolul acestuia, Owner-ul trebuie să apese butonul „Change role” din dreptul utilizatorului respectiv. Se va deschide un pop-up unde va trebui ales un rol.

Utilizatorul cu rolul Admin poate modifica titlul sau descrierea grupului, poate crea evenimente noi in grup, poate invita alți utilizatori în grup și poate elimina utilizatori din grup (cu excepția celor cu rol de Owner sau Admin).

Utilizatorul cu rolul Organizer poate crea evenimente in grup.

Indiferent de rolul pe care îl dețin în grup, membrii acestuia pot alege să participe sau să nu participe la evenimentele din grup.

Fig 4.12 – Schimbarea rolului unui utilizator în grup

Crearea și editarea unui grup

Pentru a crea un grup nou, se apasă butonul verde cu „+” din pagina de grupuri (vezi secțiunea 4.4.2. Grupuri). Se deschide un pop-up care conține un formular ce trebuie completat cu numele și descrierea grupului.

Fig 4.13 – Formular pentru crearea unui grup nou

Pentru editarea detaliilor grupului, se apasă butonul „Edit Group” din pagina grupului (vezi Fig 4.11). Se deschide un pop-up similar cu cel de la crearea grupului unde pot fi modificate numele și descrierea grupului.

Ștergerea unui grup

Doar utilizatorul cu rolul Owner poate șterge un grup. Aceasta acțiune este posibila din pagina de grupuri (vezi secțiunea 4.4.2. Grupuri).

Ștergerea unui grup implică și ștergerea tuturor evenimentelor create în acel grup. Această acțiune trebuie efectuată cu atenție întrucât este ireversibila (datele șterse nu pot fi recuperate). Pentru a evita ștergerea unui grup din neatenție, în momentul în care se intenționează aceasta acțiune, un pop-up de confirmare va apărea pe ecran.

Fig 4.14 – Pop-up de confirmare la ștergerea unui grup

Invitarea utilizatorilor in grup

Doar utilizatorii cu rolul de Owner sau Admin pot invita alți utilizatori în grup. Aceasta acțiune este posibilă din pagina grupului (vezi Fig 4.11), apăsând butonul verde cu „+” din secțiunea membrilor. Se va deschide un pop-up unde vor putea fi aleși utilizatorii care vor fi invitați în grup.

Pentru a căuta un utilizator, trebuie introdusă adresa lui de email, numele, sau prenumele. După tastarea a 3 caractere, va apărea o listă cu sugestii de unde va putea fi ales utilizatorul dorit.

Pot fi selectați mai mulți utilizatori în aceeași sesiune de trimitere a invitațiilor.

Fig 4.15 – Căutarea utilizatorilor pentru trimiterea invitațiilor de a intra în grup

Excluderea din grup

Doar membrii cu rolul de Owner sau Admin pot exclude alți utilizatori din grup.

Excluderea unui utilizator din grup presupune ștergerea tuturor evenimentelor create de el în acel grup. Pentru a evita ștergerea unor evenimente din neatenție, un pop-up de confirmare va apărea pe ecran.

Fig 4.16 – Excluderea unui utilizator din grup

Evenimente

Exista două tipuri de evenimente in aplicatie: evenimente de grup si evenimente personale.

Evenimentele de grup sunt activitati create în cadrul unui grup la care pot participa toti membrii acestuia.

Evenimentele personale sunt create de fiecare utilizator pentru a îsi completa propriul calendar cu activitati la care urmează sa participe.

Participanti si roluri

Din pagina evenimentelor (vezi sectiunea 4.4.3. Evenimente), alegand un eveniment, se poate naviga catre pagina acestuia unde vor fi afisati toti participantii, impreuna cu alte detalii despre eveniment.

Un utilizator care participă la un eveniment poate avea unul dintre urmatoarele roluri: Creator, Admin, sau nici un rol.

Utilizatorul cu rol de Creator este cel care a creat evenimentul. Acesta poate efectua orice actiune, inclusiv modificarea rolurilor celorlalti participanti.

Utilizatorul cu rol de Admin poate modifica datele evenimentului (nume, descriere, data, perioada), sau poate trimite invitatii catre alti participanti ai grupului.

Crearea unui eveniment de grup

Pentru a crea un eveniment de grup, se execută click pe butonul verde cu „+” din sectiunea evenimentelor, din pagina grupului (vezi Fig 4.11).

Se va deschide o pagină unde va fi creat evenimentul prin completarea formularului afisat.

Fig 4.17 – Formularul de creare a unui eveniment de grup

Toti membrii unui grup pot alege oricand să participe la un eveniment de grup.

Invitatiile de participare la evenimentele de grup sunt, de fapt, notificari pe care utilizatorii le primesc, urmand să decida dacă vor participa sau nu.

Toate evenimentele de grup pot fi observate in pagina grupului în care au fost create, în pagina evenimentelor, sau în calendar.

Crearea unui eveniment personal

Pentru a crea un eveniment personal, se execută click pe butonul „Create personal event” din pagina evenimentelor (vezi sectiunea 4.4.3. Evenimente).

Se va deschide o pagină unde va fi afisat un formular similar cu cel din Fig 4.17.

Evenimentele personale pot fi observate in pagina evenimentelor sau în calendarul utilizatorului.

Modificarea unui eveniment

Un eveniment poate fi modificat doar de catre participantii cu rol de Creator sau Admin. Aceasta actiune este posibilă fie din pagina grupului (în cazul evenimentelor de grup), fie din pagina evenimentului (pentru orice tip de evenimente).

Se completeaza un formular similar cu cel din Fig 4.17 si se salvează modificarile.

Ștergerea unui eveniment

Un eveniment poate fi sters doar de catre cel care l-a creat (participantul cu rol de Creator). Aceasta actiune este posibila fie din pagina grupului (în cazul evenimentelor de grup), fie din pagina evenimentelor (pentru orice tip de evenimente).

Stergerea unui eveniment este un proces ireversibil. Pentru a evita greseli din cauza neatentiei, un pop-up de confirmare va fi afisat pe ecran.

Fig 4.18 – Stergerea unui eveniment

Notificări

Notificarile sunt mesaje specifice fiecarui utilizator care au scopul de a îl atentiona ca trebuie sa ia o decizie, sau de a îl informa ca cineva a luat o decizie cu privire la actiunile sale.

Astfel, se pot primi notificari atunci cand: un utilizator primeste o invitatie de a intra într-un grup, sau primeste o invitatie de participare la un eveniment, sau persoana pe care a invitat-o la un grup sau un eveniment a acceptat, sau a refuzat invitația.

Orice utilizator autentificat poate observa in panoul de control daca are notificari. Mai multe detalii despre acestea poate vedea in pagina „Overview” (vezi sectiunea 4.4.1. Overview).

Fig 4.19 – Panou de control al utilizatorului, avand notificari

Fig 4.20 – Notificari in pagina Overview

Notificări pentru invitații la grup

Daca un utilizator este invitat la un grup, el va primi o notificare vizibilă în pagina Overview. De aici, poate alege sa accepte sau să refuze invitatia.

De asemenea, invitatia de a intra în grup poate fi gestionata si din pagina grupurilor.

Notificări pentru invitații la eveniment

Atunci cand un utilizator este invitat sa participe la un eveniment, el primeste o notificare vizibilă în pagina Overview. De aici, poate alege sa accepte sau să refuze invitatia.

De asemenea, invitatia de a participa la un eveniment poate fi gestionata si din pagina evenimentelor

ARHITECTURA

Flux de lucru

#SCHEMA

Structura fisierelor

#TODO – detalii MVC…

Fig 5.1 – Structura fisierelor

Structura bazei de date

#TODO – detalii despre tabele si relatii…

Fig 5.2 – Diagrama bazei de date creată in MySQL Workbench

IMPLEMENTARE

Configurarea serverului Apache

#TODO – pachet XAMPP

Implementarea bazei de date

#TODO – SQL

Stabilirea conexiunii cu baza de date

#TODO – fisiere de configurare

Design

Layout

#TODO – Design bazat pe un layout general

Crearea unui cont nou

Autentificarea

#TODO – pe sesiune

Gestiunea grupurilor

Crearea unui grup nou

Modificarea unui grup

Stergerea unui grup

Gestiunea evenimentelor

Crearea unui eveniment

Modificarea unui eveniment

Stergerea unui eveniment

Trimiterea invitatiilor de a intra in grup

Trimiterea invitatiilor de a participa la un eveniment

Notificari

Calendar

Performanta

Securitate

CONCLUZII

Probleme intalnite

Responsive design

Fluxul de lucru complex, tratarea tuturor cazurilor

Posibile imbunatatiri

Integrare cu Facebook : autentificare prin Facebook, colectare lista de prieteni

Integrare cu Google Maps : alegerea locatiei unui eveniment folosind Google Maps

Functionalitate de Recuperare Parola, folosind adresa de e-mail inregistrata

Posibilitatea de a invita alte personale la evenimentele personale, evenimentele devenind publice

Posibilitatea de a crea evenimente din pagina calendarului

Posibilitatea de a adauga o nota (un comentariu) la un eveniment

Crearea unui serviciu web REST pentru o ulterioara integrare cu aplicatii mobile (de exemplu, o aplicatie mobile care arata in timp real pozitia pe harta a tuturor participantilor la un eveniment, atunci cand data/ora evenimentului se apropie)

BIBLIOGRAFIE

#TODO

Similar Posts