- (0.5p) Sa existe 4 tipuri de utilizatori:
- utilizator neinregistrat,
- organizator (nu trebuie neaparat sa fie rol – poate fi implementat si din logica de backend)
- membru (este un user inregistrat) si administrator.
- (0.5p) Utilizatorii neinregistrati pot sa vada pagina de prezentare a platformei si formularele de autentificare si inregistrare. Pagina de prezentare a platformei se realizeaza cu elemente pe care echipa le considera utile si pe care doreste sa le prezinte catre toti utilizatorii care acceseaza platforma. Daca aceasta nu contine alte elemente in afara de login si register, nu se acorda intregul punctaj.
- (0.5p) Utilizatorii care creeaza un proiect devin automat organizatori. Organizatorul, avand acest rol punctual, nu trebuie sa fie in mod obligatoriu un rol in aplicatie. Se poate implementa aceasta functionalitate in logica de backend.
- (1.0p) Organizatorii pot adauga membri si pot crea task-uri.
- (1.0p) Task-urile contin titlu, descriere, status, data start, data finalizare si continut media: text, imagini sau videoclip-uri de pe alte platforme (embedded). Toate campurile sunt obligatorii. Data de finalizare trebuie sa fie mai mare decat data de inceput.
- (1.0p) Organizatorii adauga, modifica si sterg task-uri si asigneaza task-urile membrilor proiectului.
- (1.0p) Membrii pot doar sa lase comentarii la task-urile existente, doar in proiectele din care fac parte, si sa isi modifice sau sa isi stearga comentariile proprii.
- (0.5p) Membrii au access doar la task-urile alocate proiectelor din care acestia fac parte.
- (1.0p) Atat organizatorul, cat si membrii, pot modifica statusul unui task: not started, in progress, completed.
- (0.5p) Fiecare proiect are task-urile listate in pagina speciala a proiectului.
- (1.5p) Administratorul are acces la tot ce cuprinde aplicatia si se ocupa de buna functionare a acesteia. Acesta poate sterge task-uri, comentarii, echipe, utilizatori, etc, si poate activa si revoca drepturile utilizatorilor.
In cadrul prezentarii finale, proiectul trebuie sa contina date coerente care sa simuleze cat mai bine realitatea. Trebuie sa existe un set de date fictive pentru baza de date, fiecare inregistrare respectand tiparele si structura datelor reale, astfel incat sa se creeze un model consistent si omogen. Evitati datele generate aleatoriu.