Distributed Systems

Airbnb Distributed Booking

Cloud-native Airbnb clone with 5 microservices, Kafka event streaming, Kubernetes orchestration, and an AI travel planner powered by LangChain + Ollama.

Source Code
ReactNode.jsKafkaMongoDBDockerK8sLangChain

Services

5 Microservices

4 Node.js/Express + 1 Python/FastAPI

Traveler Service

Node.js

User auth, profiles, favorites management

:7001

Owner Service

Node.js

Property management, availability control

:7002

Property Service

Node.js

Listings CRUD, search, filtering

:7003

Booking Service

Node.js

Reservations and payment handling

:7004

AI Agent

Python

LangChain travel planner with Ollama LLM

:7000

Messaging

Kafka Event Streaming

Producer
booking.createdbooking.confirmedreview.submitted
Consumer

Async communication between services via event topics

Architecture

Tech Stack

Frontend
React 18Redux ToolkitViteTailwind
Backend
Node.js/Express ×4Python/FastAPI ×1
Messaging
Apache KafkaZookeeper
Data
MongoDB 7.0
Infra
Docker ComposeKubernetesNginxOllama

Infrastructure

Container Orchestration

Docker Compose

10 interconnected services in airbnb_network

Kubernetes

K8s manifests for all services, MongoDB, Kafka

MongoDB 7.0

Shared persistence across all microservices

Kafka + Zookeeper

Event-driven async communication

Features

What It Does

5 microservices — 4 Node.js/Express + 1 Python/FastAPI AI agent
Kafka event streaming — booking.created, booking.confirmed, review.submitted topics
LangChain AI travel planner with local Ollama LLM integration
Kubernetes manifests with deploy script, secrets, and configmaps
Redux Toolkit state management with React Router DOM
Playwright E2E testing framework
Source Code
5 Services10 ContainersK8s Ready