Documente Academic
Documente Profesional
Documente Cultură
Extindere descriere proiect in care sa exprimati viziunea echipei pentru dezvoltarea proiectului;
Descriere proiect:
Proiectul isi propune implementarea unei platforme online pentru alegerea si inrolarea la cursuri a
unor cursanti. Task-urile specifice care trebuie implementate de echipa de proiect sunt: definirea
resurselor care sunt gazduite de platforma, definirea permisiunilor atasate, definirea tipurilor de
utlizatori si a politicii de acces la resursele expuse.
Proiectul are in vedere dezvoltarea unei platforme dedicate cursurilor online si managementului
resurselor asociate acestor cursuri (i.e. cursuri video, resurse tip document PDF / .doc, administrarea
conturilor studentilor). Totodata, proiectul are in vedere punerea la dispozitie a unui mecanism de
interactiune dedicat utilizatorilor (i.e. comentarii / forum - studentii vor putea adauga comentarii si
vizualiza raspunsurile / indicatiile profesorilor. Aceste resurse vor fi supuse administrarii de catre
moderatori).
Drepturile (i.e. permisiunile) de acces definite vor putea fi configurate in detaliu. Asocierea unui
utilizator cu un anumit grup de utilizatori va rezulta in mostenirea drepturilor asociate acelui grup de
catre utilizatorul in cauza. De asemenea, in vederea configurarii la nivel detaliat, va fi posibila
definirea exceptiilor (e.g. un utilizator, desi membru al unui grup, poate avea accesul restrictionat la
o anumita resursa / drept specific.).
Aplicatia va avea la baza o arhitectura bazata pe servicii REST, intrucat aceasta permite separarea
cu usurinta a nivelurilor de abstractizare si a resurselor. De asemenea, tinand cont de separarea
incurajata de catre aceasta arhitectura, protocolul de autentificare va fi reprezentat de OAuth 2. In
acest fel, accesul la resurse va fi realizat prin intermediul unui token eliberat de catre server, urmand
ca acesta sa fie folosit pentru a accesa resursele puse la dispozitie de catre Resource Provider. Odata
obtinut acest token, un utilizator autorizat va putea accesa resursele puse la dispozitie acestuia de
catre politica de autorizare. Se are in vedere dezvoltarea unui modul specific de gestiune a
drepturilor de acces asociate utilizatorilor.
Acest framework se pune la dispozitie sub forma modulelor, avand suport pentru dezvoltarea
arhitecturilor de acest tip. De asemenea, tinand cont de natura orientata pe entitati a controller-elor
REST, nivelul de acces la date va fi implementat cu ajutorul Spring JPA (Java Persistence API), un API
dedicat ORM-ului (Object Relational Mapping), in vederea delimitarii clare a entitatilor (i.e.
resurselor) accesibile. Spring JPA va media transferul de date dintre aplicatie si un SGBD relational.
Totodata, Spring Boot dispune de suport pentru implementarea protocolului OAuth 2, prin
intermediul modulului Spring Security.
<<FRONTEND>>
Se doreste dezvoltarea unui MVP ce va juca rolul unui prototip ce va fi imbunatatit / adaptat
ulterior prin intermediul iteratiilor succesive.
- definirea permisiunilor prin intermediul unui API specific (definirea filtrelor de securitate,
mecanismelor de logging, identificarea utilizatorului - Principal-ului injectat la nivelul filtrului /
controller-ilor si asocierea acestuia cu permisiunile sale)
- <<TASKS FRONTEND>>
Impartire proiectului pe task-uri si desemnarea unui task leader pentru fiecare task;