% !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 birraio o birraia 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, 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.
