crovillas.com

Crovillas GmbH

Full-Stack-Ferienhausplattform: Vom Buchungserlebnis über die interne Verwaltung bis zum Partner-Portal, nahtlos integriert mit Zahlungsabwicklung, Channel-Management und Echtzeit-Inventar.

Zurück zu den Referenzen

18

Microservices

3

Frontend-Apps

24

Docker-Services

400+

API Endpoints

Projektüberblick

Der Ausgangspunkt

Croatian coastline — the world Crovillas operates in

Crovillas, ein Anbieter für Luxus-Ferienhäuser in Kroatien, stand vor einem typischen Branchenproblem: Buchungen über verschiedene Portale verstreut, fragmentierte Verwaltung, kein zentraler Zugang für Gastgeber. Crovillas brauchte ein System, das alles zusammenführt - Gästebuchung, internes Dashboard und Gastgeber-Portal.

Was nach drei separaten Anwendungen klingt, ist ein eng verzahntes Ökosystem. Echtzeit-Verfügbarkeiten, automatische Zahlungsaufteilung, nahtlose Anbindung an Booking.com und Airbnb. Unser Ansatz: Die gesamte Geschäftslogik modular abbilden und darauf drei spezialisierte Frontends aufsetzen.

01

Herausforderung

Crovillas kam mit einer Vision zu uns: Eine Plattform für Luxus-Ferienhäuser in Kroatien aufbauen - komplett von Null. Kein bestehendes System, keine Legacy-Software, nur die Idee und der Anspruch, eine Buchungsplattform, ein Operations-Dashboard und ein Partner-Portal aus einem Guss zu schaffen.

02

Vorgehen

Wir haben von Grund auf ein modulares Monorepo-Frontend mit drei Nuxt-Applikationen und geteilten Packages entwickelt, dazu ein Go-Microservices-Backend mit Event Sourcing für zuverlässige Zustandsverwaltung sowie containerisiertes Deployment auf GCP.

03

Ergebnis

Eine produktionsreife Plattform mit 18 Microservices, 3 Frontend-Apps, Stripe-Zahlungsintegration und Channel-Management, die Buchungen über mehrere Vertriebskanäle hinweg abwickelt.

Plattform

Drei Apps, ein System

Drei miteinander verbundene Nuxt-Applikationen bilden das digitale Rückgrat der Plattform, jede auf ihre Nutzergruppe zugeschnitten, alle auf gemeinsamen Packages aufbauend.

backend.crovillas.com
Admin
crovillas.com
Katalog
host.crovillas.com
Partner

Katalog

Der kundenorientierte Luxus-Villen-Marktplatz mit intelligenter Filterung nach Region, Ausstattung und Verfügbarkeit, immersiven Bildergalerien, interaktiven Mapbox-Karten zur Standortentdeckung und einem vollständigen Buchungsflow mit saisonaler Preisgestaltung, Rabattcodes und Echtzeit-Verfügbarkeitsprüfung.

Immobiliensuche mit Smart-Filtern
Interaktive Mapbox-Regionskarten
Buchungsflow mit Live-Preisen
Mehrsprachig (18 Sprachen)
SEO-optimierte Objektseiten
Responsive auf allen Geräten
Shared Go Microservices Backend

Markenidentität

Branding & Design System

Für Crovillas haben wir eine vollständige Markenidentität entwickelt, die Luxus, Vertrauen und kroatisches Lebensgefühl vereint. Das Ergebnis: ein konsistentes Design System über drei Plattformen hinweg.

Logo & Wordmark

Das Crovillas-Logo ist ein typografisches Wordmark in Versalien mit weitem Zeichenabstand. Die klare, reduzierte Formsprache vermittelt Exklusivität und Professionalität. In der Primärfarbe Teal auf dunklem Hintergrund entfaltet es seine stärkste Wirkung.

Crovillas

Design System

Das Farbsystem basiert auf einem markanten Teal (#37B4C6) als Primärfarbe, ergänzt durch ein tiefes Dunkelblau (#0D1117) für Hintergründe und ein dunkles Teal (#07414A) als Sekundärfarbe. Mona Sans dient als durchgängige Schriftfamilie für alle drei Plattformen.

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 hat unsere komplexe Plattform mit höchster technischer Präzision umgesetzt. Die Microservices-Architektur ermöglicht uns, schnell auf Marktanforderungen zu reagieren.

Crovillas

Crovillas GmbH

Geschäftsführung

Technische Architektur

Microservices & Event Sourcing

Das Backend basiert auf Go Microservices mit dem Event Sourcing Pattern. Domain Events als Single Source of Truth, gespeichert in MongoDB, kommuniziert über gRPC und verteilt via NATS Event Bus.

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

Architekturentscheidungen

01

Das Frontend ist als Monorepo mit drei Nuxt 4 Applikationen organisiert, die sich gemeinsame Packages für UI-Komponenten, API Clients und Type Definitions teilen. Maximale Wiederverwendung bei klarer Domain Separation.

02

Domain Events bilden die Single Source of Truth: Jede Zustandsänderung wird als Event in MongoDB persistiert und über NATS an alle interessierten Services verteilt. Das ermöglicht lückenlose Audit Trails und Time-Travel Debugging.

03

Die Inter-Service-Kommunikation erfolgt über gRPC mit Protocol Buffers für typsichere, performante Aufrufe. Ein REST-Gateway übersetzt die gRPC-Endpunkte für das Frontend.

1

Frontend

3× Nuxt 4 Apps

Nuxt 4Vue 3Tailwind CSSshadcnPinia

Monorepo mit geteilten Packages, Server-Side Rendering, Tailwind CSS und shadcn für ein konsistentes Design-System. Pinia für reaktives State-Management.

2

API-Gateway

Go + Chi Router

GoChiJWTCORS

REST-Gateway zur Orchestrierung der Microservices mit CORS-Handling, JWT-Authentifizierung und Middleware-Pipeline.

3

Microservices

18 Go-Services

gRPCMongoDBNATSEvent Sourcing

Event-sourced Aggregates mit gRPC-Kommunikation. Domain Events werden über NATS verteilt, MongoDB dient als Event Store.

4

Infrastructure

Docker Swarm + GCP

Docker SwarmTraefikVarnishTerraformGCP

24 Container mit Docker Swarm. Traefik für Routing und TLS, Varnish für Caching, Terraform für 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 (Payments)
  • Mapbox GL
  • Docker Swarm
  • Traefik + Varnish
  • Terraform + GCP

Plattform-Features

Kernsystem-Features

01

Villen-Katalog

Umfassende Villensuche mit Filterung nach Regionen, Kategorien, Ausstattungsmerkmalen und Verfügbarkeit, inklusive detaillierter Objektseiten mit Bildergalerien.

02

Buchungssystem

Vollständiger Buchungsflow mit Saisonpreisen, Rabatten, Gutscheincodes, flexiblen Stornierungsrichtlinien und automatischer Bestätigung.

03

Zahlungsabwicklung

Stripe-Integration für Gastzahlungen und Gastgeber-Auszahlungen mit Kreditkarte, PayPal, Klarna, iDEAL, Sofort, Bancontact und Przelewy24, dazu Banküberweisung, automatisierte Rechnungsstellung und Zahlungsverfolgung.

04

Channel-Management

Bidirektionale Synchronisation über einen Channel Manager: Verfügbarkeiten, Preise und Buchungen laufen in Echtzeit zwischen der Plattform und Booking.com, Airbnb, Expedia, Vrbo und weiteren Portalen.

05

Interaktive Karten

Mapbox-basierte Regionen-Entdeckung und Objektlokalisierung mit interaktiven Kartenansichten und Umgebungsinformationen.

06

E-Mail-Automatisierung

Automatisierte E-Mail-Workflows für Buchungsbestätigungen, Erinnerungen, Zahlungsaufforderungen und Mahnungen, ausgelöst von den Domain-Events der Plattform.

07

Operations-Center

Zentrales Dashboard für Buchungsverwaltung, Buchhaltung, Analytik und Kundenbeziehungsmanagement mit rollenbasiertem Zugriff.

08

PDF-Generierung

Automatisierte Erstellung von Rechnungen und Buchungsbestätigungen als PDF via Headless-Browser-Rendering.

09

Gästebewertungen

Gäste bewerten Objekt und Service getrennt und können Fotos anhängen. Der Link kommt per E-Mail, veröffentlicht wird eine Bewertung erst nach Freigabe im Operations-Center.

Lieferumfang

  • 3 Nuxt 4 Frontend-Applikationen (Katalog, Admin, Host-Portal)
  • 18 Go-Microservices mit Event Sourcing
  • gRPC-Kommunikation mit REST-API-Gateway
  • Stripe-Zahlungsintegration (Gast & Gastgeber)
  • Channel-Manager-Integration (Booking.com, Airbnb, Expedia, Vrbo)
  • Interaktive Karten mit Mapbox GL
  • Automatisiertes E-Mail-System
  • PDF-Generierung (Rechnungen, Bestätigungen)
  • Docker-Swarm-Infrastruktur mit 24 Services
  • Varnish HTTP-Caching & Traefik Reverse Proxy
  • Terraform Infrastructure-as-Code (GCP Frankfurt)
  • Internationalisierung (18 Sprachen)

Projekt-Einblicke

Technische Details und Schlüsselentscheidungen hinter dem Crovillas-Projekt

Go bietet hervorragende Performance bei hoher Concurrency, einen geringen Memory Footprint und kompiliert zu einzelnen Binaries. Ideal für Microservices. Die starke Typisierung und das einfache Concurrency-Modell mit Goroutines ermöglichen robuste, wartbare Services.

Event Sourcing speichert jede Zustandsänderung als unveränderliches Event. Das ermöglicht lückenlose Audit Trails, Time-Travel Debugging, einfache Reproduzierbarkeit von Fehlern und die Möglichkeit, neue Projections aus historischen Daten zu erstellen. Besonders wertvoll bei Buchungs- und Zahlungsprozessen.

Docker Swarm bietet für die aktuelle Skalierungsstufe die optimale Balance zwischen Orchestrierungsfähigkeit und operativer Einfachheit. Es ist nativ in Docker integriert, hat einen deutlich geringeren Verwaltungsaufwand als Kubernetes und ist bei Bedarf migrierbar.

Die Plattform ist über eine eigene Integration an einen Channel Manager angebunden, der die Verteilung an Booking.com, Airbnb, Expedia, Vrbo, Agoda und weitere Portale übernimmt. Verfügbarkeiten und Preise werden dorthin ausgespielt, neue Buchungen über externe Kanäle laufen automatisch zurück ins System.

Die Plattform ist vollständig in 18 Sprachen verfügbar. Die i18n-Architektur mit Nuxt i18n ermöglicht jederzeit die einfache Ergänzung weiterer Sprachen ohne strukturelle Änderungen am Code.

Die gesamte Infrastruktur ist als Infrastructure-as-Code mit Terraform definiert und läuft auf GCP in Frankfurt. 24 Docker-Container werden über Docker Swarm orchestriert, mit Traefik als Reverse Proxy für automatisches TLS und Varnish für HTTP-Caching.

Nimm Kontakt mit uns auf

Du planst eine Buchungsplattform oder willst eine bestehende ablösen? Mit Crovillas sind wir diesen Weg komplett gegangen. Lass uns teilen, was dabei wirklich zählt.