This project is a microservices architecture for the "MakeMyTrip" application, implemented using Spring Boot with Okta security. The architecture includes an API gateway, config server, hotel service, rating service, service registry, and user service.
- Description: Acts as a single entry point for all clients to access the various microservices.
- Tags:
Spring Boot
,Zuul
,Okta
,API Gateway
- Description: Centralized configuration management for all microservices, storing configurations in a Git repository.
- Tags:
Spring Boot
,Spring Cloud Config
,Git
,Config Server
- Description: Manages hotel information including details, availability, and booking.
- Tags:
Spring Boot
,Okta
,Hotel Service
- Description: Manages and stores user ratings and reviews for hotels.
- Tags:
Spring Boot
,Okta
,Rating Service
- Description: Registers and manages all microservices instances using Eureka.
- Tags:
Spring Boot
,Eureka
,Service Registry
- Description: Manages user information, authentication, and authorization.
- Tags:
Spring Boot
,Okta
,User Service
- Java 11+
- Maven
- Git
-
Clone the repository:
git clone https://github.com/PawanSirsat/Microservices_OKTA_Security.git cd makemytrip-microservices
-
Configuration:
- Set up Okta for authentication and authorization.
- Update configuration files in the Config Server repository.
-
Build and Run:
mvn clean install cd service-registry mvn spring-boot:run cd ../config-server mvn spring-boot:run cd ../api-gateway mvn spring-boot:run cd ../hotel-service mvn spring-boot:run cd ../rating-service mvn spring-boot:run cd ../user-service mvn spring-boot:run
- API Gateway: Access all services through the API Gateway at
http://localhost:8080
. - Config Server: Configurations stored in Git and served from
http://localhost:8888
. - Service Registry: View registered services at
http://localhost:8761
.
- Hotel Service:
GET /hotels
- List all hotelsPOST /hotels
- Add a new hotel
- Rating Service:
GET /ratings
- List all ratingsPOST /ratings
- Add a new rating
- User Service:
POST /users/register
- Register a new userPOST /users/login
- User login
- Okta Integration: Secure all services using Okta for authentication and authorization. Update Okta configuration in each service’s properties file.
This project is licensed under the MIT License.