Spring Boot 2 Application showcasing a smart home rest endpoint while using Spring Webflux, R2DBC and springdoc-openapi
The application is packaged and published as a docker container. If you have Docker installed you can run it locally and use curl or postman to use it.
docker run -p 8080:8080 -d ghcr.io/eifinger/smart-home-overview-poc:latest
curl --location --request GET 'http://localhost:8080/overview'
You can also use the Swagger-UI under http://localhost:8080/swagger-ui.html to see the available endpoints to create homes, rooms and thermostats
All tests are e2e/integration tests which test against Testcontainers.
This provides the benefit that the whole application with serializing, dependencies,... is tested.
When the application grows in complexity this approach should be revisited.
./gradlew test
For further reference, please consider the following sections: