crovillas.com

Crovillas GmbH

Piattaforma full-stack per case vacanza: dall'esperienza di prenotazione alla gestione interna fino al portale partner, perfettamente integrata con elaborazione dei pagamenti, gestione dei canali e inventario in tempo reale.

Torna ai progetti

18

Microservizi

3

App frontend

24

Servizi Docker

400+

Endpoint API

Panoramica del progetto

Il punto di partenza

Croatian coastline — the world Crovillas operates in

Crovillas, fornitore di case vacanza di lusso in Croazia, si trovava di fronte a un tipico problema del settore: prenotazioni distribuite su diversi portali, gestione frammentata, nessun accesso centrale per gli host. Crovillas aveva bisogno di un sistema che riunisse tutto: prenotazione degli ospiti, dashboard interna e portale per host.

Quello che sembra composto da tre applicazioni separate è un ecosistema strettamente integrato. Disponibilità in tempo reale, suddivisione automatica dei pagamenti, integrazione fluida con Booking.com e Airbnb. Il nostro approccio: modellare modularmente l'intera logica aziendale e costruire su di essa tre frontend specializzati.

01

Sfida

Crovillas si è rivolta a noi con una visione: costruire una piattaforma per case vacanza di lusso in Croazia, completamente da zero. Nessun sistema esistente, nessun software legacy, solo l'idea e l'ambizione di creare una piattaforma di prenotazione, una dashboard operativa e un portale partner perfettamente integrati.

02

Approccio

Abbiamo sviluppato da zero un frontend monorepo modulare con tre applicazioni Nuxt e pacchetti condivisi, un backend a microservizi Go con Event Sourcing per una gestione affidabile dello stato e un deployment containerizzato su GCP.

03

Risultato

Una piattaforma pronta per la produzione con 18 microservizi, 3 app frontend, integrazione dei pagamenti Stripe e gestione dei canali, che elabora prenotazioni su più canali di vendita.

Piattaforma

Tre app, un unico sistema

Tre applicazioni Nuxt interconnesse costituiscono la spina dorsale digitale della piattaforma, ciascuna su misura per il proprio gruppo di utenti, tutte basate su pacchetti condivisi.

backend.crovillas.com
Admin
crovillas.com
Catalogo
host.crovillas.com
Partner

Catalogo

Il marketplace di ville di lusso orientato al cliente, con filtri intelligenti per regione, dotazioni e disponibilità, gallerie immagini immersive, mappe interattive Mapbox per esplorare le località e un flusso di prenotazione completo con prezzi stagionali, codici sconto e controllo della disponibilità in tempo reale.

Ricerca immobili con filtri smart
Mappe regionali interattive Mapbox
Flusso di prenotazione con prezzi in tempo reale
Multilingue (18 lingue)
Pagine delle strutture ottimizzate per SEO
Responsive su tutti i dispositivi
Shared Go Microservices Backend

Identità del brand

Branding e Design System

Per Crovillas abbiamo sviluppato un'identità di brand completa che unisce lusso, fiducia e stile di vita croato. Il risultato: un design system coerente su tre piattaforme.

Logo e Wordmark

Il logo Crovillas è un wordmark tipografico in maiuscolo con ampia spaziatura tra i caratteri. Il linguaggio formale pulito e minimalista comunica esclusività e professionalità. Nel colore primario teal su sfondo scuro esprime il suo massimo impatto.

Crovillas

Design System

Il sistema cromatico si basa su un caratteristico teal (#37B4C6) come colore primario, completato da un blu scuro intenso (#0D1117) per gli sfondi e da un teal scuro (#07414A) come colore secondario. Mona Sans viene utilizzato come famiglia di caratteri coerente per tutte e tre le piattaforme.

Crovillas

Dark Mode

Crovillas

Light Mode

Primary

#37B4C6

#D4F1F6
#A3E0EB
#6BCBDA
#37b4c6
#2A8F9E
#1F6B76

Headline

Aa

Mona Sans · Bold · 700

Buttons

Dark

#0D1117

Body

Aa

Mona Sans · Regular · 400

Line Weights

1px · Accent

2px · Divider

4px · Section

Icons

Villa
Calendar
Map
Payment
User
Mail

Teal Dark

#07414A

Components

Villen suchen...
Verfügbar Gebucht Entwurf

Villa Adriatic Sunset

85%

modernice ha realizzato la nostra complessa piattaforma con la massima precisione tecnica. L'architettura a microservizi ci consente di rispondere rapidamente alle richieste del mercato.

Crovillas

Crovillas GmbH

Direzione

Architettura tecnica

Microservizi e Event Sourcing

Il backend si basa su microservizi Go con il pattern Event Sourcing. I domain event come single source of truth, memorizzati in MongoDB, comunicati tramite gRPC e distribuiti via NATS Event Bus.

API Gateway
Catalog
Booking
Billing
Contact
Auth
Profile
Channels
PDF
Dunning
Accounting
Document
CRM
Notification

Decisioni architetturali

01

Il frontend è organizzato come monorepo con tre applicazioni Nuxt 4 che condividono pacchetti per componenti UI, client API e definizioni di tipo. Massimo riutilizzo con una chiara separazione dei domini.

02

I domain event costituiscono la single source of truth: ogni modifica dello stato viene persistita come evento in MongoDB e distribuita tramite NATS a tutti i servizi interessati. Ciò consente audit trail completi e debugging con viaggio nel tempo.

03

La comunicazione tra servizi avviene tramite gRPC con Protocol Buffers per chiamate performanti e type-safe. Un gateway REST traduce gli endpoint gRPC per il frontend.

1

Frontend

3 app Nuxt 4

Nuxt 4Vue 3Tailwind CSSshadcnPinia

Monorepo con pacchetti condivisi, rendering lato server, Tailwind CSS e shadcn per un design system coerente. Pinia per una gestione reattiva dello stato.

2

Gateway API

Go + Chi Router

GoChiJWTCORS

Gateway REST per l'orchestrazione dei microservizi con gestione CORS, autenticazione JWT e pipeline middleware.

3

Microservizi

18 servizi Go

gRPCMongoDBNATSEvent Sourcing

Aggregati event-sourced con comunicazione gRPC. I domain event vengono distribuiti tramite NATS, mentre MongoDB funge da event store.

4

Infrastruttura

Docker Swarm + GCP

Docker SwarmTraefikVarnishTerraformGCP

24 container con Docker Swarm. Traefik per routing e TLS, Varnish per caching, Terraform per IaC.

Tech Stack

  • Nuxt 4 + Vue 3
  • Go 1.25
  • gRPC + Protocol Buffers
  • MongoDB (Event Store)
  • NATS (Event Bus)
  • Tailwind CSS + shadcn
  • Pinia (State)
  • Stripe (Pagamenti)
  • Mapbox GL
  • Docker Swarm
  • Traefik + Varnish
  • Terraform + GCP

Funzionalità della piattaforma

Funzionalità principali del sistema

01

Catalogo ville

Ricerca completa di ville con filtri per regioni, categorie, dotazioni e disponibilità, incluse pagine dettagliate delle strutture con gallerie di immagini.

02

Sistema di prenotazione

Flusso di prenotazione completo con prezzi stagionali, sconti, codici promozionali, politiche di cancellazione flessibili e conferma automatica.

03

Elaborazione dei pagamenti

Integrazione Stripe per pagamenti degli ospiti e liquidazioni agli host con carta di credito, PayPal, Klarna, iDEAL, Sofort, Bancontact e Przelewy24, oltre al bonifico bancario, con fatturazione automatizzata e monitoraggio dei pagamenti.

04

Gestione dei canali

Sincronizzazione bidirezionale tramite un channel manager: disponibilità, prezzi e prenotazioni viaggiano in tempo reale tra la piattaforma e Booking.com, Airbnb, Expedia, Vrbo e altri portali.

05

Mappe interattive

Esplorazione delle regioni e localizzazione delle strutture basate su Mapbox, con visualizzazioni cartografiche interattive e informazioni sulla zona.

06

Automazione e-mail

Workflow e-mail automatizzati per conferme di prenotazione, promemoria, richieste di pagamento e solleciti, innescati dai domain event della piattaforma.

07

Centro operativo

Dashboard centrale per gestione delle prenotazioni, contabilità, analisi e gestione delle relazioni con i clienti con accesso basato sui ruoli.

08

Generazione PDF

Creazione automatizzata di fatture e conferme di prenotazione in PDF tramite rendering con browser headless.

09

Recensioni degli ospiti

Gli ospiti valutano separatamente l'immobile e il servizio e possono allegare foto. Il link arriva via e-mail e la recensione viene pubblicata dopo l'approvazione nel centro operativo.

Deliverable

  • 3 applicazioni frontend Nuxt 4 (catalogo, admin, portale host)
  • 18 microservizi Go con Event Sourcing
  • Comunicazione gRPC con gateway API REST
  • Integrazione pagamenti Stripe (ospiti e host)
  • Integrazione Channel Manager (Booking.com, Airbnb, Expedia, Vrbo)
  • Mappe interattive con Mapbox GL
  • Sistema e-mail automatizzato
  • Generazione PDF (fatture, conferme)
  • Infrastruttura Docker Swarm con 24 servizi
  • Caching HTTP Varnish e reverse proxy Traefik
  • Infrastructure-as-Code Terraform (GCP Francoforte)
  • Internazionalizzazione (18 lingue)

Approfondimenti sul progetto

Dettagli tecnici e decisioni chiave alla base del progetto Crovillas

Go offre prestazioni eccellenti con alta concorrenza, un basso consumo di memoria e viene compilato in singoli binari. Ideale per i microservizi. La tipizzazione forte e il semplice modello di concorrenza con le goroutine consentono servizi robusti e manutenibili.

L'Event Sourcing memorizza ogni modifica dello stato come evento immutabile. Ciò consente audit trail completi, debugging con viaggio nel tempo, facile riproducibilità degli errori e la possibilità di creare nuove proiezioni dai dati storici. Particolarmente prezioso nei processi di prenotazione e pagamento.

Docker Swarm offre il miglior equilibrio tra capacità di orchestrazione e semplicità operativa per l'attuale livello di scalabilità. È integrato nativamente in Docker, richiede una gestione significativamente inferiore rispetto a Kubernetes ed è migrabile se necessario.

La piattaforma è collegata a un channel manager tramite un’integrazione dedicata, che gestisce la distribuzione verso Booking.com, Airbnb, Expedia, Vrbo, Agoda e altri portali. Disponibilità e prezzi vengono inviati verso l’esterno e le prenotazioni dai canali esterni rientrano automaticamente nel sistema.

La piattaforma è completamente disponibile in 18 lingue. L'architettura i18n con Nuxt i18n consente di aggiungere facilmente ulteriori lingue in qualsiasi momento senza modifiche strutturali al codice.

L'intera infrastruttura è definita come Infrastructure-as-Code con Terraform e viene eseguita su GCP a Francoforte. 24 container Docker sono orchestrati tramite Docker Swarm, con Traefik come reverse proxy per TLS automatico e Varnish per il caching HTTP.

Contattaci

Stai pianificando una piattaforma di prenotazioni o vuoi sostituirne una esistente? Con Crovillas abbiamo fatto quel percorso da cima a fondo. Parliamo di cosa conta davvero lungo la strada.