Tutti i case study
// case-study / the-great-pizza-advisor

The Great Pizza

API REST e plugin WordPress per The Great Pizza: un catalogo di 500 pizzerie con recensioni, consumato da app mobile con mappa e sincronizzato dal CMS — PostgreSQL per geolocalizzazione, Sanctum per autenticazione Google e Apple, documentazione OpenAPI auto-generata.

LaravelPostgreSQLREST APIWordPressSanctum
// contesto e sfida

Il problema

The Great Pizza aveva già un sito WordPress con un catalogo di pizzerie e recensioni, ma serviva un backend API REST che le esponesse in modo strutturato: un plugin WordPress doveva sincronizzare automaticamente creazione e aggiornamento dei contenuti verso le API, così il CMS restasse la fonte primaria dei dati senza doppia digitazione.

In parallelo, un'app mobile — una guida pizzerie con mappa — consumava le stesse API per mostrare locali e recensioni agli utenti. Due client, un unico contratto dati: il backend doveva garantire coerenza assoluta tra ciò che veniva pubblicato nel CMS e ciò che l'app mostrava agli utenti.

Le pizzerie richiedevano geolocalizzazione: ogni locale ha coordinate e zona. PostgreSQL è stato scelto per le sue funzioni native di geolocalizzazione — non un workaround, ma il database giusto per il dominio.

Servivano strumenti che rendessero il servizio trasparente durante lo sviluppo e in produzione: una documentazione OpenAPI sempre aggiornata per gli integratori, e un pannello di monitoring per diagnosticare errori e anomalie senza accesso diretto al database.

// soluzione

Come l'ho affrontato

Ho sviluppato l'API RESTful Laravel con endpoint CRUD completi per pizzerie e recensioni, con validazione, middleware e rate limiting. Il plugin WordPress sincronizza i contenuti dal CMS verso le API: quando un operatore crea o aggiorna una pizzeria in WordPress, il plugin invia i dati al backend e il catalogo si aggiorna senza doppia digitazione. PostgreSQL è stato scelto per le funzioni native di geolocalizzazione — ogni pizzeria ha coordinate e zona, consultabili con query spaziali.

Per l'autenticazione ho integrato Laravel Sanctum con Google e Apple Sign-In: l'app mobile e il sito WordPress autenticano gli utenti con i loro account esistenti, senza registrazione separata. Il plugin WordPress usa le stesse API per la sincronizzazione dei contenuti.

La documentazione è generata automaticamente con Scramble — scelto perché per questo progetto serviva una soluzione OpenAPI semplice e immediata, senza la flessibilità avanzata di Scribe. La dashboard di Scramble è accessibile dopo il login per operatori e sviluppatori.

Per il monitoring ho integrato Telescope per il tracing di richieste, query e errori, e Log Viewer per la consultazione dei log — entrambi accessibili dopo il login, come strumenti operativi per sviluppatori e operatori.

Documentazione API Scramble con endpoint REST per pizzerie e recensioni
// Documentazione Scramble: endpoint, parametri e risposte navigabili per pizzerie e recensioni.
// architettura

Architettura & Tecnologie

API Laravel con PostgreSQL per la persistenza di pizzerie, recensioni e relativi attributi — scelto per le funzioni native di geolocalizzazione necessarie al dominio. Autenticazione via Laravel Sanctum con Google e Apple Sign-In per l'app mobile, e token per il plugin WordPress. Plugin WordPress come strumento di gestione contenuti: sincronizza creazione e aggiornamento delle pizzerie dal CMS verso le API REST. Documentazione OpenAPI auto-generata con Scramble. Telescope e Log Viewer per monitoring e log — strumenti accessibili dopo il login per sviluppatori e operatori.

Laravel
Backend RESTful: routing, validazione, middleware e logica applicativa
PostgreSQL
Persistenza con funzioni di geolocalizzazione per pizzerie e recensioni
REST API
Contratto dati condiviso da plugin WordPress e app mobile
Sanctum
Autenticazione token con Google, Apple Sign-In e WordPress
Scramble
Documentazione OpenAPI auto-generata, scelta per semplicità e immediatezza
Telescope
Tracing di richieste, query e errori in tempo reale
// highlights

Caratteristiche principali

Plugin WordPress che sincronizza contenuti verso le API: pizzerie e recensioni create nel CMS finiscono automaticamente nel catalogo — zero doppia digitazione

PostgreSQL con geolocalizzazione nativa: ogni pizzeria ha coordinate e zona, consultabili con query spaziali — il database scelto per il dominio, non un workaround

Autenticazione Google e Apple via Sanctum: l'app mobile usa gli account esistenti degli utenti, il plugin WordPress usa token per la sincronizzazione

Documentazione OpenAPI sempre aggiornata con Scramble: dashboard accessibile dopo il login per operatori e sviluppatori

Monitoring integrato: Telescope e Log Viewer rendono visibili richieste, query e log senza accesso diretto al database

Pagina di accesso con link a Telescope, Scramble e Log Viewer
// Area riservata: dashboard con accesso diretto a Telescope (monitoring), Scramble (documentazione OpenAPI) e Log Viewer — gli strumenti operativi per sviluppatori e operatori.
// risultati

Risultati

CMS e API sincronizzati: il plugin WordPress mantiene il catalogo di 500 pizzerie aggiornato in automatico — un operatore crea o modifica una pizzeria in WordPress e il contenuto raggiunge l'app mobile senza intervento manuale.

App mobile con mappa e pizzerie live: gli utenti trovano locali e recensioni con geolocalizzazione reale, consumando API che riflettono in tempo reale lo stato del catalogo.

Servizio trasparente in produzione: Telescope e Log Viewer rendono il comportamento del backend visibile senza SSH, la documentazione Scramble è sempre aggiornata per chi integra le API.

Un problema simile al tuo?

Parliamone: costruiamo qualcosa che regga al primo colpo e per gli anni a venire.

Parliamone