La piattaforma gestisce l'intero flusso di presentazione e prenotazione alloggi: homepage personalizzabile con hero, sezione "Perché scegliere Civico200", search bar con filtri (check-in/check-out, ospiti), catalogo alloggi con card informative (prezzo, ospiti, letti, bagni, superficie), pagine dettaglio con descrizioni complete, gallerie fotografiche, servizi/amenities, mappa posizione, dettagli soggiorno (check-in/out, soggiorno minimo, regole casa, termini cancellazione, sicurezza), recensioni ospiti con rating stelline, form contatti, e admin Payload per staff con gestione alloggi/recensioni/homepage/configurazione sito. Design responsive ottimizzato per mobile e desktop.
Funzionalità principali
- Catalogo alloggi: camere e appartamenti con info complete (prezzo/notte, ospiti, letti, bagni, superficie, descrizioni localizzate, immagine principale).
- Ricerca e filtri: search bar con date check-in/check-out, numero ospiti, filtro real-time per disponibilità, counter risultati.
- Calendario iCal: integrazione Airbnb iCal per sincronizzazione automatica disponibilità, parsing eventi, blocco date occupate.
- Pagine dettaglio: tab organizzate (Generale, Servizi e foto, Posizione e codici, Soggiorno), rich-text descriptions, gallerie fotografiche interattive (Embla Carousel), mappa Mapbox con coordinate GPS.
- Sistema recensioni: rating 1-5 stelline, nome ospite, testo recensione, data, collegamento alloggio, flag "in evidenza" per homepage carousel, tab recensioni in admin alloggio.
- Dettagli soggiorno: check-in/out times, soggiorno minimo (notti), regole casa (array), termini cancellazione (array), alloggio e sicurezza (array).
- Form contatti: React Hook Form + Zod validation, invio email via Resend con template React Email, toast conferma.
- Admin CMS: gestione alloggi (4 tab: Generale, Servizi e foto, Posizione e codici, Soggiorno), gestione recensioni, homepage content (hero image/titolo/sottotitolo), configurazione sito (logo, email, telefono, indirizzo, social links), media library, draft/publish workflow.
- i18n: supporto completo IT/EN con next-intl, campi localizzati (nome, descrizioni, località, regole), locale switcher.
- Codici identificativi: CIR (Codice Identificativo Regionale), CIN (Codice Identificativo Nazionale) per conformità normative.
Data layer e integrazioni
- Payload CMS 3.76 con MongoDB per collezioni (accommodations, reviews, media, users) e globals (homepage, site-config).
- tRPC per API type-safe (
accommodations, reviews, siteConfig). - Zod per validazioni schema.
- Resend + React Email per email transazionali (form contatti, conferme).
- Vercel Blob per media storage.
- iCal parsing: fetch e parse calendari Airbnb per gestione disponibilità, blocco date occupate.
- Mapbox GL JS per mappe interattive con marker posizione alloggi.
- nuqs per URL state management con filtri persistenti.
Sicurezza e accessi
- RBAC granulare su Payload collections (
admin, editor roles). - Draft/publish workflow per contenuti.
- Input validation con Zod su form.
- Access control: solo admin accede a tutte le funzionalità CMS.
- SEO plugin Payload per metadata ottimizzati.
UI/UX e performance
- Tailwind CSS 4 per utility-first styling.
- Embla Carousel per gallerie fotografiche (con wheel gestures).
- Mapbox GL per mappe interattive.
- React Hook Form per form management e validazione client-side.
- React Day Picker per date picker calendario.
- Lucide React e React Icons per icone.
- Sonner per toast notifications, next-themes per theme switching.
- React Error Boundary per error handling.
- Responsive design, lazy loading immagini, ottimizzazione LCP/CLS.
Highlight tecnico
- Next.js 16 + React 19 + TypeScript.
- Payload 3.76 (MongoDB), Vercel Blob media.
- iCal Airbnb integration (parsing calendari, sincronizzazione disponibilità).
- Mapbox GL per mappe con coordinate GPS.
- Search bar avanzata con filtri date/ospiti, disponibilità real-time.
- Sistema recensioni con stelline e featured carousel.
- tRPC + React Query per API type-safe.
- React Email + Resend per transazionali.
- next-intl (IT/EN), React Hook Form, Zod, nuqs.
- Admin completo con 4 tab alloggi, media library, draft/publish.
- Tailwind 4, Embla Carousel, Biome, pnpm.