{"id":21258635,"url":"https://github.com/praveen1664/springbootmicroserviceexample","last_synced_at":"2026-05-08T14:02:50.773Z","repository":{"id":218409713,"uuid":"588149248","full_name":"praveen1664/SpringBootMicroserviceExample","owner":"praveen1664","description":"This repository contains a Microservices example with Okta \u0026 Spring Security, Feign Client, Cloud api gatway, Configuration server, Eureka server  \u0026 a consolidated swagger docs services.","archived":false,"fork":false,"pushed_at":"2023-01-12T14:45:09.000Z","size":96,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-15T06:35:19.318Z","etag":null,"topics":["api-gateway","configuration","docker","eureka-server","feign","feign-client","java","microservices","resilent","resilience4j","spring-boot","swagger"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/praveen1664.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-01-12T12:53:34.000Z","updated_at":"2023-07-29T13:25:38.000Z","dependencies_parsed_at":"2024-01-21T20:16:39.880Z","dependency_job_id":null,"html_url":"https://github.com/praveen1664/SpringBootMicroserviceExample","commit_stats":null,"previous_names":["praveen1664/springbootmicroserviceexample"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/praveen1664/SpringBootMicroserviceExample","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/praveen1664%2FSpringBootMicroserviceExample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/praveen1664%2FSpringBootMicroserviceExample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/praveen1664%2FSpringBootMicroserviceExample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/praveen1664%2FSpringBootMicroserviceExample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/praveen1664","download_url":"https://codeload.github.com/praveen1664/SpringBootMicroserviceExample/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/praveen1664%2FSpringBootMicroserviceExample/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002970,"owners_count":26083489,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-gateway","configuration","docker","eureka-server","feign","feign-client","java","microservices","resilent","resilience4j","spring-boot","swagger"],"created_at":"2024-11-21T04:09:56.534Z","updated_at":"2025-10-10T06:39:12.291Z","avatar_url":"https://github.com/praveen1664.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SpringBootMicroserviceExample\n\n## What is this?\nThe repository contains a complete Microservices example with 3 main services USER-SERVICE, HOTEL-SERVICE and RATING-SERVICE.  In it we have used [OKTA AUTH](https://developer.okta.com/docs/concepts/how-okta-works/), [Spring Security](https://spring.io/projects/spring-security), [Resilence4j](https://resilience4j.readme.io/docs), [Feign Client](https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-feign.html), [Spring Cloud api gatway](https://spring.io/projects/spring-cloud-gateway), [Configuration server](https://spring.io/projects/spring-cloud-config),[Eureka server](https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-eureka-server.html), [OenApi3 Specifications](https://swagger.io/specification/) for individual services documents  and a consolidated swagger docs server which provides the consilidated view of all swagger docs. This Microservices examples uses Postgres , SQL \u0026 Mongo databases running inside docker containers for which we are also providing a docker compose file.\n\n## Salient features\nApart from about cloud capabilities we have also shown the improved [resilence](https://resilience4j.readme.io/docs), [Feign Client](https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-feign.html), [Circuit Breaker pattern](https://martinfowler.com/bliki/CircuitBreaker.html), [fallback](https://martinfowler.com/bliki/CircuitBreaker.html), [BlukHead](https://reflectoring.io/bulkhead-with-resilience4j/) , [Ratelimiters](https://resilience4j.readme.io/docs/ratelimiter) \u0026 [Retry mechanism ](https://resilience4j.readme.io/docs/retry) along with microservices architecture.\n\n## What are the component services \u0026 salient features\nWe are are using following services to deliver this Demo\n\n### HOTEL-SERVICE\nWritten in spring boot it is using Postgres as backend. It is enabled with Eureka client, Configuration server, Openapi3 swagger URL \u0026 it is also seeding consolidated documents to Common dcument server. It is being used by Rating-SERVER  \u0026 USER-SERVICE. Its end poiunts are /hotels \u0026 /hotels/{hotelId}\n\n### RATING-SERVICE\nWritten in spring boot it is using MongoDB as backend. It is enabled with Eureka client, Configuration server, Openapi3 swagger URL \u0026 it is also seeding consolidated documents to Common dcument server. It is being used by USER-SERVICE. Its end poiunts are /ratings \u0026 /ratings/{ratingId}\n\n### USER-SERVICE\nWritten in spring boot it is using POSTGRESS as backend. It is enabled with Eureka client, Configuration server, Openapi3 swagger URL \u0026 it is also seeding consolidated documents to Common dcument server. Apart from about cloud capabilities we have also shown the improved resilence, Circuit Breaker pattern \u0026 Ratelimiters along with microservices architecture. Its end poiunts are /users \u0026 /users/{userId}. We have shown the demo of resilnece patterns and [Feign client](https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-feign.html) with this service.\n\n## API-GATEWAY\nIt is using Spring-Cloud-Gateway, enabled with Eureka client \u0026 Configuration server. This services could be tested by appending end points of each of HOTEL-SERVICE, RATING-SERVICE and USER-SERVICE.\n\n## ServiceRegistry\nIt is implemented with Eureka Service Registry with Spring Cloud. We are using Eureka client for Service discovery as well.\n\n## CONFIG-SERVER\nIt is implemented with Spring Cloud Configuration server. The configuration is served from our another GithUb repository.\n\n## Document-Server\nIt is implemented with Spring Fox lib of Spring Boot which consolidate the individual swagger docs of each of Microservice \u0026 present them on a single swagger dcument. Please select the spec for any service from the dropdown provided for the same.\n\n## docker-compose.yml\nThis service will start 2 Postgres conatiners, One mongo DB along with PGafmin \u0026 Mongo-express configuration to test it fully.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpraveen1664%2Fspringbootmicroserviceexample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpraveen1664%2Fspringbootmicroserviceexample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpraveen1664%2Fspringbootmicroserviceexample/lists"}