https://github.com/nitins87/hotel-booking-ms
This repository contains the codebase for a Hotel Room Booking microservices project. The system is divided into three main microservices: API Gateway, Booking Service, and Payment Service.
https://github.com/nitins87/hotel-booking-ms
api-gateway eureka eureka-client eureka-discovery-service eureka-server microservices-architecture spring spring-boot spring-mvc
Last synced: 2 months ago
JSON representation
This repository contains the codebase for a Hotel Room Booking microservices project. The system is divided into three main microservices: API Gateway, Booking Service, and Payment Service.
- Host: GitHub
- URL: https://github.com/nitins87/hotel-booking-ms
- Owner: NitinS87
- Created: 2023-12-21T17:03:49.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-26T11:40:07.000Z (over 2 years ago)
- Last Synced: 2025-06-07T23:49:28.988Z (about 1 year ago)
- Topics: api-gateway, eureka, eureka-client, eureka-discovery-service, eureka-server, microservices-architecture, spring, spring-boot, spring-mvc
- Language: Java
- Homepage:
- Size: 295 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Hotel Room Booking Microservices Project
## Overview
This repository contains the codebase for a Hotel Room Booking microservices project. The system is divided into three main microservices: API Gateway, Booking Service, and Payment Service.
## High-Level Design (HLD)

## Project Structure
- **API Gateway (port 8080):** Entry point for external requests, responsible for routing to internal microservices.
- **Booking Service (port 8081):** Manages user bookings, room generation, and communication with the Payment Service.
- **Payment Service (port 8083):** Simulates payment transactions and returns a transactionId to the Booking Service.
## Microservices Communication Flow
*Explain the flow of communication between microservices using diagrams or textual descriptions.*
## How to Run Locally
1. Clone the repository: `git clone https://github.com/your-username/hotel-booking-microservices.git`
2. Navigate to each microservice directory and run: `mvn spring-boot:run`
## API Documentation
### Postman Collection Screenshots
#### Endpoint 1: /booking (Booking Service)


*Provide a brief description of the booking endpoint and its parameters.*
#### Endpoint 2: /transaction (Payment Service)


*Describe the transaction endpoint and its input/output.*
#### Endpoint 3: /booking/{bookingId} (Booking Service)

*Insert a brief description of the new endpoint to get booking details by booking ID.*
#### Endpoint 4: /transaction/{transactionId} (Payment Service)
*Provide details about the new endpoint to get transaction details by transaction ID.*




## Dependencies
### Booking Service
- Spring Cloud Netflix Eureka Client
- Spring Boot Web
- Spring Boot Data JPA
- Spring Boot Devtools
### Payment Service
- Spring Cloud Netflix Eureka Client
- Spring Boot Web
- Spring Boot Data JPA
- Spring Boot Devtools
### API Gateway
- Spring Boot Actuator
- Spring Cloud Netflix Eureka Client
- Spring Boot Devtools
### Eureka Server
- Spring Cloud Netflix Eureka Client
- Eureka Discovery Server
- Spring Boot Devtools
*Note: Additional dependencies might be required based on your project logic.*
## Contributors
- Nitin Sharma(https://github.com/NitinS87) - 20CSU074
- Neeraj Yadav (https://github.com/contributor-1) - 20CSU070
- Niharika Joshi (https://github.com/contributor-2) - 20CSU071
- Raghav Jindal (https://github.com/contributor-2) - 20CSU084