chmod +x start.sh
sh start.sh
- Execute unit tests
cd sales-service
./gradlew clean test
- Report at ./build/reports/tests/test/index.html
- Execute mutation tests
cd sales-service
./gradlew pitest
- Report at ./build/reports/pitest/index.html
- Build project
cd sales-service
./gradlew clean build
- Run project
docker-compose build
docker-compose up
- Execute integration tests
cd sales-integration-test
./gradlew clean test
- Report at ./build/reports/tests/test/index.html
- Application Swagger: Swagger-UI
- Kafdrop to access broker and topic: Kafdrop
- SpringBoot Webflux: SpringBoot reactive framework to increase I/O performance.
- MongoDB:
schemaless
database with reactive driver to work with SpringBoot Webflux - Shedlock: dependency to create multi instance lock at database, used at sales analysis scheduler
- Apache Kafka: streaming events platafrom, with high throughput support
- JUnit 5: new version of test framework, has some new features to help at unit tests
- Wiremock: dependency that creates mock servers to test the clients, used the Mock Labs to create the external clients for validations. Wiremock Docs
- Pitest: dependency to use at mutation tests
- Lombok: development plugin
- Swagger: endpoints documentation
- Docker: tool used to create the enviroment of the solution with all infraestructure dependencies
- Docker Compose: containers orchestration