crovillas.com

Crovillas GmbH

Plataforma full stack de casas vacacionales: desde la experiencia de reserva y la gestión interna hasta el portal de partners, integrada de forma fluida con procesamiento de pagos, gestión de canales e inventario en tiempo real.

Volver a las referencias

18

Microservicios

3

Aplicaciones frontend

24

Servicios Docker

400+

Endpoints de API

Resumen del proyecto

El punto de partida

Croatian coastline — the world Crovillas operates in

Crovillas, proveedor de casas vacacionales de lujo en Croacia, se enfrentaba a un problema típico del sector: reservas dispersas en distintos portales, gestión fragmentada y ningún acceso central para los anfitriones. Crovillas necesitaba un sistema que lo reuniera todo: reserva de huéspedes, panel interno y portal para anfitriones.

Lo que parece tres aplicaciones independientes es un ecosistema estrechamente interconectado. Disponibilidad en tiempo real, reparto automático de pagos e integración fluida con Booking.com y Airbnb. Nuestro enfoque: modelar toda la lógica de negocio de forma modular y construir sobre ella tres frontends especializados.

01

Desafío

Crovillas acudió a nosotros con una visión: crear una plataforma para casas vacacionales de lujo en Croacia completamente desde cero. Sin sistema existente, sin software heredado; solo la idea y la ambición de crear una plataforma de reservas, un panel de operaciones y un portal de partners perfectamente integrados.

02

Enfoque

Desarrollamos desde cero un frontend modular en monorepo con tres aplicaciones Nuxt y paquetes compartidos, junto con un backend de microservicios Go con Event Sourcing para una gestión de estado fiable y un despliegue contenerizado en GCP.

03

Resultado

Una plataforma lista para producción con 18 microservicios, 3 aplicaciones frontend, integración de pagos con Stripe y gestión de canales, que procesa reservas a través de múltiples canales de distribución.

Plataforma

Tres aplicaciones, un sistema

Tres aplicaciones Nuxt conectadas forman la columna vertebral digital de la plataforma, cada una adaptada a su grupo de usuarios y todas basadas en paquetes compartidos.

backend.crovillas.com
Administración
crovillas.com
Catálogo
host.crovillas.com
Partner

Catálogo

El marketplace de villas de lujo orientado al cliente, con filtros inteligentes por región, equipamiento y disponibilidad; galerías de imágenes inmersivas; mapas interactivos de Mapbox para descubrir ubicaciones; y un flujo de reserva completo con precios estacionales, códigos de descuento y comprobación de disponibilidad en tiempo real.

Búsqueda de propiedades con filtros inteligentes
Mapas interactivos de regiones con Mapbox
Flujo de reserva con precios en vivo
Multilingüe (18 idiomas)
Páginas de propiedades optimizadas para SEO
Adaptable a todos los dispositivos
Shared Go Microservices Backend

Identidad de marca

Branding y sistema de diseño

Para Crovillas desarrollamos una identidad de marca completa que combina lujo, confianza y el estilo de vida croata. El resultado: un sistema de diseño coherente en tres plataformas.

Logotipo y marca denominativa

El logotipo de Crovillas es una marca denominativa tipográfica en mayúsculas con amplio espaciado entre caracteres. Su lenguaje formal claro y minimalista transmite exclusividad y profesionalidad. En el color primario teal sobre fondo oscuro alcanza su mayor impacto.

Crovillas

Sistema de diseño

El sistema de color se basa en un distintivo teal (#37B4C6) como color primario, complementado por un azul marino profundo (#0D1117) para los fondos y un teal oscuro (#07414A) como color secundario. Mona Sans sirve como familia tipográfica unificada para las tres plataformas.

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 implementó nuestra compleja plataforma con la máxima precisión técnica. La arquitectura de microservicios nos permite responder rápidamente a las exigencias del mercado.

Crovillas

Crovillas GmbH

Dirección

Arquitectura técnica

Microservicios y Event Sourcing

El backend se basa en microservicios Go con el patrón Event Sourcing. Eventos de dominio como única fuente de verdad, almacenados en MongoDB, comunicados mediante gRPC y distribuidos a través del bus de eventos NATS.

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

Decisiones de arquitectura

01

El frontend está organizado como un monorepo con tres aplicaciones Nuxt 4 que comparten paquetes para componentes de UI, clientes de API y definiciones de tipos. Máxima reutilización con una clara separación de dominios.

02

Los eventos de dominio constituyen la única fuente de verdad: cada cambio de estado se persiste como evento en MongoDB y se distribuye a todos los servicios interesados mediante NATS. Esto permite trazas de auditoría completas y depuración con viaje en el tiempo.

03

La comunicación entre servicios se realiza mediante gRPC con Protocol Buffers para llamadas tipadas y de alto rendimiento. Un gateway REST traduce los endpoints gRPC para el frontend.

1

Frontend

3 aplicaciones Nuxt 4

Nuxt 4Vue 3Tailwind CSSshadcnPinia

Monorepo con paquetes compartidos, renderizado del lado del servidor, Tailwind CSS y shadcn para un sistema de diseño coherente. Pinia para la gestión reactiva del estado.

2

Gateway de API

Go + Chi Router

GoChiJWTCORS

Gateway REST para la orquestación de microservicios con gestión de CORS, autenticación JWT y pipeline de middleware.

3

Microservicios

18 servicios Go

gRPCMongoDBNATSEvent Sourcing

Agregados basados en Event Sourcing con comunicación gRPC. Los eventos de dominio se distribuyen mediante NATS y MongoDB funciona como Event Store.

4

Infraestructura

Docker Swarm + GCP

Docker SwarmTraefikVarnishTerraformGCP

24 contenedores con Docker Swarm. Traefik para enrutamiento y TLS, Varnish para caché y Terraform para IaC.

Stack tecnológico

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

Funcionalidades de la plataforma

Funcionalidades principales del sistema

01

Catálogo de villas

Búsqueda integral de villas con filtros por regiones, categorías, equipamiento y disponibilidad, incluidas páginas detalladas de propiedades con galerías de imágenes.

02

Sistema de reservas

Flujo de reserva completo con precios de temporada, descuentos, códigos de cupón, políticas de cancelación flexibles y confirmación automática.

03

Procesamiento de pagos

Integración con Stripe para pagos de huéspedes y liquidaciones a anfitriones con tarjeta, PayPal, Klarna, iDEAL, Sofort, Bancontact y Przelewy24, además de transferencia bancaria, con facturación automatizada y seguimiento de pagos.

04

Gestión de canales

Sincronización bidireccional a través de un channel manager: disponibilidades, precios y reservas fluyen en tiempo real entre la plataforma y Booking.com, Airbnb, Expedia, Vrbo y otros portales.

05

Mapas interactivos

Exploración de regiones y localización de propiedades basada en Mapbox, con vistas de mapas interactivos e información del entorno.

06

Automatización de correo electrónico

Flujos de correo electrónico automatizados para confirmaciones de reserva, recordatorios, solicitudes de pago y avisos de cobro, disparados por los domain events de la plataforma.

07

Centro de operaciones

Panel central para la gestión de reservas, contabilidad, analítica y gestión de relaciones con clientes, con acceso basado en roles.

08

Generación de PDF

Creación automatizada de facturas y confirmaciones de reserva en PDF mediante renderizado en navegador sin interfaz.

09

Valoraciones de huéspedes

Los huéspedes valoran por separado el alojamiento y el servicio, y pueden adjuntar fotos. El enlace llega por correo y la valoración se publica tras aprobarse en el centro de operaciones.

Entregables

  • 3 aplicaciones frontend Nuxt 4 (catálogo, administración, portal de anfitriones)
  • 18 microservicios Go con Event Sourcing
  • Comunicación gRPC con gateway de API REST
  • Integración de pagos con Stripe (huésped y anfitrión)
  • Integración con Channel Manager (Booking.com, Airbnb, Expedia, Vrbo)
  • Mapas interactivos con Mapbox GL
  • Sistema de correo electrónico automatizado
  • Generación de PDF (facturas, confirmaciones)
  • Infraestructura Docker Swarm con 24 servicios
  • Caché HTTP con Varnish y proxy inverso Traefik
  • Infrastructure-as-Code con Terraform (GCP Frankfurt)
  • Internacionalización (18 idiomas)

Perspectivas del proyecto

Detalles técnicos y decisiones clave detrás del proyecto Crovillas

Go ofrece un rendimiento excelente con alta concurrencia, una baja huella de memoria y compila en binarios individuales. Ideal para microservicios. Su tipado fuerte y el sencillo modelo de concurrencia con goroutines permiten crear servicios robustos y mantenibles.

Event Sourcing almacena cada cambio de estado como un evento inmutable. Esto permite trazas de auditoría completas, depuración con viaje en el tiempo, reproducción sencilla de errores y la posibilidad de crear nuevas proyecciones a partir de datos históricos. Es especialmente valioso en procesos de reserva y pago.

Para el nivel actual de escalado, Docker Swarm ofrece el equilibrio óptimo entre capacidad de orquestación y simplicidad operativa. Está integrado de forma nativa en Docker, requiere mucho menos esfuerzo de gestión que Kubernetes y puede migrarse si es necesario.

La plataforma se conecta a un channel manager mediante una integración propia, que se encarga de la distribución a Booking.com, Airbnb, Expedia, Vrbo, Agoda y otros portales. Las disponibilidades y los precios se envían hacia fuera y las reservas de canales externos regresan automáticamente al sistema.

La plataforma está disponible íntegramente en 18 idiomas. La arquitectura i18n con Nuxt i18n permite añadir fácilmente más idiomas en cualquier momento sin realizar cambios estructurales en el código.

Toda la infraestructura está definida como Infrastructure-as-Code con Terraform y se ejecuta en GCP en Frankfurt. 24 contenedores Docker se orquestan mediante Docker Swarm, con Traefik como proxy inverso para TLS automático y Varnish para caché HTTP.

Ponte en contacto con nosotros

¿Planeas una plataforma de reservas o quieres sustituir una existente? Con Crovillas hemos recorrido ese camino de principio a fin. Hablemos de lo que de verdad importa por el camino.