Projecte

Projecte conjunt M06-UF2 i M09-UF3

(*) elteuusuari correspon a la direcció de correu eltectrònic del centre, sense punts, fins a @itb.cat

Sumari

  1. Introducció
  2. Requisits mínims
  3. Funcionalitats de l’aplicació
    1. Proposta 1: Botiga online
    2. Proposta 2: Reserva de recursos esportius
    3. Proposta 3: Xarxa social
  4. Funcionalitats de l’aplicació
  5. Entrega

Introducció

Heu de desenvolupar un projecte en parelles. El projecte és obert, tot i que hi ha uns requisits mínims que haureu de complir.

Requisits mínims

Ha de ser una aplicació web programada amb Ktor que inclogui:
Servidor de contingut (pàgines HTML amb CSS).
API Rest.
L’aplicació ha d’accedir a una BD postgresql amb un mínim de 3 taules:
Ha d'incloure alguna query amb joins entre taules
Alguna query amb group by
Ha de tenir usuaris
Ha de permetre pujar imatges/arxius
L'aplicació ha d'estar programada modularment
Has de fer ús de templates per generar el contingut HTML.
Has de tenir tests unitaris de totes les funcionalitats excepte accés a API i interfície
La feina a fer ha de ser proporcional a les hores totals del projecte segons els membres del grup
Ha d’estar publicada (heroku)

Funcionalitats de l’aplicació

La funcionalitat és lliure sempre que es compleixin els requisits anteriors i que el professors l'hagi validada. Tot i això a continuació tens algunes propostes:

Proposta 1: Botiga online

Crea tota l’estructura d’una botiga online des d’on poder fer:
Llistat de productes per categoria
Veure detall de cada producte
Afegir productes al carret de la compra
Modificar i eliminar productes del carret
Simular el procés de compra, obtenint un email amb el detall de la compra
Obtenir en format JSON la informació dels productes i poder filtrar per categoria (API).

Proposta 2: Reserva de recursos esportius

Consisteix en crear un portal d’un poliesportiu amb les següents funcionalitats:
Llistat de llocs/equipaments que ofereix el poliesportiu, i poder filtrar
Veure detall de cada recurs
Reservar recurs per una hora i un dia concret, comprovant disponibilitat
Modificar i eliminar reserves
Obtenir una confirmació de reserva (mail)
Obtenir en format JSON la informació dels recursos que ofereix el poliesportiu i poder filtrar per categoria (API).

Proposta 3: Xarxa social

Volem fer una petita xarxa social amb les següents funcionalitats
Publicar missatges (poden tenir imatges)
Seguir a un altre usuari
Veure les publicacions dels usuaris als que segueixo
Valorar positivament una publicació
Veure les publicacions que són tendència
Rebre un mail amb les publicacions més important dels usuaris que segueixo
Posar etiquetes a les publicacions i veure publicacions amb una determinada etiqueta
Recomanar usuaris a seguir

Funcionalitats de l’aplicació

Com que aquest és un projecte gran i encara us és difícil calcular els temps que podeu tardar en fer les diferents funcionalitats, us recomanem que aneu afegint noves funcionalitats al projecte d’una en una, sempre tenint una aplicació funcionant.

Entrega

El projecte s’ha d’entregar a la tasca que crearà cada professor als classrooms dels mòduls M06 i M09.
Un integrant del grup ha de compartir el link al repositori de GitLab que heu utilitzat. Recordeu que aquest ha de ser públic.
Data d’entrega: 20 de desembre