Salta al contenuto
Torna al blog

ZampeSulWeb: come ho costruito un portale per i rifugi

Il caso di ZampeSulWeb, portale Laravel che collega rifugi per animali e cittadini: ricerca per regione, donazioni PayPal e mappa degli animali trovati.

ZampeSulWeb è un portale gratuito che raccoglie in un unico posto i rifugi per animali di tutta Italia: chi vuole adottare, donare o fare volontariato cerca la struttura più vicina, vede di cosa ha bisogno e la aiuta. L'ho progettato e sviluppato io, Gianmarco Benedetti, con Laravel e MySQL, una mappa costruita su Leaflet e OpenStreetMap per le segnalazioni di animali trovati o smarriti e le donazioni tramite PayPal.

In questo articolo racconto le scelte tecniche che ci sono dietro e il perché di ognuna. Non è un elenco di funzionalità: è il ragionamento che faccio anche quando lavoro su un progetto per un cliente, cioè partire da chi userà il sito e da quanto costerà tenerlo in piedi.

Il progetto è online su zampesulweb.it e ha una scheda dedicata nel mio portfolio: ZampeSulWeb nel portfolio.

Da dove nasce il progetto

L'idea è personale. Come racconto nella pagina "Chi sono" del sito, dopo aver adottato Lady, la mia labrador, ho provato a cercare online i cani nei rifugi e ho trovato siti sparsi, pagine Facebook abbandonate e numeri di telefono non aggiornati. Mancava un punto di riferimento unico.

ZampeSulWeb prova a essere quel punto di riferimento. Il sito riassume la sua funzione in tre verbi, che sono anche le tre sezioni principali:

  • Cerca: trovare canili e gattili nella propria regione e scoprire di cosa hanno bisogno
  • Aiuta: donare con PayPal, inviare beni dalla lista dei desideri del rifugio o offrire il proprio tempo come volontario
  • Segnala: pubblicare sulla mappa un animale trovato o smarrito, per aiutarlo a tornare a casa

Il portale è indipendente e gratuito. Le donazioni sono di due tipi e restano separate: quelle fatte a un rifugio vanno al rifugio, mentre quelle fatte dalla pagina "Chi sono" sostengono la piattaforma e coprono le spese del server. Per queste ultime il sito dice chiaramente che ZampeSulWeb non è un ente del Terzo Settore, quindi non sono deducibili. Mi sembrava giusto scriverlo in modo esplicito: chi dona deve sapere a chi vanno i suoi soldi.

Tre tipi di persone, un solo sistema di accesso

Il sito deve servire persone con esigenze molto diverse:

  • chi cerca un animale da adottare o un rifugio da sostenere
  • il rifugio, che pubblica la propria scheda e le proprie necessità
  • chi ha trovato o perso un animale e vuole segnalarlo

Invece di costruire tre aree separate, ho gestito tutti in un'unica tabella utenti, con ruoli diversi. Ogni ruolo vede e può fare cose diverse, ma il sistema di registrazione e accesso è uno solo. Questo semplifica la manutenzione: se domani va corretto qualcosa nel login, lo correggo in un punto.

Perché Laravel

Laravel è un framework PHP, cioè una base di codice già pronta su cui costruire l'applicazione. La scelta è stata pratica: autenticazione, invio email, controllo dei dati inseriti nei moduli, gestione dei file caricati e aggiornamento della struttura del database sono già disponibili e collaudati. Riscriverli da zero avrebbe voluto dire più tempo e più punti in cui sbagliare, per un progetto che non ha un budget da agenzia.

Il database è MySQL, lo stesso che si trova su quasi tutti gli hosting italiani. Anche questa è una scelta che guarda alla manutenzione: meno componenti particolari significa più libertà di spostare il sito se un giorno servisse.

La ricerca dei rifugi

La sezione Rifugi permette di sfogliare le strutture per regione, dalle Alpi alla Sicilia, e di filtrare per:

  • provincia
  • tipo di struttura: canile, gattile, rifugio o associazione
  • esigenze: cibo secco o umido per cani e gatti, coperte, medicinali, antiparassitari, trasportini, guinzagli e pettorine, cucce, lettiere, giochi

Il filtro per esigenze è quello a cui tengo di più. Chi vuole aiutare spesso non sa cosa portare, e un rifugio che ha bisogno di lettiere non se ne fa niente di dieci sacchi di crocchette. Rendere visibile la necessità concreta cambia il tipo di aiuto che arriva.

Un controllo prima della pubblicazione

Un rifugio si iscrive da una pagina dedicata, compilando i dati del referente e quelli della struttura: nome, tipo, indirizzo, contatti, descrizione e foto. La scheda però non va online subito: i dati vengono verificati e il rifugio diventa visibile solo dopo l'approvazione.

È un passaggio in più, ma su un portale dove girano donazioni è l'unico modo serio per evitare schede false o duplicate. Preferisco un'iscrizione un po' più lenta a un elenco di cui nessuno si fida.

La mappa degli animali trovati: perché OpenStreetMap

La Mappa Trovatelli mostra le segnalazioni di animali trovati e smarriti. Per pubblicarne una bisogna accedere con il proprio account: è una scelta voluta, per ridurre spam e segnalazioni fasulle e per avere un contatto dietro ogni annuncio.

Per la mappa ho usato Leaflet, una libreria JavaScript open source per mappe interattive pensata anche per i telefoni, con i dati cartografici di OpenStreetMap. L'alternativa ovvia era Google Maps.

La differenza sta nei costi ricorrenti. Google Maps Platform si usa con una chiave personale e un listino a consumo: il prezziario ufficiale, aggiornato a settembre 2026, prevede per le mappe dinamiche una soglia mensile gratuita oltre la quale si paga. Per un sito commerciale può andare bene. Per un progetto che vive di donazioni, ogni spesa fissa pesa, e una fattura che cresce insieme alle visite è l'ultima cosa che serve.

I dati di OpenStreetMap invece sono liberi. Va detta anche l'altra metà della storia, perché è il tipo di dettaglio che conta quando si sceglie uno strumento: i server che forniscono le immagini della mappa standard di OpenStreetMap sono finanziati da donazioni, hanno capacità limitata e non garantiscono il servizio. La loro politica d'uso chiede di citare chiaramente "© OpenStreetMap contributors" sulla mappa e vieta usi pesanti. Se il traffico crescesse molto, la strada è passare a un fornitore di mappe basate su OpenStreetMap o ospitarle in proprio. Leaflet permette di cambiare fornitore senza riscrivere la mappa, ed è uno dei motivi per cui l'ho scelto.

Donazioni: perché PayPal e non Stripe

Per le donazioni ho integrato PayPal. Stripe è un'alternativa valida, ma qui il pubblico conta più della tecnologia: chi dona a un rifugio spesso non è un acquirente online abituale, e un marchio che riconosce lo mette più a suo agio quando deve inserire i dati di pagamento.

Il funzionamento, spiegato senza gergo:

  1. il donatore clicca per donare e viene portato sulla pagina di pagamento di PayPal
  2. paga lì, quindi i dati della sua carta o del suo conto non passano mai dal server di ZampeSulWeb
  3. quando il pagamento va a buon fine, PayPal avvisa automaticamente il sito, che aggiorna lo storico delle donazioni

In fase di iscrizione il rifugio può indicare, se vuole, un'email PayPal su cui ricevere le donazioni. Quello che un donatore dà a un rifugio resta al rifugio: ZampeSulWeb non ne trattiene nulla. Il campo è facoltativo: non tutte le strutture hanno un conto PayPal, e non volevo che questo diventasse un ostacolo all'iscrizione.

Pagine leggere anche con tante foto

I rifugi caricano spesso schede con molte immagini, e molti visitatori arrivano da telefono, a volte con una connessione debole. Per questo:

  • l'interfaccia è costruita con Tailwind CSS, che produce un foglio di stile contenente solo le regole effettivamente usate
  • le foto sono servite in formato WebP: secondo la documentazione di Google, a parità di qualità un'immagine WebP pesa dal 25 al 34% in meno di un JPEG equivalente

Sono accorgimenti poco visibili, ma fanno la differenza tra una pagina che si apre subito e una che la gente chiude prima che finisca di caricare.

Il blog: contenuti utili invece di pubblicità

Il portale ha un blog con articoli pratici su cani e gatti: cosa fare se si trova una cucciolata di gattini, come riconoscere l'ansia da separazione nel cane, obblighi e costi del microchip, come proteggere il cane dai bocconi avvelenati, perché l'abbandono estivo succede e quali alternative esistono.

Il ragionamento è semplice. Una piattaforma senza budget pubblicitario ha bisogno che le persone la trovino da sole su Google. Un articolo che risponde a una domanda reale, come "quanto costa mantenere un gatto al mese", porta visite da chi sta già pensando agli animali, e alcune di quelle persone scoprono i rifugi della loro zona.

Privacy e trasparenza

Il sito ha pagine dedicate a privacy, cookie, termini di servizio e accessibilità, e una pagina di crediti che elenca strumenti e fonti delle immagini. Le statistiche di visita passano da Google Analytics solo con il consenso dell'utente. Su un progetto piccolo è facile rimandare questi aspetti, ma sono proprio quelli che fanno capire a un rifugio o a un donatore che dall'altra parte c'è qualcuno di serio.

Cosa mi porto dietro da questo progetto

ZampeSulWeb è il progetto in cui ho messo insieme molto di quello che ho imparato. Alcune lezioni valgono per qualsiasi sito, anche lontano dal mondo dei rifugi:

  • scegliere gli strumenti pensando ai costi dei prossimi anni, oltre a quelli di partenza
  • conoscere i limiti dei servizi gratuiti prima di dipendere da loro, come nel caso delle mappe
  • mettere un controllo umano dove girano soldi e fiducia, anche se rallenta un po' le cose
  • scrivere per chi userà il sito, che raramente è un tecnico

Se hai un progetto simile, magari per un'associazione, una rete di volontari o una piccola realtà del Friuli Venezia Giulia o del Veneto, e vuoi capire quali di queste scelte hanno senso nel tuo caso, puoi scrivermi dalla pagina contatti. Rispondo io, Gianmarco Benedetti, e partiamo da quello che ti serve davvero.

Fonti

Seleziona lingua

IT EN