Sviluppi futuri
Come abbiamo inizialmente detto, nonostante ci riteniamo molto soddisfatti di quanto ottenuto con lo sviluppo di BrewDay, questo è sicuramente un software agli albori e volutamente sviluppato in maniera semplice. Gli ambiti di miglioramento dell'applicazione sono davvero moltissimi e siamo sicuri che riusciremmo ad ottenere risultati importanti ora che l'intero team ha ben chiaro come sia articolata l'intero software e quali sono i fondamenti alla base del funzionamento di un progetto del genere.
Abbiamo pensato attentamente alla possibile evoluzione di BrewDay e presentiamo qui di seguito le effettive migliorie che potrebbero dare un valore aggiunto al nostro software, suddivise su livello funzionale e non funzionale.
Funzionale
Ottimizzazione relativa alla visualizzazione di alcune pagine da parte di dispositivi mobili.
Miglioramento del workflow e dell'esperienza utente tramite l'inserimento di componenti gestiti via Ajax anziché tramite reload delle pagine o View dedicate a semplici operazioni. Un esempio lampante è quello della AggIngredient, per ora implementata tramite apposita View per semplicità di compresione a livello di sviluppo.
Miglioramento generale della procedura che consente di aggiungere Ingredienti a una Ricetta, al fine di renderla più agevole e intelligente.
Introduzione della possibilità di Archiviare Ricette e Ingredienti, affinché il Birrario possa snellire la propria interfaccia filtrando elementi non più utilizzati di cui bisogna comunque tenere traccia nello "storico".
Ampliamento e personalizzazione dei filtri applicabili su ciascuna tabella.
Possibilità di gestire, oltre agli Strumenti già modellati, anche le Bottiglie di cui ogni Produzione necessita nel momento in cui questa viene stoppata. In particolare sarà necessario trattare la capacità di ogni Bottiglia e suddividerle tra quelle che necessitano di una Pastorizzazione e quelle già Igienizzate.
Possibilità di aggiungere Note alle Produzioni che siano contraddistinte da una data e consentano un migliore tracciamento dell'avanzamento di una fermentazione.
Possibilità di configurare le tipologie di Ingredienti e Strumenti a disposizione del Birraio, nonché le soglie "critiche" oltre le quali il Birraio deve essere avvisato nel caso in cui una Produzione o una Scorta richieda la sua attenzione.
Miglioramento dell'algoritmo decisionale implementato dalla funzionalità What Should I Brew Today.
Introduzione di Notifiche Push per una migliore comunicazione con il Birraio riguardo le Produzioni vicine al termine e agli Ingredienti in magazzino in procinto di scadenza o prossimi all'esaurimento.
Gestione del Budget e calcolo di un eventuale ricavo nel caso in cui il Birraio prenda la decisione di Vendere una parte della Birra prodotta. Questo tipo di funzionalità potrebbe includere anche la gestione dell'acquisto degli Ingredienti.
Introduzione di Grafici per la visualizzazione dell'andamento della Produzione di Birra e eventualmente del Budget nel corso degli anni.
Non Funzionale
Riduzione del codice duplicato sfruttando View condivise per le operazioni di Edit e Create sullo stesso tipo di elemento. Ciò introdurrebbe un livello di complessità leggermente maggiore per singola View (motivo per cui non abbiamo da subito optato per questa soluzione), in favore di View decisamente più mantenibili.
Miglioramento relativo all'accesso al Database tramite Entity Framework con introduzione di un Repository Pattern che faciliti la lettura del codice e permetta di modularizzare o uniformare alcune logiche di business e di accesso ai dati.
Possibile inserimento di un Layer intermedio fra Controller e Dati, che gestisca le regole di business complesse e permetta il loro riutilizzo nonché una maggiore leggibilità e mantenibilità.
Introduzione di un Package Manager (es: Bower, NPM) per le librerie Javascript e CSS, così come già avviene per le librerie C# con NuGet.
Implementazione di DataTables processate server side, per semplificare la possibilità di effettuare filtri sui dati delle tabelle e migliorare le prestazioni di tabelle con grandi mole di dati.
Vuoi offrirci il tuo supporto?
Visita la pagina dedicata della nostra documentazione. Ogni collaborazione e spunto a migliorare sarà sicuramente ben accetto!