A multi-brand platform for a municipality's tourism offering and related services — institutional content, an events calendar and an online store — under a single infrastructure.
The architecture is decoupled: a Next.js frontend (TypeScript, Tailwind, shadcn/ui) served at the edge, and a Laravel 12 backend with a Filament admin and Livewire on a dedicated server, synced over a REST API. Brands and sections live in separate frontends but share a single backend and domain model.
┌──────────────────────────┐ REST API ┌──────────────────────────┐
│ Frontend (edge) │ ◀──────────▶ │ Backend (server) │
│ Next.js · TS · Tailwind │ │ Laravel 12 · Filament │
│ shadcn/ui │ │ Livewire · MySQL │
└────────────┬─────────────┘ └────────────┬─────────────┘
│ PT / EN │
▼ ▼
Visitors Payments (Easypay)
It includes online payments (Easypay gateway), bilingual content management (PT/EN) and a full e-commerce flow. Delivered in phases — institutional, events, store, then SEO and security — to ship early and evolve safely.
It shows how to bring communication, tourism and transactional needs into one platform without coupling what should be free to evolve separately.