Sito e backoffice per Norton Tanzarella
Sito bilingue e backoffice su misura per un'agenzia immobiliare di Ostuni che vende masserie, trulli e case di carattere a compratori stranieri.
Contesto
Norton Tanzarella è un'agenzia immobiliare di Ostuni che vende masserie, trulli e case di carattere in Puglia, soprattutto a compratori stranieri. Serviva un sito in inglese e italiano e un backoffice con cui il team carica e gestisce gli immobili in autonomia.
Il mio ruolo
Proposta e architettura, sviluppo di backend, sito e backoffice, deploy e gestione dell'infrastruttura.
Perché non un CMS pronto
Il cliente aveva già avuto brutte esperienze con abbonamenti a piattaforme esterne e voleva che dati e strumenti restassero suoi. In più il backoffice non è un pannello per pagine: è il lavoro quotidiano dell'agenzia, e domani dovrà accogliere anche il CRM interno. Un CMS generico qui va stretto, e ripartire dal mio starter già collaudato (backend Fastify, sito Nuxt, backoffice Vue) rendeva la scelta sostenibile.
Le decisioni
- Il sito non cade se cade un pezzo. I contenuti hanno tre livelli di riserva: cache in memoria, snapshot su disco, JSON generato in build. Se il database ha un problema, gli immobili restano online. La cache si invalida quando lo staff pubblica.
- Un contatto non si perde. Le notifiche dei lead passano da un outbox transazionale: la richiesta e la notifica vengono salvate insieme, e l'invio si ritenta finché non va a buon fine. Per un'agenzia, un lead perso è un cliente perso.
- Le foto si preparano da sole. Al caricamento vengono ridimensionate e ricevono la filigrana in automatico: lo staff carica le foto originali senza prepararle, il sito resta leggero e le immagini protette.
- Accessi diversi per persone diverse. Lo staff entra con email e password, i clienti con un codice monouso, senza password da ricordare.
- Un contratto unico tra i tre progetti. Le regole delle sezioni del CMS stanno in un pacchetto condiviso da backend, sito e backoffice, validato con Zod: se cambia una sezione, i tre progetti non vanno fuori sincrono.