This application implements a simple web interface to display telemetry data generated by IoT devices using the MQTT protocol.
The application has been developed following the TDD methodology presented in the "Advanced Techniques and Tools for Software Development" course.
By default the application will try to connect to a remote MQTT broker, specified in the application property file. To run the application with that broker:
mvn clean compile docker:start spring-boot:run \
&& mvn docker:stop
The mvn docker:stop
command is concatenated just to avoid to forget it.
We can use a different MQTT broker by providing its address. For example we can use the local broker created by the docker plugin:
mvn clean compile docker:start spring-boot:run \
-Dspring-boot.run.arguments=--broker="tcp://localhost:1883" \
&& mvn docker:stop
To be able to interact with the application a sensor simulator is provided. The simulator is outside the scope of this project and its intended as a proof of concept, therefore its not developed following a TDD approach.
To run Unit and Integration tests: mvn clean verify
To generate Code Coverage report: mvn clean verify -Pjacoco
To run Mutation tests: mvn clean test -Pmutation-tests
To run End to End tests: mvn clean verify -Pe2e-tests