Skip to content

1shubhangisingh/bookmyhotel-mulesoft-integration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

BookMyHotel – MuleSoft API-Led Integration Project

Overview

BookMyHotel is an end-to-end enterprise integration project built using MuleSoft 4 and API-led connectivity.
The project simulates a real-world hotel search and booking platform by integrating multiple backend systems using scalable, reusable APIs.

Architecture

The solution follows MuleSoft’s API-Led Connectivity approach:

1. Experience API

  • Exposes REST endpoints to external consumers
  • Handles request validation and response formatting
  • Acts as a single entry point for clients

2. Process API

  • Orchestrates business logic
  • Aggregates data from multiple System APIs using Scatter-Gather
  • Applies transformation and business rules
  • Ensures loose coupling between Experience and System layers

3. System APIs

  • Abstract backend systems
  • Handle connectivity and protocol-specific logic

APIs Implemented

  • bookmyhotel-experience-api
  • bookmyhotel-process-api
  • india-hotels-api
  • users-system-api

Functional Flow

  1. Client sends a hotel search or booking request to the Experience API
  2. Experience API forwards the request to the Process API
  3. Process API:
    • Invokes multiple System APIs in parallel using Scatter-Gather
    • Fetches hotel data, user details, and availability
    • Performs DataWeave transformations
  4. System APIs connect to:
    • Database (MySQL) for hotel and user data
    • File/FTP system for batch hotel data
    • External APIs for enrichment
  5. Final aggregated response is returned to the client

Integrations Used

  • HTTP Connector – REST API communication
  • FTP/File Connector – File-based hotel data ingestion
  • Database Connector (MySQL) – Persistent data storage
  • IBM MQ – Asynchronous messaging and event-driven integration
  • Anypoint MQ – Reliable message queuing and retry mechanism
  • External REST APIs – Third-party system integration

Advanced MuleSoft Concepts

  • API-Led Connectivity
  • Scatter-Gather for parallel processing
  • DataWeave transformations
  • Streaming strategies for large payloads
  • Centralized error handling
  • Retry and redelivery policies
  • Secure configuration using TLS
  • Scheduler for automated batch processing

Scheduler

  • Scheduler is used to periodically trigger batch jobs
  • Reads hotel data from FTP and loads it into the database
  • Ensures automated data refresh without manual intervention

Error Handling & Reliability

  • Global error handlers implemented across APIs
  • Timeout and connectivity errors handled gracefully
  • Retries configured for MQ and external systems
  • Dead-letter handling for failed messages

Deployment & Management

  • Deployed on Anypoint Platform (CloudHub)
  • APIs published to Anypoint Exchange
  • Version controlled using GitHub and Anypoint Exchange
  • Monitored using Anypoint Runtime Manager and logs

Technologies Used

  • MuleSoft 4
  • Anypoint Studio
  • RAML
  • DataWeave 2.0
  • HTTP, FTP, DB, MQ Connectors
  • IBM MQ
  • MySQL
  • Anypoint Platform (CloudHub, Exchange, API Manager)
  • Git & GitHub

Use Case

The project demonstrates how a real-world hotel booking system can be built using MuleSoft by integrating multiple systems in a scalable, secure, and reusable way.

Author

Shubhangi Singh

License

This project is for learning purposes.

About

MuleSoft 4 API-led integration project for hotel search and booking using Experience, Process, and System APIs.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages