Guidline Proiect

Introducere

Ești un tânăr antreprenor și vrei să aduci la viață un produs care vă revoluționa lumea. După o perioada lunga de cercetare și comparare a tehnologiilor existente ai decis să folosești ASP.NET pentru BE și React.js pentru FE, iar pentru persistența datelor ai decis să utilizezi PostgreSQL.

De asemenea, fiind foarte bine organizat, ai stabilit și un timeline pentru proiect, disponibil mai jos.

În ceea ce privește exact tema produsului, încă nu te-ai decis dar ai resusit să stabilești un set de cerințe minime pe care vrei că produsul tău să le implementeze.

Proiectul este individual.

Tehnologiile folosite la proiect trebuie sa fie cele prezentate la laborator: ASP.NET 6 sau Spring cu Java sau Kotlin pentru Backend si React.js pentru Frontend. Proiectele dezvoltate cu alte tehnologii nu se iau in considerare.

Echivalare proiect:

Se poate echivala cu un alt proiect implementat pentru o alta materie sau chiar pentru licenta, atata timp cat indeplineste cerintele de mai jos si este implementat folosind tehnologiile prezentate in cadrul laboratorului de Programare Web.

Pentru mai multe detalii discutati cu asistentul de la laborator.

Timeline Proiect

Poiectul se vă desfășură pe toată durata semestrului și vă avea doua milestone-uri și prezentarea finala a proiectului.

  • Primul milestone - săptămână 2 - 06.03-10.03

Se stabilieste tema proiectului și se validează cu asistentul.

  • Al doilea milestone - săptămână 7 - 10.04 - 13.04 – 30 puncte

Se prezintă în cadrul laboratorului BE-ul proiectului + demonstrarea funcționalității BE-ului folosind Swagger/Postman

  • Prezentare finala proiect - săptămâna 13 - 22.05-26.05 – 30 puncte

Se prezintă în cadrul laboratorului tot proiectul și se notează conform îndeplinirii cerințelor de mai jos.

Milestoneul din saptamana 7 are deadline hard. Ratarea deadlineului aduce dupa sine pierderea celor 30 de puncte.

Cerințe

Backend

  • Repository Pattern/ORM
  1. Minim 5 entitati (in afara de tabele de merge pentru realatii many-to-many) – 3 puncte
  2. Relatii entitati (one-to-one, one-to-many, many-to-many) – 3 puncte
  3. Configurare relații utilizand FluentAPI/Atribute – 3 puncte
  • Basic JWT Auth
  1. Adaugare claims in token (roluri, alte informatii) – 3 puncte
  2. Permisiuni bazate pe roluri – 3 puncte
  3. Autorizare controllere – 3 puncte
  • CRUD Controllers
  1. Controllere Basic (getById, Get, Post, Put, Delete + others) – 4 puncte
  2. Error Handling (error codes) – 3 puncte
  • DTOs
  1. Utilizarea de DTO-uri pentru interactiunea cu controllerele (request/response) – 5 puncte

Daca alegeti sa folositi Spring, vedeti ca aveti posibilitatea sa il folositi si cu Kotlin in loc de Java. De asemenea, pentru baza de date folositi pentru migrari Liquibase sau Flyway, iar pentru Swagger folositi pachetul de OpenAPI ca sa-l aveti integrat in backend.

Daca lucrati in Spring, va rugam sa nu folositi EntityManger sau alte primitive expuse de ORM, folositi interfetele repository de JPA si adnotarile corespunzatoare pentru a interactiona cu ORM-ul si mai ales folositi JPQL pentru a face cereri SQL complexe, nu sa construiti de mana cererile SQL.

Frontend

  • Login/register form
  1. Formular login - username/email + parola – 3 puncte
  2. Formular register - nume, alte informatii relevante, username/email + parola/validare parola – 4 puncte
  • Routing
  1. Redirectare la homepage dupa login – 2 puncte
  2. NavBar - minim 3 pagini – 4 puncte
  • Table views
  1. Doua pagini cu tabele, cu minim 4 coloane fiecare – 4 puncte
  2. Cautare – 3 puncte
  3. Paginare – 2 puncte
  • Add/Edit/Delete date (pentru fiecare tabel)
  1. Adaugare intrare – 2 puncte
  2. Editare intrare – 2 puncte
  3. Stergere intrare – 2 puncte
  4. Modala confirmare – 2 puncte

Bonus

  • Prezentare proiect complet pana in saptamana 10 – 5 puncte

Punctele scaleaza cu punctajul de pe proiect, daca punctajul pe proiect este 30/60, bonusul este 2.5

  • Functionalitati aditionale – 5 puncte

Acordarea bonusului este la latitudinea asistentului. Bonusul se acorda pentru functionalitati ce depasesc cerintele proiectului. Ex: Containerizare, Mockuri Figma/XD, Hosting, CI/CD, Notificari Push, Unit Testing etc.

pw/proiect.txt · Last modified: 2023/05/20 15:53 by ciprian.dobre
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0