Use Case: Backend for a Small IoT Project

The goal of this project is to build a lightweiht backend for a small IoT project that allows to get and keep the data set from the device sensors. There are a many identical devices that use standard MQTT protocol to send the data to the backend for analyse and store the data, and provides a small API to expose some sort of data that used for the mobile application.

The MQTT backend is build on top of an open source MQTT broker Eclipse Mosquitto. Check how to run a secured Mosquitto MQTT broker to restrict the unnecessary access.

I have build a simple MQTT client that will subscribe to specific topics and process the received messages. The message is a simple JSON that pushed to the MongoDB for the storing and future using.

I have build a simple API on top of hapi.js node framework to provide some endpoints to get the statistics for the period — per day, week or month.

I also made the initial version of the application that build on React Native to provide a simple way to build the distribution of the application for the different platforms and to keep the little codebase.