% !TEX root = ../main.tex L'applicazione ``Una cervecita fresca" deve fornire supporto ai birrai e alle birraie artigianali nella produzione delle loro birre fatte in casa con il metodo all-grain. Ogni utente dell'app (birraio o birraia) può lavorare per uno o più birrifici, e può visualizzare le ricette dei birrifici per cui lavora. Del* birrai* sono rilevanti il nome, il cognome, il soprannome, l'indirizzo email, il codice fiscale. Ogni birrificio ha un nome, un anno di fondazione, un motto e uno stemma. Il birrificio ha inoltre una capacità produttiva, cioè il numero massimo di litri che può produrre in un singolo ciclo produttivo. Per ogni birrificio possono lavorare più persone. Ogni birrificio può lavorare a una sola produzione per volta, mettendo a disposizione tutta la sua capacità produttiva, o solo una parte di questa. Ogni birrificio ha accesso a una o più ricette: ogni ricetta ha un nome, un creatore o creatrice, una data di creazione, una eventuale ricetta madre (ovvero la ricetta che è stata modificata per elaborarla) e la quantità relativa di ciascun ingrediente. Oltre alla creatrice o creatore di una ricetta, anche le birraie e i birrai di un birrificio possono vedere le ricette del birrificio in cui lavorano. La ricetta può essere archiviata o eliminata dal creatore o creatrice: lo stato della ricetta può essere attiva, archiviata, eliminata. Gli ingredienti sono moltissimi, ma di solo 5 tipi: malti, luppoli, lieviti, zuccheri e additivi. Ciascun tipo ha un nome e la sua unità di misura appropriata (per esempio, i luppoli vengono espressi in \textit{mash}, ovvero grammi per litro di miscuglio, mentre i malti sono espressi in peso percentuale sugli ingredienti secchi). Ciascun ingrediente ha un tipo e una descrizione. In ogni ricetta, è indicata la quantità di ciascun ingrediente come numero puro: l'unità di misura (mash, peso percentuale, \textellipsis) dipende dal tipo di ingrediente. La quantità di acqua è ricavabile dagli altri ingredienti e non occorre quindi memorizzarla: si miscelano in proporzione gli ingredienti secchi, dal \textit{mash} si capisce quale volume finale deve raggiungere la soluzione. La visualizzazione delle ricette terrà conto della quantità di prodotto che si vuole produrre (che dev'essere inferiore o uguale alla capacità produttiva del birrificio) per mostrare le quantità assolute dei vari ingredienti in kg e L; nel database invece le quantità verranno memorizzate in termini relativi come descritto sopra. Una produzione è caratterizzata da una data di produzione, un numero di lotto che la identifica univocamente all'interno del birrificio, il numero di bottiglie da 500 mL prodotte (questo è l'unico possibile formato di produzione) e uno stato di preparazione (in corso, completa, annullata). È prodotta seguendo una ricetta di un birrificio. A ogni produzione si possono accompagnare alcune note. Ogni nota ha un testo. Esistono particolari note, dette di degustazione, che esprimono anche un giudizio da 1 a 10 sulla qualità del prodotto. Il birrificio tiene un registro degli acquisti, conservando i dati della fattura e specificando per ogni ingrediente acquistato la quantità. Ogni fattura registrata dal birrificio è caratterizzata da una data, un numero di fattura, un importo e un fornitore. I fornitori hanno una ragione sociale, una partita IVA e un indirizzo. L'inventario mostra, per ogni ingrediente, la quantità disponibile e quella totale (compresi cioè gli ingredienti ``prenotati" da preparazioni in corso). Oltre che come birrario o birraia, ci si può anche registrare come cliente, specificando un indirizzo di spedizione. I clienti sono caratterizzati, come chi produce birra, da nome, cognome, email e codice fiscale, ma non hanno un soprannome. La clientela può effettuare prenotazioni per una quantità di bottiglie di un dato lotto di produzione. Ogni prenotazione ha uno stato, che rimane in sospeso fino al termine della produzione, quando il birrificio può impostarlo su `confermato' se intende procedere alla vendita oppure `annullato' se il prodotto non è soddisfacente.