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.
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.
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.

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.
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

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