https://github.com/ecristobale/ddd-microservices-springcloud-docker-kafka
System that uses dockerized Spring Cloud Microservices, applies Domain Driven Design (DDD), implements OpenAPI with Swagger, uses Spring Cloud Streams with Kafka and Spring Cloud elements such as Config Server, Feign, Gateway and JWT. It is connected to Postgre DB and Mongo DB (dockerized aswell). Used Postman and DBeaver for testing purposes.
https://github.com/ecristobale/ddd-microservices-springcloud-docker-kafka
circuit-breaker ddd-architecture docker docker-desktop dockerdesktop domain-driven-design eureka feign intellij kafka lombok openapi spring-boot-3 spring-cloud spring-cloud-config-server spring-cloud-gateway spring-cloud-stream springboot3 springcloud swagger
Last synced: 2 months ago
JSON representation
System that uses dockerized Spring Cloud Microservices, applies Domain Driven Design (DDD), implements OpenAPI with Swagger, uses Spring Cloud Streams with Kafka and Spring Cloud elements such as Config Server, Feign, Gateway and JWT. It is connected to Postgre DB and Mongo DB (dockerized aswell). Used Postman and DBeaver for testing purposes.
- Host: GitHub
- URL: https://github.com/ecristobale/ddd-microservices-springcloud-docker-kafka
- Owner: ecristobale
- Created: 2025-03-06T15:32:29.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-03-16T23:37:45.000Z (2 months ago)
- Last Synced: 2025-03-17T00:26:39.256Z (2 months ago)
- Topics: circuit-breaker, ddd-architecture, docker, docker-desktop, dockerdesktop, domain-driven-design, eureka, feign, intellij, kafka, lombok, openapi, spring-boot-3, spring-cloud, spring-cloud-config-server, spring-cloud-gateway, spring-cloud-stream, springboot3, springcloud, swagger
- Language: Java
- Homepage:
- Size: 1.38 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Microservices with Spring Cloud, Docker, DDD (Domain Driven Design), Kafka, Swagger (OpenAPI), PostgreSQL, Spring Boot 3
## DEVELOPER
* Eduardo Cristóbal
* Linkedin: [https://www.linkedin.com/in/ecristobale](https://www.linkedin.com/in/ecristobale)
* GitHub: [https://github.com/ecristobale](https://github.com/ecristobale)
* Email: [Eduardo Cristóbal - email](mailto:[email protected])## DESCRIPTION
The **goal** of this project is to create a **microservices** system using **Spring Boot 3** and **Java 17** . The following technologies and tools are used:
* Spring Cloud
* Docker
* Swagger (OpenAPI)
* Spring Cloud Streams with Kafka
* DDD (Domain Driven Design)
* Microservices: Registry Service (Eureka), Config Service, Feign, Load Balancer, Spring Cloud Gateway, Circuit Breaker pattern
* DBs: PostgreSQL and MongoDB
* Postman
* DBeaver and Studio 3t
* IntelliJ
* Visual Studio Code
* Sourcetree
* Docker Desktop
### Microservices system arquitecture:
### Screenshots:
* Eureka Server registered some instances of companies microservice:
* Swagger (OpenAPI) for companies microservice:
")* GitHub project with .yml files (profiles: default, prod and qa) for config-server:
* Feign with Load Balancer to communicate between microservices:
* Spring Cloud Streams with Kafka: consuming Kafka message and saving it to MongoDB
