Aspecte generale
-
Proiectul va consta în propunerea unei soluţii aliniate problematicilor actuale privind tehnologiile Web pe partea de client, conform celor prezentate pe parcursul desfăşurării materiei.
-
Nu se permite utilizarea de framework-uri la nivel de client, fiind acceptat doar cod-sursă ECMAScript pur – i.e., plain/vanilla JS/ES.
-
Fiecare proiect va fi dezvoltat în echipă – formată din 2—3 studenţi ce aparţin grupelor având acelaşi titular de laborator.
O propunere de proiect poate fi aleasă de maxim 5 echipe – detalii. Studenţii care nu-şi aleg la timp o temă de proiect vor avea asignat unul dintre proiectele nealese şi vor fi penalizaţi cu 2 puncte pentru fiecare componentă evaluată.
-
Detaliile despre cerinţele fiecărei propuneri vor putea fi discutate în cadrul laboratorului.
Cerinţe
Cele mai importante aspecte pentru fiecare proiect în parte sunt:
-
Rezolvarea integrală a problemei – conform cerinţelor specifice fiecărei propuneri de proiect.
-
Includerea unei părţi substanţiale vizând interacţiunea cu utilizatorul – via tehnologiile HTML5 actuale – la nivel de client: Web, mobil, tabletă, consolă de jocuri, alt dispozitiv inteligent etc.
-
În procesul de dezvoltare a proiectelor, se va utiliza obligatoriu un sistem de stocare şi management online al codului-sursă – e.g., utilizarea de soluţii populare precum Bitbucket ori GitHub etc.
Respectarea cerinţelor de bază ale ingineriei software – e.g., comentarea şi modularizarea codului-sursă, recurgerea la unităţi de testare şi altele.
-
Redactarea textului (comentarii, interfaţă, documentaţie, alte conţinuturi etc.) se va face, de dorit, în limba engleză.
Suplimentar, vor putea fi punctate:
-
Folosirea judicioasă a unor paradigme de programare: orientată-obiect, funcţională şi/sau reactivă, în concordanţă cu tema proiectului.
-
Posibilitatea de a exploata aplicaţia în manieră offline (i.e. direct în cadrul navigatorului Web fără a necesita acces la Internet) – bonus de 1 punct.
-
Adoptarea unor soluţii aliniate problematicilor cloud computing – de exemplu, pentru stocarea datelor şi/sau exploatarea aplicaţiei Web dezvoltate – a se consulta şi Cu codul în "nori".
-
Gradul de creativitate a soluţiei furnizate.
-
Eleganţa şi maturitatea implementării, inclusiv adoptarea de şabloane de proiectare şi/sau a metodologiilor de dezvoltare software.
-
Lucrul în echipă, fiecare membru trebuind să precizeze care au fost contribuţiile majore la soluţia oferită. Proiectele susţinute doar de 1 persoană vor fi penalizate cu 2 puncte pentru fiecare componentă.
-
Recurgerea la tehnici neprezentate la curs/laborator – e.g., paradigme, API-uri etc. –, cu accent pe cele disponibile în regim liber.
Impresia generală a proiectului.
Livrabile & calendar
Sursele proiectelor vor trebui să conţină exclusiv cod aflat sub incidenţa unei licenţe libere. Conţinutul pus la dispoziţie va respecta termenii stipulaţi de Creative Commons.
Fiecare echipă va livra următoarele resurse – toate obligatorii –, conform fiecărei propuneri de proiect.
Vor fi alocate maxim 10 minute pentru susţinere.
P: Prototip al interfeţei Web (săptămâna #5) – 10%
-
Proiectarea şi implementarea interfeţei Web responsive ce va recurge la standardele actuale HTML şi CSS.
-
Un raport în formatul Scholarly HTML disponibil public pe situl Web al echipei (e.g., blog, wiki) care cuprinde:
idei/concepte importante privind designul general (incluzând schiţe, wireframe-uri, planşe narative şi, eventual, prototipuri),
maniera de interacţiune cu utilizatorul,
maniera de folosire a sistemului de management al codului-sursă ales.
Conţinuturile multimedia aferente, dacă există, vor putea fi distribuite sub formă de prezentare ori film via Slideshare, Speaker Deck, Vimeo sau altele similare. Minimal, vor fi asociate tag-urile
project
,infoiasi
,cliw
şiweb
.
A: Arhitectura aplicaţiei Web (săptămâna #10) – 20%
Arhitectura software de ansamblu (e.g., via diagrame UML) detaliind aspectele referitoare la modulele principale cu încadrarea soluţiei propuse într-o anumită categorie de aplicaţii Web precum SPA — Single Page Application ori extensie de navigator Web – a se consulta Web Browser Extensions şi Creating One Browser Extension for All Browsers.
-
Un raport în formatul Scholarly HTML disponibil public pe situl Web al echipei care va include:
informaţii privind etapele intermediare ale dezvoltării proiectului,
detalii referitoare la modelarea datelor proprii – inclusiv cele vizând folosirea schemelor de microdate HTML5 – şi cele externe preluate via API-uri publice,
soluţiile de stocare disponibile la nivel de client.
S: Soluţia completă (în sesiune) – 50%
-
Soluţia complet funcţională a proiectului – de dorit, independentă de navigatorul Web. Pentru partea de server, încurajăm recurgerea la un API creat pe baza unui instrument software aliniat problematicilor serverless.
-
Codul HTML5 va include construcţii semantice modelate via scheme de microdate HTML5.
-
Un raport actualizat în format Scholarly HTML descriind detaliile ce vizează progresul proiectului, inclusiv aspectele privind testarea şi exploatarea practică a soluţiei realizate.
-
Ghidul de utilizare a aplicaţiei dezvoltate – disponibil ca document Scholarly HTML –, oferind capturi-ecran şi un film demonstrativ cu o durată de 4—7 minute, la calitate HD.
Restanţe
-
Evaluarea proiectelor – i.e. componentele P, A şi/sau S – se va efectua cu aplicarea unei penalizări de 2 puncte pentru fiecare componentă.
-
Livrabilele aferente fiecărei componente rămân cele menţionate mai sus.
Alte detalii de interes vor fi furnizate la momentul oportun – pentru nelămuriri, poate fi contactată echipa disciplinei.