Qonflate
← Tutti i lavori

Gourmet's International Srl — The WineHunter, Merano WineFestival

L'ecosistema WineHunter

Nove proprietà pubbliche per un cliente, cresciute una alla volta dal 2022 — siti di festival ed eventi, un sito del brand, un sito aziendale, un catalogo dei premi, un club per i buyer, vetrine dei produttori e ora un'app — sette delle quali leggono da un'unica piattaforma, e tutte gestite come un unico sistema.

Stato
In produzione
Ruolo
Progettazione, sviluppo e gestione operativa, come unico ingegnere
Periodo
dal 2022, in corso
Stack
NestJS · Prisma · PostgreSQL · RedisNext.jsWordPress · PHP 8.3AstroExpo · React Native
  • 9proprietà pubbliche
  • 52.836prodotti in catalogo
  • 24lingue UE sull'e-label
  • 4server

La situazione

The WineHunter è il premio e la guida dietro al Merano WineFestival, organizzato da Gourmet’s International in Alto Adige. Negli anni la sua presenza pubblica era cresciuta in una serie di proprietà separate: un sito del festival con espositori, programma e partner; un sito del brand; un club per i buyer; le liste dei premi; le vetrine dei produttori. Ognuna custodiva la propria copia dei fatti. Il nome di un produttore viveva in cinque posti, e con lui ogni errore.

Il brief era farne una cosa sola senza farne un solo sito.

Come è cresciuto

  • 2022 — I primi lavori: le pagine espositori e i template dell’anno sul sito del festival, e le liste dietro di loro.
  • 2023 — Hosting e amministrazione di sistema passano a Qonflate. L’idea di un’unica piattaforma dietro tutti i siti viene messa per iscritto per una domanda di finanziamento all’innovazione.
  • 2024 — Il webshop e l’iscrizione online del FarmFood Festival, e il primo catalogo dei premi, su CouchDB.
  • 2025 — Altri siti per eventi dello stesso cliente, ognuno un WordPress a sé con la propria copia dei fatti — l’anno che ha reso necessaria la piattaforma.
  • 2026 — La piattaforma, costruita da maggio. A settembre il catalogo dei premi, il plugin del festival, il sito del brand, il club dei buyer, le vetrine dei produttori e le e-label, il sito aziendale e Wine&Siena leggono da lei o le girano accanto; l’app segue per novembre.

Cosa è stato costruito

La piattaforma. Una fonte di verità API-first su NestJS, Prisma e PostgreSQL, con Redis per cache e code: produttori, prodotti, valutazioni, eventi, partecipazioni, CRM, iscrizioni, fatturazione, masterclass. 138 modelli di dati in 322 migrazioni e 68 moduli API, con un back-office Next.js che è anche l’area riservata del produttore. Ogni altra proprietà legge da qui, e nessuna scrive altrove.

Il catalogo dei premi. Un sito pubblico Next.js con il proprio PostgreSQL, alimentato da una proiezione versionata della piattaforma: un giornale delle modifiche, tombstone per i ritiri e una riconciliazione notturna che confronta per intero le due parti. 52.836 prodotti; 52.906 URL nelle sitemap.

Il sito del festival. WordPress, mantenuto — la redazione lo conosce — con un plugin su misura che pubblica espositori, programma, masterclass, hotel e pareti partner in diretta dalla piattaforma. La pagina degli espositori porta 490 espositori e circa 6.400 immagini. Viene servita da una cache statica in 0,11 secondi senza PHP lungo il percorso, e 6.700 dei suoi 6.748 riferimenti ad asset arrivano da una CDN introdotta con tre filtri WordPress e nessuna modifica ai template.

Il club dei buyer. Un’applicazione PHP 8.3 senza framework che renderizza ogni pagina da sé e parla con la piattaforma da server a server. Non conserva dati dei soci, e nessuna chiave raggiunge mai un browser. Trilingue, con l’esportazione in calendario degli appuntamenti di ogni socio.

Vetrine dei produttori ed e-label UE. Un’applicazione Astro su un secondo host: una pagina per produttore, un passaporto per prodotto e — su un dominio separato — l’etichetta elettronica di legge in 24 lingue UE. Quella pagina non contiene script, cookie né link esterni, e il suo URL deriva dall’identificativo della piattaforma stessa, così un codice stampato sul vetro sopravvive a qualunque database alle sue spalle.

Wine&Siena. Il sito WordPress dell’evento di Siena, con un tema rifatto da zero — niente page builder, niente jQuery, niente font esterni — e l’elenco espositori letto in diretta dalla piattaforma.

Il sito aziendale. Il sito di Gourmet’s International stessa: WordPress portato dalla 5.1 alla 7.1 in un colpo solo, il tema reso proprio, tre lingue senza i plugin che finora le reggevano.

L’app companion. Expo e React Native: un unico binario per visitatori, consumatori, buyer e produttori, offline-first, in costruzione per il festival di novembre 2026.

Come sta insieme

Tre regole fanno la maggior parte del lavoro.

I vincoli vivono al livello più basso. Un constraint nel database, poi un tipo generato, poi uno schema, poi una guardia nel servizio, poi l’interfaccia. Una regola che vive solo in un form è una regola che la prossima superficie infrangerà.

Gli URL pubblici sono permanenti. I percorsi sono chiavi primarie. Le righe non vengono mai cancellate; una rinomina conserva il vecchio percorso come redirect; un prodotto ritirato risponde 410 con una pagina che si spiega da sola. Nulla viene mai riassegnato.

L’assenza non è mai trattata come cancellazione. Un feed che smette di rispondere non svuota una pagina. Ogni superficie continua a servire il suo ultimo stato buono, segnala il vuoto e lo conta nel proprio endpoint di salute, così un’interruzione a monte si legge a valle come un avviso, non come una pagina bianca.

Operatività

Quattro server, Docker e Caddy, deploy che migrano dalla nuova immagine mentre la vecchia serve ancora, backup su timer e un endpoint di salute su ogni proprietà che riporta la versione effettivamente rilasciata. L’analytics è passata a un’unica istanza Matomo self-hosted e senza cookie per l’intero ecosistema, verificata dall’esterno: nessun cookie esce, e il Do Not Track è rispettato a livello delle righe grezze.