Case Study:
Belegungskalender

Microservice für das Verwalten und Darstellen von Unterkunftsverfügbarkeiten

Kunde

Funke Digital betreibt mit monteurzimmer.de und pension.de erfolgreiche Online-Unterkunftsvermittlungsportale. Diese Portale zeichnen sich dadurch aus, dass sie als Vermittler zwischen Interessenten und Anbietern von Unterkünften fungieren, wobei Buchungen direkt und ohne Vermittlungsgebühren zwischen den Parteien abgeschlossen werden. Diese einzigartige Positionierung ermöglicht es Funke Digital, sich von anderen Akteuren auf dem Markt abzuheben und eine wichtige Rolle in der Unterkunftsbranche zu spielen.

Projekt

Vermieter und Suchende von Unterkünften standen bei der Nutzung der Unterkunftsportale vor einem Problem. Da Buchungen direkt zwischen Anbietern und Interessenten abgeschlossen werden, gab es im Sytem keinerlei Information zur tatsächlichen Verfügbarkeit von Zimmern und Appartments. Diese Lücke führte dazu, dass Interessenten häufig auf zahlreiche bereits ausgebuchte Unterkünfte zugreifen mussten und Anbieter eine Überflutung an Anfragen für nicht verfügbare Einheiten bewältigen mussten, was bei beiden Parteien zu Frustration führen konnte. Das Ziel des Projektes war es daher, durch die Einführung eines Belegungskalenders, die Verfügbarkeitsdaten transparent zu machen und somit die Kommunikation zwischen Anbietern und Interessenten zu optimieren, um die Nutzung der Plattform effizienter und benutzerfreundlicher zu gestalten.

Umsetzung

Die Umsetzung erfolgte in drei Phasen: Analyse, Konzeption und Entwicklung. In der Analysephase ging es zunächst darum zu untersuchen wie Vermieter ihre Unterkünfte technisch verwalten. Neben einer direkten Befragung der Vermieter wurden auch bestehende Buchungssysteme und Schnittstellen auf dem Markt analysiert. CosmoCode hat sich intensiv mit verschiedenen Anbietern und Technologien auseinandergesetzt, um herauszufinden, welche davon am besten für die Integration in die Funke Portale geeignet sein könnten. Dies beinhaltete vor allem eine sorgfältige Betrachtung der Möglichkeiten zur Kalendersynchronisation, um Doppelarbeit für die Anbieter zu vermeiden, die bereits andere Systeme verwenden.

Auf der Grundlage der durchgeführten Marktanalyse und den definierten Anforderungen wurde ein detailliertes Konzept für das Belegungssystem entwickelt. Dieses umfasste eine umfassende textuelle Beschreibung aller zu entwickelnden Komponenten. Dazu zählen die Beschreibung sämtlicher verwalteter Datenentitäten und ihrer Eigenschaften, die Definition der API-Schnittstellen sowie eine ausführliche Beschreibung der Nutzer- und Automatisierungsworkflows, die genau festlegen, wie Daten von Drittanbietern mit dem System synchronisiert werden. Die durch Mockups ergänzte Beschreibung der UI-Mechanismen trug wesentlich dazu bei, die zukünftige Nutzer-Interaktion für den Auftraggeber greifbar zu machen.

Besonders hervorzuheben ist dabei die Wahl der Architektur: Es wurde entschieden, das System als Microservice-Architektur umzusetzen. Hierbei werden die verschiedenen Benutzeroberflächen als Web-Component Widgets in die bestehenden Portale integriert. Die Portale kommunizieren über eine REST-API mit dem Backend-Service, der die Datenverwaltung und -synchronisation übernimmt.

Für die Umsetzung des Belegungskalenders für die Unterkunftsportale von Funke Digital wählte CosmoCode einen robuste und bewährte Technologiestapel, bestehend aus Django, PostgreSQL und React.

Django wurde aufgrund seiner effizienten Framework-Struktur zur Entwicklung des Backend-Systems eingesetzt. Dieses Python-basierte Framework bietet eine Fülle von Funktionalitäten, die für schnelle Entwicklung und klare Strukturierung von Webanwendungen unerlässlich sind. Es ermöglicht die einfache Verwaltung von Datenbankoperationen, benutzerfreundliche URL-Routings und eine sichere Handhabung von Benutzereingaben, was essenziell für die Verarbeitung und Speicherung von Belegungsdaten ist.

Zur Verwaltung der Daten setzte das Team auf PostgreSQL, eine leistungsstarke, Open-Source objekt-relationalen Datenbank, die hohe Zuverlässigkeit, Robustheit und Performance bietet, selbst bei der Handhabung großer Mengen von Belegungsdaten und komplexen Abfrageanforderungen.

Für das Frontend wählte CosmoCode React, ein modernes JavaScript-Framework, das für die Erstellung reaktiver Benutzeroberflächen bekannt ist. React ermöglicht eine effiziente und flexible Entwicklung von Benutzeroberflächenkomponenten, die dynamisch auf Benutzerinteraktionen reagieren können. Mittels React konnte eine intuitive und nahtlose Interaktion mit dem Verfügbarkeitskalender auf den Portalen realisiert werden, was eine optimale Nutzererfahrung garantiert.

Für die Authentifizierung aller Zugriffe auf das Belegungssystem, sowohl über die API als auch die Widgets, verwendet das System JSON Web Tokens (JWT) entsprechend dem RFC7519 Standard.

Im Rahmen des Projekts wurde ein automatisiertes Deployment-System eingerichtet, das sich auf die Verwendung von GitHub Actions und AWS Elastic Beanstalk stützt. Dieses System stellt sicher, dass alle neuen Entwicklungen eine vordefinierte Pipeline von Tests und Quality Checks durchlaufen, bevor sie in die Produktion gelangen, und stärkt somit die Gesamtstabilität und Zuverlässigkeit der Lösung.

Kunde
Funke digital
Zeitraum
2023 - 2024

Wir können auch Ihr Projekt umsetzen!

Sie wollen ein ähnliches Projekt umsetzen? Oder sie haben eine ganz andere Idee? Sprechen Sie uns an und wir finden gemeinsam die beste Lösung.