IoT Device Monitoring and Orchestration
A refreshing IoT platform!
A personal project built by
Andrew Moss
- RealTime Device Information: Accurate and up to date info and analytics
- Scalable: Built with Docker, CosmosDB, and NGINX for scalability and resilience
- Modular: Microservices architecture
- Current: Built with modern cloud tooling and design patterns
Iced IoT is a low overhead and robust IoT solution. The user can add facilities and devices of any variety to the IoT hub with minimal configuration. Added devices are instantly visible on the web app for tracking and analytics.
The platform is a series of microservices that can be independently scaled and maintained. The entire platform is written in JavaScript with heavy use of non-blocking async code. The React front end is an MVC-style app employing the presentation/container pattern. All application services are dockerized and running as container instances in Azure. Continuous integration and delivery are handled by CircleCI.
- Express API's - Backend structure for the React frontent
- Azure Function App - Re-directing IoT hub messages into CosmosDB
- IoT Devices - Simulated IoT devices and facilities
- React - Frontend Framework
- NGINX - Webserver
- Docker - Container platform
- Azure IoT Hub - Two way IoT device communication
- Azure Functions - Serverless compute
- CosmosDB - Globally distributed, multi-model database service
- Node.js - JavaScript runtime
- Express.js - Node.js web application framework
- CircleCI - Continuous integration and delivery service