Skip to content

Repository files navigation

Microservices Application

A microservices-based backend application built using Java and Spring Boot. The project demonstrates how multiple independent services communicate with each other using Spring Cloud components.

🚀 Services

1. API Gateway

Acts as the single entry point for client requests and routes requests to the appropriate microservice.

2. Service Registry

Provides service discovery so that microservices can locate and communicate with each other.

3. Config Server

Centralizes configuration for the different microservices.

4. User Service

Handles user-related operations.

5. Hotel Service

Handles hotel-related operations and hotel information.

6. Rating Service

Handles ratings and review-related operations.

🏗️ Architecture

                    Client
                      |
                      v
                API Gateway
                      |
        +-------------+-------------+
        |             |             |
        v             v             v
   User Service  Hotel Service  Rating Service
        |             |             |
        +-------------+-------------+
                      |
              Service Registry
                      |
                Config Server

🛠️ Technologies Used

  • Java
  • Spring Boot
  • Spring Cloud
  • Spring REST API
  • Microservices Architecture
  • API Gateway
  • Service Registry
  • Config Server
  • Maven

✨ Key Features

  • Microservices-based architecture
  • Independent services for different business responsibilities
  • Service discovery using Service Registry
  • Centralized configuration using Config Server
  • API Gateway for request routing
  • REST APIs for communication between services
  • Separate User, Hotel, and Rating services

📁 Project Structure

Microservices
│
├── ApiGateway
├── ConfigServer
├── RatingService
├── ServiceRegistry
├── UserService
└── hotelService

⚙️ How to Run

1. Clone the repository

git clone https://github.com/ramn-x/Microservices.git

2. Open the project

Open the project in IntelliJ IDEA or another Java IDE.

3. Start the services

Start the services in the required order:

  1. Config Server
  2. Service Registry
  3. API Gateway
  4. User Service
  5. Hotel Service
  6. Rating Service

4. Test the APIs

Use Postman or another REST API client to test the available endpoints through the API Gateway.

📌 Future Improvements

  • Add centralized logging
  • Add distributed tracing
  • Add automated tests
  • Containerize services using Docker
  • Deploy the application to the cloud

👨‍💻 Author

Raman Kumar

Java Backend Developer

About

Microservices-based application built with Spring Boot, featuring API Gateway, Config Server, Service Registry, User Service, Hotel Service, and Rating Service.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages