info@studio56.it
STUDIO56

Grocy - Come informatizzare la propria dispensa

Quante volte vi è capitato di essere sicuri di avere un particolare ingrediente per il piatto che volete cucinare per cena, iniziare la preparazione ed accorgervi solo nel momento della necessità che proprio quell'ingrediente era finito?

Questo genere di piccoli incidenti culinari possono essere evitati facendo ricorso ad un comodo software open source e gratuito per la gestione della dispensa (e non solo, come vedremo nel resto dell'articolo).

In un periodo particolare come quello in corso, dove possono essere applicate restrizioni agli spostamenti in base ad una situazione sanitaria rapidamente mutevole, avere sempre a portata di mano la visione completa del contenuto della propria dispensa può risultare molto utile; nel resto dell'articolo vedremo come installare, configurare ed utilizzare Grocy, un ERP oltre il frigo come viene definito dagli sviluppatori, ovvero un software che applica alla dispensa e alle attività domestiche i concetti tipici dei software Enterprise Resource Planning.

Installazione

La prima scelta da fare quando si arriva sul sito di Grocy è scegliere quale tipo di installazione si desidera effettuare: il software è infatti disponibile sia come web application (quella utilizzata nei test di questo articolo), come applicazione desktop per Windows tramite il progetto grocy-desktop o come app per smartphone (con le varie versioni linkate nella pagina degli add-on della comunità).

Non bisogna farsi spaventare dal fatto che il sito di Grocy sia disponibile solo in Inglese e Tedesco poiché il software è completamente localizzato anche in Italiano, come è possibile vedere negli screenshot di questo articolo.

Il vantaggio di utilizzare la versione web application consiste nel poter avere a disposizione su tutti i dispositivi della LAN l'accesso al software oppure – qualora si volesse rendere ancora più flessibile questo software – configurare il proprio router casalingo per l'accesso dall'esterno o sfruttare una installazione in cloud per poter avere accesso ai dati della propria dispensa anche al di fuori della propria abitazione (come vedremo sarà utile ad esempio per le liste della spesa).

Per gli utenti Linux che vogliono provare questa web application ma non vogliono effettuare tutto il setup di un web server solo per essa è possibile anche sfruttare una installazione tramite Docker, usando i file presenti nel repository grocy-docker.

Una volta effettuata l'installazione sarete pronti ad effettuare le prime configurazioni di base per iniziare ad informatizzare la vostra dispensa!

Prima configurazione

In questo articolo, pur facendo un breve riepilogo di tutte le funzionalità di Grocy, ci concentreremo sull'uso di base della dispensa; poiché in una dispensa tutto ruota attorno ai prodotti ed alle loro caratteristiche, la prima cosa da fare è configurare alcuni elementi che vengono utilizzati (e richiesti obbligatoriamente) nel momento in cui si inserisce un nuovo prodotto nel sistema, ovvero:

  • Le posizioni disponibili nella dispensa (o nella propria abitazione).
    Per inserire nuove posizioni è sufficiente andare in Gestisci dati → Posizioni, premere Aggiungi e compilare i campi.
  • I negozi in cui facciamo gli acquisti, così da poter associare i singoli prodotti (o i singoli codici a barre, nel caso di prodotti raccoglitore) al negozio in cui vengono tipicamente acquistati; la scelta di un negozio predefinito non sarà vincolante, in quanto come vedremo questa informazione può essere modificata in ogni singolo prodotto inserito in dispensa (perché può accadere che lo stesso prodotto possa essere acquistato in più negozi distinti).
    Per inserire nuovi negozi è sufficiente andare in Gestisci dati → Negozi, premere Aggiungi e compilare i campi.
  • L'unità di dispensa ovvero il tipo di confezione con cui si presenta il prodotto (es: bottiglia, confezione, barattolo, …).
    Per inserire nuove unità di misura è sufficiente andare in Gestisci dati → Unità di misura, premere Aggiungi e compilare i campi.
Menu di impostazione dei dati Sezione del menu per l'impostazione dei dati

Dopo questo setup minimo sarete già in grado di inserire il vostro primo prodotto.

Granularità nella configurazione

Uno degli aspetti più utili e importanti di questo software è la granularità con cui possono essere trattati i prodotti inseriti al suo interno; il software permette un'uso che può soddisfare sia chi desidera dettagliare in maniera estremamente precisa ogni singolo prodotto inserito (inserendo ad esempio anche le date di scadenza delle singole confezioni a prodotto chiuso e aperto, creare un elemento separato per ogni tipo di marca dello stesso prodotto, creare gruppi di prodotti, indicare il peso del prodotto e gestirne lo storico dei prezzi, …) sia chi non ha necessità di una precisione elevata e vuole creare un solo elemento per una intera tipologia di prodotti, associandogli un insieme di codici a barre rappresentanti i singoli prodotti che ricadono in quel contenitore.

Per comprendere meglio è possibile fare un semplice esempio: qualora volessimo un elevato livello di specificità dei prodotti, ad esempio della pasta, potremmo creare un singolo elemento per ogni marca e tipologia (separando ad esempio le penne rigate della marca X dai tortiglioni della stessa marca) ma se invece ci fosse sufficiente una valutazione quantitativa del prodotto pasta nella nostra dispensa potremmo creare solamente questo unico prodotto generico ed utilizzare solo quello (eventualmente associandolo a tutti i codici a barre di tutti i tipi di pasta, come vedremo in seguito).

Sarà possibile anche ottenere un mix di entrambe le soluzioni crendo l'elemento contenitore pasta (senza mai usarlo direttamente) e creare anche tutti i prodotti specifici (per marca e tipo), indicando che il prodotto principale a cui fa riferimento è pasta; in questo modo la dispensa mostrerà sia il dettaglio per ogni singolo prodotto specifico, sia la voce generica pasta che riporterà la somma di tutti i prodotti specifici ad esso associati.

Creazione dei prodotti

Durante i test, Grocy è risultato estremamente flessibile e questo si riflette anche sulla possibilità di effettuare le operazioni più comuni partendo da più sezioni distinte del software: ad esempio sarà possibile inserire un prodotto ancora non presente nel database direttamente dalla pagina di inserimento degli acquisti, ma questo metodo può essere utile principalmente quando il software è già in uso da qualche tempo; per la prima configurazione (ancor prima di inserire i prodotti – con le loro quantità – nella dispensa) è più indicata la sezione Gestisci dati → Prodotti.

La pagina principale di questa sezione riporta tutti i prodotti attualmente inseriti nel sitema; questo elenco non rappresenta necessariamente tutti i prodotti attualmente nella dispensa, ma sono i prodotti i cui dati identificativi sono stati precedentemente inseriti in Grocy, la loro quantità attuale in dispensa potrebbe essere anche nulla.

Elenco dei prodotti registrati nel sistema Esempio di elenco dei prodotti registrati nel sistema

Con il pulsante Aggiungi sarà possibile passare alla pagina di inserimento di un nuovo prodotto all'interno del sitema (N.B. non ancora nella dispensa! In questa fase saranno solamente inseriti i dati identificativi del nuovo prodotto).

I campi obbligatori da compilare per la registrazione di un nuovo prodotto sono pochi (nome, posizione predefinita in cui viene conservato e unità di misura) ma la quantità di dati non obbligatori che si possono inserire è molto più ampia, includendo anche una descrizione del prodotto, il negozio predefinito in cui viene acquistato, la quantità minima che deve essere presente in dispensa (sotto la quale verranno mostrati degli avvisi, per non rischiare di rimanere senza), l'indicazione del tipo di scadenza ("da consumarsi preferibilmente entro" oppure "da consumarsi entro") e molti altri.

Durante i test i dati opzionali che sono stati rilevati essere quelli di maggiore importanza sono stati:

  • Il prodotto principale: questo valore rappresenta un riferimento ad un altro prodotto precedentemente inserito nel sistema e di cui il prodotto da inserire rappresenta un caso specifico: se ad esempio fosse stato inserito un prodotto raccoglitore chiamato Pasta (senza specificarne il tipo), potrebbe essere inserito successivamente il tipo Tagliatelle indicando che il prodotto principale a cui è associato è il prodotto Pasta; in questo modo nella visualizzazione della dispensa il prodotto Tagliatelle mostrerà il numero totale di confezioni di quel tipo di prodotto, mentre il prodotto generico Pasta mostrerà il numero totale di tutti i tipi di pasta inseriti nel sistema (a patto di averli tutti inseriti indicando Pasta come prodotto principale)
  • I giorni di scadenza predefiniti, configurando opportunamente questo valore oppure impostandolo a -1 (che significa che il prodotto non ha scadenza) è possibile velocizzare l'inserimento dei prodotti nella sezione Acquisto in quanto il campo della data di scadenza non sarà richiesto: utilizzato in combinazione con un lettore di codice a barre o un lettore di codici QR questa impostazione permetterà di inserire in dispensa i nuovi prodotti acquistati con estrema rapidità
  • La quantità di consumo rapida che consentirà di scaricare tale numero di prodotti dalla dispensa semplicemente premendo l'apposito pulsante di consumo prodotto nella sezione del riepilogo della dispensa oppure effettuando la scansione del codice a barre nella sezione Consumi
Esempio di inserimento di un prodotto Esempio di inserimento di un prodotto

Una volta salvato il prodotto con il pulsante Salva e continua sarà possibile inserire ulteriori dati al prodotto, ma soprattutto sarà possibile aggiungere i codici a barre associati, che si riveleranno estremamente utili per l'inserimento rapido dei prodotti dopo l'acquisto.

Codici a barre associati ad un prodotto Codici a barre associati ad un prodotto

In questo caso è interessante la presenza del campo Quantità poiché alcuni prodotti venduti esclusivamente in confezioni multiple (es: passata di pomodoro in confezione da 3 barattoli) potranno far aumentare direttamente il numero di prodotti presenti in dispensa del numero di unità presenti nella confezione semplicemente scansionando il codice a barre globale della confezione del prodotto.

L'inserimento del codice vero e proprio, oltre che manualmente, può essere effettuata anche tramite un lettore di codici a barre collegato al dispositivo (es: al PC o allo smartphone) oppure utilizzando la fotocamera/webcam senza necessità di installare alcun altro software per la lettura di codici a barre, poiché Grocy si avvale della libreria JavaScript Quagga2 dedicata – appunto – alla decodifica dei codici a barre.

Dai test effettuati risulta che un lettore di codici a barre separato è più performante e preciso della lettura tramite fotocamera/webcam e dato il loro costo esiguo e la facilità d'uso potrebbe essere la soluzione preferibile tra le due.

Relativamente alla scansione tramite fotocamera/webcam è da sottolineare che è necessario utilizzare il protocollo HTTPS se Grocy viene utilizzato come web application, in quanto la richiesta di accesso alle periferiche video di un dispositivo è concessa dai browser esclusivamente se la connessione avviene attraverso il protocollo sicuro HTTPS.

Terminata la categorizzazione inizale dei vari prodotti che potremo acquistare (o presenti attualmente in dispensa, se vogliamo digitalizzare la situazione attuale) è giunto il momento di inserire questi prodotti nella dispensa di Grocy.

Acquisto, ovvero inserimento in dispensa

L'inserimento dei prodotti all'interno della dispensa viene effettuato tramite la voce Acquisti del menu principale. L'elemento fondamentale su cui porre attenzione all'arrivo in questa pagina è il pulsante relativo alla modalità di scansione: attivando infatti questa funzionalità il sistema inserirà automaticamente il prodotto non appena inserito il codice a barre (a patto che il prodotto non richieda esplicitamente di inserire una data di scadenza).

Modalità di scansione attiva e disattivata Modalità di scansione attiva e disattivata

Lasciando attiva la modalità di scansione diventa estremamente rapido inserire i prodotti acquistati al supermercato all'interno di Grocy; con un lettore di codici a barre in mano l'operazione sarà limitata alla scansione del codice sulla confezione del prodotto e – non appena questo sarà riconosciuto e inserito nel campo – Grocy effettuerà automaticamente il salvataggio e ricaricherà la pagina, pronto per un nuovo inserimento.

Questa modalità è da preferirsi per tutti i casi in cui:

  • Il prodotto è già presente nel database prodotti di Grocy
  • Nel dettaglio del prodotto è stato indicato che non ha scadenza oppure è stato indicato un numero di giorni predefiniti dal momento dell'acquisto come data di scadenza (se è stato lasciato il valore 0 nelle impostazioni, Grocy avvertirà che per proseguire è necessario indicare a mano la data di scadenza)
  • Si hanno da inserire un numrero limitato di prodotti dello stesso tipo (es: da 1 a 3)

Nel caso in cui il codice a barre scansionato non corrisponda a nessun prodotto presente nel database, Grocy proporrà alcune azioni da intraprendere, come quella di creare un nuovo prodotto da zero, associandogli subito quel codice a barre, oppure di associare il codice a barre rilevato ad uno dei prodotti già inseriti nel sistema; questa seconda possibilità è particolarmente utile quando non desideriamo un livello di dettaglio estremo ed abbiamo utilizzato dei prodotti raccoglitore che possono essere associati a più prodotti (es: il prodotto Passata di pomodoro che non ci interessa distinguere per marca, ma a cui associamo i codici a barre di prodotti di più marche distinte).

Nel caso in cui siano state acquistate più unità di un prodotto (es: un intero cartone di latte, composto da 12 confezioni) può essere utile disattivare temporaneamente la modalità di scansione; in questo modo il prodotto non sarà inserito non appena verrà rilevato un codice a barre esistente, ma sarà necessario premere esplicitamente il pulsante Ok presente in fondo al form di inserimento. Questo ci permetterà di velocizzare l'operazione di inserimento perché non dovremo effettuare la scansione del codice a barre del prodotto per molte volte, ma potremo leggerlo solamente una volta e inserire manualmente il numero di unità da inserire in dispensa prima di premere Ok.

Riepilogo della dispensa e consumo rapido

Una volta riempita la dispensa digitale è possibile visualizzarne il contenuto cliccando nella voce di menu Riepilogo della dispensa: qui verranno riportate, sotto forma di tabella, tutte le informazioni sui prodotti attualmente presenti nella dispensa (N.B. non tutti quelli registrati nel sistema, ma solo quelli attualmente presenti nella dispensa!), con una serie di notifiche all'inizio della pagina che indicheranno se ci sono prodotti prossimi alla scadenza, già scaduti o al di sotto della quantità minima che abbiamo impostato come limite. Se nell'inserimento dei prodotti è stato inserito anche il loro costo al momento dell'acquisto, verrà inoltre riportato l'attuale valore della dispensa.

Nell'elenco dei prodotti sono da notare 3 pulsanti all'inizio di ogni riga, per effettuare altrettante operazioni rapide:

  • Il primo pulsante permette di consumare una unità di prodotto
  • Il secondo pulsante permette di consumare tutti e le unità del prodotto
  • Il terzo pulsante permette di marcare come aperta una unità del prodotto
Pulsanti per le azioni rapide Pulsanti per le azioni rapide

La scelta di cosa accade quando viene utilizzato un prodotto è lasciata alle preferenze dell'utente: Grocy è in grado di tracciare sia il consumo completo dell'unità di prodotto, sia la marcatura di un prodotto come aperto; la differenza tra i due tipi di operazione risiede nelle quantità mostrate da Grocy nella dispensa.

La pressione del pulsante per il consumo di una unità di prodotto scalerà automaticamente il totale di quel prodotto presente nella dispensa (della quantità unitaria che abbiamo impostato sulla scheda del prodotto) mentre la marcatura come aperto farà in modo di indicare all'interno del riepilogo prodotti che uno (o più) di essi ha una confezione non intera ma che viene ancora considerata come utilizzabile.

La scelta di quale dei due metodi utilizzare dipende dalle preferenze dell'utente: qualora si voglia tenere traccia anche dello stato di ogni singolo prodotto potrà risultare utile la funzione per marcare come aperto un prodotto, senza scalarlo dal totale delle unità presenti in dispensa; se invece vogliamo considerare come rimosso dalla dispensa un prodotto anche se è attualmente in uso ma non terminato, potremo semplicemente indicarlo come consumato.

Non è questa però l'unica possibilità che Grocy mette a disposizione per segnalare il consumo di un prodotto: tramite la pagina Consumi sarà possibile effettuare una scansione del codice a barre di un prodotto per determinarne la rimozione dalla dispensa di Grocy; in questo caso l'aspetto e le componenti della pagina sono analoghe a quella della sezione Acquisti (compresa la comoda possibilità di avere la modalità scansione attiva, che scarica una unità di prodotto dalla dispensa non appena viene effettuata la scansione del suo codice a barre) mentre la funzionalità è esattamente opposta (rimuovere prodotti dalla dispensa invece di inserirli).

Lista della spesa

Una ulteriore sezione molto utile di Grocy è quella della lista della spesa: invece di utilizzare carta e penna oppure un normale editor di testi, sarà possibile creare la lista dei prodotti da acquistare direttamente all'interno del software.

Il principale vantaggio di questa modalità di gestione della lista della spesa (oltre al fatto di poterla comunque stampare su carta, una volta completata) è quella di poter trasferire con pochi e semplici click gli elementi acquistati nella sezione Dispensa del software: addirittura, nel caso in cui fossimo riusciti a trovare il 100% dei prodotti in lista, questa operazione sarebbe possibile con un singolo clic, sfruttando l'apposito pulsante per trasferire automaticamente tutto il contenuto della lista della spesa (prodotti con associate le relative quantità) dentro la dispensa.

Lista della spesa Un esempio di lista della spesa molto semplice

Come è possibile vedere nell'immmagine precedente, all'inizio di ogni riga della lista sono presenti 4 pulsanti di azione:

  • Il primo pulsante permette di marcare il prodotto come messo nel carrello; questa funzionalità può risultare utile qualora l'installazione di Grocy sia raggiungibile dal web e quindi invece di portare con sé una copia cartacea della lista si desideri direttamente interagire sulla sua versione informatizzata.
    Nota: durante i test effettuati, l'utilizzo di questa funzionalità ha prodotto dei bug grafici, con i tooltip che non si chiudevano correttamente e gli elementi che rimanevano visivamente in lista anche dopo averli cancellati
  • Il secondo pulsante permette di modificare il prodotto inserito, ad esempio per variarne la quantità da acquistare
  • Il terzo pulsante permette di rimuovere un prodotto dalla lista, qualora non sia più necessario acquistarlo
  • Il quarto ed ultimo pulsante permette di trasferire con un semplice click il prodotto acquistato (nella quantità indicata) dalla lista della spesa alla dispensa di Grocy

Qualora non si desideri rendere raggiungibile la propria installazione di Grocy via web sarà possibile utilizzare il pulsante Stampa posto nell'angolo superiore destro della pagina per ottenere una versione cartacea della lista, scegliendo tra varie opzioni; sarà possibile infatti suddividere la lista per gruppo di prodotti qualora gli stessi siano stati precedentemente configurati (es: Surgelati, Latticini, Prodotti da forno, Detersivi, …) e scegliere se mostrare la lista come una tabella o come un semplice elenco di voci.

Sarà possibile creare un numero qualsiasi di liste della spesa separate, ad esempio una per ogni negozio qualora si vogliano tenere le informazioni separate per maggiore praticità; ogni lista sarà indipendente e sarà possibile agire su di esse nelle modalità indicate in precedenza.

Ulteriori funzionalità

Le funzioni di Grocy non si limitano solamente alla gestione della dispensa e della spesa; questo software vuole essere il centro (informatizzato) delle attività domestiche e pertanto troveremo anche una sezione in cui inserire delle ricette (ed indicandone gli ingredienti il sistema indicherà se in dispensa ce ne sono abbastanza per realizzarle), un piano dei pasti, un sistema di tracciamento delle faccende domestiche, la gestione delle attrezzature (es: materiale da ferramenta, elettrodomestici, …) ed un sistema per tenere traccia delle batterie usate nei dispositivi domestici.

Non è necessario che tutte queste funzioni vengano utilizzate e non ci sono controindicazioni o limitazioni nel lasciarle inutilizzate, dedicandosi esclusivamente alla gestione della dispensa;

Aggiornare Grocy

L'aggiornamento di Grocy, nella versione web application, consiste di un solo semplice passo, descritto nella guida presente sul repository GitHub del progetto, ovvero: sovrascrivere tutti i file ad eccezione della directory data (in cui si trova il database SQLite); in alternativa, per gli utenti che utilizzano Linux, è presente il file update.sh nella web root di installazione del software.

Come indicato nella documentazione, utilizzare il file update.sh non solo permetterà di aggiornare automaticamente il software, ma provvederà – per sicurezza – a creare una copia di backup di quella attuale prima di procedere all'aggiornamento (mantenendo i backup per un massimo di 60 giorni dopo ogni aggiornamento).

Importante: durante i test della funzione di aggiornamento tramite lo script update.sh è stato rilevato che quando l'utente che lancia lo script non ha sufficienti permessi di scrittura nel filesystem (relativamente al path di installazione di Grocy) la procedura fallisce senza possibilità di tornare indietro; pertanto è consigliabile, almeno per i primi utilizzi, non affidarsi esclusivamente alla funzione di backup integrata nello script ma provvedere anche ad un backup manuale (es: creando un file compresso di tutta la directory di Grocy) da salvare in altra posizione.

Risolti invece eventuali problemi di permessi, lo script ha eseguito correttamente tutte le opzioni, creando un backup, scaricando la versione più aggiornata e provvedendo a scompattarla nella directory di installazione.

Backup

Oltre al backup effettuato dalla procedura di aggiornamento può risultare utile effettuare backup periodici della web application in maniera automatizzata. Durante i test effettuati è stata scelto un setup costituito da:

  1. rsync verso una differente cartella
  2. sincronizzazione della cartella di backup con un servizio di storage dati in cloud (l'installazione risiedeva non su un server in cloud, ma in un server casalingo all'interno di una virtual machine)
  3. un cronjob (operazione automatizzata) che ogni giorno esegue lo script indicato al punto 1

Questo rappresenta solamente uno dei tanti modi con i quali è possibile effettuare il backup della propria dispensa informatizzata: qualsiasi software in grado di effettuare backup (con o senza compressione dei file) di un ramo del filesystem oppure anche un tradizionale copia-incolla manuale possono servire allo stesso scopo.

Conclusioni

L'esito del test di uso effettuato è ampiamente positivo ed il software si è dimostrato solido, semplice da utilizzare e – soprattutto – comodo per gestire numerose attività legate all'uso della dispensa.

PRO
  • Semplice da installare e utilizzare
  • Ricco di funzioni
  • Particolarmente comodo se usato insieme ad un lettore di codici a barre
  • Uso estremamente flessibile, ottimo sia per chi non ha bisogno di dettagli statistici elevati, sia per chi vuole controllare ogni singolo aspetto della propria dispensa nel tempo
  • Software open source, modificabile secondo le proprie esigenze (conoscendo il linguaggio di programmazione) e con una comunità attiva che sviluppa componenti aggiuntivi e crea guide d'uso
CONTRO
  • Popolare il database dei prodotti e il contenuto della dispensa al primo utilizzo può risultare una procedura lunga e ripetitiva
  • È necessario porre attenzione ai permessi di file e cartelle prima di effettuare gli aggiornamenti tramite lo script
  • Mancanza di una funzione di backup ricorrente integrata
Bonus

Il test approfondito di questa web application, che si avvale in maniera prevalente dei codici a barre per velocizzare le operazioni di inserimento e consumo dei prodotti dalla dispensa ha portato a scoprire alcuni interessanti portali dedicati a questo tipo di codice:

  • www.ean-search.org, la sezione di ricerca di codici EAN (European Article Number), UPC (Universal Product Code) e ISBN (International Standard Book Number); sebbene la funzionalità di ricerca del singolo codice tramite l'interfaccia del sito sia completamente gratuita, l'accesso alle API (ad esempio per poterle sfruttare nella personalizzazione di Grocy) richiede l'acquisto di una licenza d'uso.
  • it.openfoodfacts.org, sezione dedicata ai codici EAN italiani di OpenFoodFacts, un progetto aperto e gestito dalla comunità relativo ai prodotti alimentari dove oltre alla ricerca di prodotti (tramite ricerca testuale o codice a barre), è possibile ottenere un numero di informazioni elevate sui prodotti come gli ingredienti, il punteggio di qualità nutrizionale, il livello di processazione dei prodotti ed il loro impatto ambientale nella produzione
Categoria articolo