← HOME VEDI LIVE ↗ CASE STUDY · GOLFHUB
CASE STUDY · SAAS IN PRODUZIONE

GolfHub.

Da fogli Excel e telefonate a una piattaforma SaaS in produzione: come un circolo golf gestisce soci, handicap, gare e campionati su un sistema progettato, sviluppato e operato da una persona sola.

RUOLO Design · Sviluppo · Infrastruttura · Operazioni
STACK Python / Flask · MySQL · Docker
STATO In produzione
SITO golfhub.it
300+Soci e tesserati gestiti
30+Gare e campionati gestiti
12+Moduli applicativi
1+ annoIn produzione continuativa
01 / IL CONTESTO

La segreteria di un circolo vive di carta.

La gestione quotidiana di un circolo golf passa da anagrafiche soci su fogli Excel, handicap ricalcolati a mano dopo ogni gara, iscrizioni raccolte per telefono e classifiche compilate a fine giornata. Ogni passaggio manuale è un'occasione di errore — e un errore sull'handicap o su una classifica è il tipo di errore che i soci notano subito.

GolfHub nasce per portare tutto questo dentro un unico sistema: soci e tesserati, handicap con storico e calcolo automatico, gare individuali e a squadre con classifiche live, campionati, iscrizioni online, con export automatici Excel e PDF perché la segreteria continua a vivere anche di documenti.

02 / I VINCOLI

Le condizioni reali del progetto.

Una persona sola
Prodotto, infrastruttura, deploy e supporto sono in capo alla stessa persona: ogni scelta tecnica deve minimizzare la superficie da mantenere.
Weekend di gara intoccabili
Il sistema serve soprattutto quando il circolo è pieno: iscrizioni, tee time e classifiche live nei giorni di gara. I rilasci si fanno lontano da quelle finestre.
Budget infrastruttura contenuto
Una VPS su Oracle Cloud, dimensionata per il carico reale: l'architettura deve stare comoda in una macchina sola.
Dati dei soci
Anagrafiche e storici sono dati che non si possono perdere: backup automatici con copia esterna alla macchina e procedura di restore verificata.
03 / ARCHITETTURA

Semplice da capire, semplice da ripristinare.

RUNTIME — VPS ORACLE CLOUD · DOCKER COMPOSE
Browser Segreteria, soci, maestri — web app responsive
Nginx Proxy Manager Reverse proxy, TLS, routing
App Flask Monolite modulare: 12+ blueprint per dominio (soci, gare, handicap, iscrizioni…)
MySQL Anagrafiche, storico handicap, gare e classifiche
DELIVERY — DAL COMMIT ALLA PRODUZIONE
Git push Repository con storia completa del progetto
Pipeline CI/CD Build dell'immagine Docker a ogni rilascio
Deploy Aggiornamento del container in produzione via Docker Compose
OPERAZIONI — CONTINUITÀ DEI DATI
Dump DB automatico Backup schedulato del database
Copia esterna Replica fuori dalla VPS
Restore verificato Procedura di ripristino provata, non solo scritta
04 / SCELTE TECNICHE

Ogni scelta ha un perché operativo.

Monolite modulare, non microservizi

PERCHÉ

Con una persona sola su tutto il ciclo di vita, un solo processo da deployare e debuggare vale più di qualsiasi eleganza architetturale. La modularità sta dentro l'applicazione: 12+ blueprint Flask separati per dominio, così ogni area (soci, gare, handicap, iscrizioni) evolve senza toccare le altre.

Handicap con storico completo

PERCHÉ

L'handicap è il dato più sensibile del circolo: ogni variazione è registrata con il suo storico, così qualsiasi valore è ricostruibile e contestabile con i dati alla mano — non con un "il sistema dice così".

Docker Compose su una VPS, non Kubernetes o PaaS

PERCHÉ

Il carico di un circolo non giustifica orchestrazione distribuita. Una VPS con Docker Compose tiene i costi al minimo e riduce la superficie operativa: il ripristino completo del servizio è "compose up su una macchina qualsiasi + restore del dump".

Export Excel e PDF come cittadini di prima classe

PERCHÉ

La segreteria e la federazione vivono di documenti: il sistema si adatta al flusso di lavoro esistente invece di imporne uno nuovo. Generazione automatica con openpyxl e ReportLab, direttamente dai dati di gara.

05 / RISULTATO

Un anno a regime.

GolfHub è in produzione da oltre un anno presso un circolo, in uso quotidiano dalla segreteria: 300+ soci gestiti, 30+ gare e campionati disputati sulla piattaforma, aggiornamenti rilasciati regolarmente tramite pipeline CI/CD. Sviluppo, hosting, backup e supporto sono gestiti direttamente, end-to-end.