Gelateria Brina: il sito di una gelateria che mostra in diretta i gusti di oggi

Sito dimostrativo di una gelateria inventata a Torino. La gelatiera segna dal telefono i gusti che ci sono e quelli finiti, e la vetrina del sito, disegnata in codice vaschetta per vaschetta, cambia in diretta con l'ora dell'ultimo aggiornamento. Con il catalogo dei gusti, gli allergeni, gli orari e un pannello che si prova senza account.

**Gelateria Brina non esiste**: è una gelateria artigianale inventata a Torino, e la gelatiera, i gusti, le ricette e le foto sono inventati; il sito lo dice in cima a ogni pagina. Vero è tutto il resto: la vetrina in diretta, gli orari, il registro degli allergeni e il pannello, costruiti come per un'attività vera.

**Che cosa fa**

- **I gusti di oggi, in diretta.** Al posto di una foto c'è il banco, disegnato in SVG dal codice: ogni vaschetta con il colore del suo gusto e il cartellino con il nome. Quando un gusto finisce, la sua vaschetta si svuota su tutti gli schermi aperti in meno di un secondo, e la vetrina dice «Aggiornato alle 15:42». - **Il pannello dal telefono.** La gelatiera tocca interruttori grandi: questo gusto c'è, questo no, questo è finito. Ogni tocco va online subito e si annulla per otto secondi. - **Gli allergeni.** Ingredienti con gli allergeni in grassetto, i 14 della legge europea, un registro da stampare per il negozio e nessun filtro «senza…», che sembrerebbe una garanzia. - **Il resto.** Gusti di stagione, orari con la pausa d'inverno e un «aperto ora» calcolato, una piantina disegnata, statistiche delle visite senza cookie e 13 foto generate sulla GPU del mio computer.

**Chi guarda può provare il pannello** senza account: entra come «Ospite», segue tre cose da provare e, sul computer, vede accanto al pannello il sito che cambia a ogni tocco. Le modifiche restano nel suo browser, dove gira la stessa logica del server su una copia dei dati; una prova automatica controlla, rotta per rotta, che risponda come il server. E perché la vetrina non resti ferma, una giornata dimostrativa prepara il banco all'apertura e fa finire qualche gusto.

**La parte difficile** è non fingere mai di essere aggiornati. Se oggi nessuno ha toccato il banco, la vetrina lo dice: «questi sono i gusti di ieri sera». Un gusto finito resta finito finché qualcuno non lo rimette. E la diretta deve reggere su un server vero: gli eventi passano da nginx senza essere trattenuti, un segnale ogni 25 secondi tiene viva la connessione, e se la diretta non si apre la pagina chiede lo stato ogni minuto. La home porta 99 KB di JavaScript e non si sposta mentre carica.

Vue 3 e TypeScript, Fastify e MongoDB, schemi Zod condivisi; ogni modifica passa da 165 prove automatiche e arriva sul mio server con una GitHub Action.

Progettazione, sviluppo full-stack e pubblicazione · 2026

Vue.js, Fastify, MongoDB, TypeScript, Z-Image-Turbo

Vedi il sito

Andrea Coppetta