Torna ai Case Study

Case Study

Atelier Persicu - Gestionale web: progetto digitale orientato a conversione e scalabilita

Il progetto Atelier Persicu - Gestionale e un'applicazione full-stack in produzione che centralizza l'operativita del salone: calendario 09:00-21:00, pagamenti, anagrafica dipendenti e moduli contabili su PostgreSQL, con frontend React 18 e backend Express su Render, database su Supabase. Dopo il go-live abbiamo affrontato problemi reali emersi dai log (timeout connessione, ETIMEDOUT, pressione egress) con interventi misurabili: finestra di lettura appuntamenti, polling a 30 minuti, throttle su ritorno scheda, merge locale post salvataggio, retry login e tuning del pool. Restano in roadmap hardening RLS su Supabase ed evoluzioni del modello economico.

Logo Atelier Persicu - Gestionale web

Settore

Barber shop / saloni

Durata

Ordine di grandezza 3-5 mesi (MVP, moduli economici, hardening produzione)

Privato - demo su richiesta

Problema

Con piu dipendenti e sedi serviva un unico sistema per appuntamenti, pagamenti e spese. In produzione sono emersi limiti infrastrutturali misurabili: egress Supabase ~6.87 GB su 5 GB inclusi e timeout di connessione tra Render e DB.

Obiettivo business

Ridurre errori operativi su prenotazioni/pagamenti e consolidare la contabilita mensile su DB unico con accesso differenziato admin/dipendente.

Soluzione implementata

Autenticazione JWT con ruoli superadmin/employee e permessi per sezione.

Calendario multi-dipendente con vista globale, ricorrenze batch fino a 52 settimane e vincoli su giorni passati.

Gestione pagamenti, prodotti venduti e moduli spese (utenze, bar, prodotti, manutenzioni, categorie custom).

Ottimizzazioni produzione: GET appuntamenti filtrato from/to, polling a 30 min, throttle focus, merge locale post CRUD, retry login e query retry lato pool.

Stack tecnico

Frontend

React 18, React Router DOM 6, Create React App, CSS modulare, fetch API

Backend

Node.js + Express 4, middleware JWT, route modulari per domini applicativi

Infrastruttura e integrazioni

Render (web app) + Supabase PostgreSQL via DATABASE_URL con SSL. PostgreSQL (pg), bcryptjs, jsonwebtoken, monitor health check su /api/auth/check.

Risultati numerici

Efficienza sync appuntamenti

Prima: GET completo + polling aggressivo

Dopo: Finestra ±4 mesi + polling 30 min

Resilienza login/DB

Prima: Timeout e ETIMEDOUT frequenti

Dopo: Retry query/login + pool tuning

Pressione egress Supabase

Prima: ~6.87 GB su 5 GB (137%)

Dopo: Riduzione ordine di grandezza richiesta

Governance operativa

Prima: Flussi frammentati per ruolo/sede

Dopo: DB unico con ruoli e moduli dedicati

Vuoi lo stesso risultato sul tuo progetto?

Raccontaci il tuo caso: ti proponiamo un percorso concreto, misurabile e sostenibile.

Richiedi una consulenza