Skip to content
Paolo edited this page May 22, 2022 · 103 revisions

Breve descrizione idea

Il servizio proposto permette all’utente di ottenere suggerimenti di ricette basandosi su ingredienti posseduti. La Webapp è strutturata in modo tale da analizzare gli ingredienti posseduti da un utente e, se richiesto dall’utente, consigliare nuove ricette. L’utente dovrà provvedere all’inserimento degli ingredienti acquistati e disponibili nella cosiddetta “dispensa virtuale”. Da qui il nome del servizio “La Dispensa”.

La dispensa verrà aggiornata in seguito all’acquisto di nuovi prodotti ed al loro utilizzo. Sarà possibile consultare la lista degli ingredienti disponibili in qualunque momento della giornata. La WebApp sarà, inoltre, in grado di verificare la fattibilità di una ricetta: nel momento in cui l’utente vorrà cucinare un determinato piatto, potrà verificare se gli ingredienti disponibili sono sufficienti per cucinare quella pietanza o meno. Verranno, quindi, specificati i prodotti da acquistare. Affinché l’utente possa avere una grande varietà di piatti, la WebApp controllerà che una ricetta non venga riproposta nel breve periodo. Vi sarà un sistema di notifica per cibi in scadenza che permetterà di evitare sprechi. I servizi descritti finora sono pubblici: non necessitano di alcuna registrazione. Servizi aggiuntivi, quali monitoraggio soldi spesi, tracciamento apporto quotidiano di micro e macro nutrienti, esportazione dati personali ed inserimento nuove ricette sono disponibili solo con un’area personale.

Team members:

Links:


Architettura:

  • Database: MongoDB
  • Backend: API REST (NodeJS + Express + Mongoose) + [Testing ...]
  • Frontend: Web App
  • Documentazione: Swagger
  • Continuous Deployment: Heroku

Organizzazione Repository

Strategia di branching

Abbiamo usato principalmente 2 strategie di branching

  • Centralized Workflow - La maggior parte delle volte

/img1

  • Git Feature Branch Workflow - Per provare la differenza e solo nel caso di "significativi cambiamenti" ad esempio integrazione con nuove tecnologie (es. mongodb)

/img2

Definizione di Done

Noi definiamo "done" come:

  • Il codice è stato testato da chi lo ha fatto ed è funzionante
  • la correzione di precedenti bug/errori conosciuti è stata dimostrata al team
  • Il codice è stato visto e approvato da almeno un altro membro del team
  • La documentazione è stata vista e approvata da almeno altri due membri del team
  • Il database è stato progettato e integrato per supportare la funzionalità in questione

Sprint #1

Goal

Il goal del nostro primo Sprint è di realizzare un prodotto software funzionante, coerente e utile. Vogliamo sviluppare una WebApp che possa risolvere un problema concreto, reale, che abbia motivo di essere realizzata. Siamo consci del fatto che con solo uno Sprint non possiamo sviluppare un prodotto software con un alto livello di complessità, rifinitura, dettaglio e correttezza del funzionamento, ciononostante non vogliamo produrre una software incompleto, “beta”. Vogliamo sviluppare un software, seppur ristretto rispetto alla nostra idea finale, che sia concreto, coerente nel suo insieme, e che sia utile per l’utente finale, anche in questa prima versione.

Il nostro goal per questo sprint è stato:

  • consigliare ricette
  • verificare fattibilità di una ricetta
  • inserire ingredienti acquistati
  • modificare lista ingredienti acquistati
  • visualizzazione degli ingredienti posseduti
  • sviluppo UI
  • progettazione database
  • implementazione metodi REST
  • documentazione Swagger e Apiary

Clone this wiki locally