Welcome to MS-Spring repository! This project is a demo of a microservices architecture using Spring Boot.
This project was developed with the objective of exploring and demonstrating microservices architecture applying the best practices of the Spring ecosystem. It includes several services that communicate with each other to offer a complete solution for an e-commerce system.
Important! This is a work-in-progress project and will be soon having more functionalities! :)
- Java 21
- Spring Boot 3
- Spring Security
- Spring Cloud Gateway
- Spring Data JPA
- PostgreSQL
- Kafka
- Docker
- Swagger
- Hibernate
- JUnit 5
- Mockito
- H2 Database (for tests)
- Maven
Currently, the project has the following structure:
- user-service: Service responsible for users management.
- notifications-service: Service responsible for sending notifications to users.
- api-gateway: Service responsible for managing routing of the app.
- kafka-service: Service responsible for handling async communication between services through messaging.
- zookeeper-service: Service responsible for managing Kafka clusters.
- Java 21
- Maven
- PostgreSQL
- Docker
Steps: 1 - Clone repository:
git clone https://github.com/joaodslourenco/ms-spring.git2 - Inside project's folder, run:
docker compose up -d3 - Access the app through 'http://localhost:8080'
4 - Use 'http://localhost:8080/swagger-ui' or the Postman collection to check the available endpoints.
This project has unit and integration tests. To run them, run:
mvn test