This project serves as a training playground for the following concepts:
- Unit and Integration Tests
- MapStruct
- Retrofit
- OpenFeign
- Swagger
- CSV parsing, import/export
- JPA Specifications
- Spring Cloud Config Server & Client
- Spring Kafka
The project is run after issuing docker-compose
in the top directory (one image that needs to be built is the image
for the Spring Cloud Server, the properties file for that is provided along with the docker-compose.yml
file in the
top directory). The docker-compose.yml
file launches four containers:
- A container for Apache Zookeeper
- A container for Apache Kafka
- A container for Gitlab EE edition (used as the git repository for Spring Cloud Config Server)
- A container for Spring Cloud Config Server
Once all containers are up and running, the project can be run either by:
- Using the maven wrapper to build a
.jar
file and run it. - Using an IDE such as Eclipse or Intellij.
As for the Spring Cloud Config Server image, the following docs can be followed to build it: