IoT Web App Solution for Remote Monitoring and Management

Industry

Healthcare, Chronic care management

Technologies

NodeJS, Angular, TypeScript,REST ,SOAP,Web Services

Client Requirements

The client from the US aimed to create user-friendly applications to access IoT devices online. The objective was to enable remote monitoring via a dedicated internet and 4G LTE wireless technology-based console to assist customers during emergency outages.

Thinkitive Solution

Thinkitive Technologies formed a team of experts and architects to develop a web application with backend services utilizing REST APIs. The team employed WebSockets to establish connections between devices and servers, enabling real-time data display of the devices.

Architecture Diagram for IoT Web App Solution for Remote Monitoring and Management

Solution Highlights

  • To ensure secure communication between the IoT devices and the web application, WebSocket traffic is protected using Transport Layer Security (TLS), which encrypts transmitted data to prevent unauthorized access or alteration.

  • To handle high volumes of incoming data from multiple IoT devices, the backend server employs a combination of Node.js and Redis, a high-performance, in-memory database. This setup enables fast and efficient real-time data processing and storage, ensuring data can be retrieved quickly.

  • The backend's REST API, built using the Express.js framework, enables the easy creation of RESTful routes and HTTP request/response handling.

  • The backend's WebSocket API is implemented using the lightweight and efficient WS library, which provides a WebSocket server implementation.

  • The server uses a clustered architecture with multiple worker processes, which distributes incoming requests across multiple CPU cores, enhancing performance and scalability.

  • Nginx, a reverse proxy and load balancer, distributes incoming requests across multiple backend server instances. This setup ensures that requests are handled efficiently, allowing the backend to handle high traffic volumes.

  • Kafka facilitates scalable and fault-tolerant data exchange between the IoT devices and the backend server. Kafka's publish-subscribe messaging model ensures that messages are not lost at high volumes.

  • To provide secure and reliable online payment processing, the application integrates with Stripe. Stripe's payment processing API handles payment transactions, ensuring that payments are processed securely and reliably.

  • Raspberry Pi devices act as WebSocket clients, exchanging data between the IoT devices and the WebSocket server. The communication is developed using Python, which allows easy integration with the GPIO pins and sensors on the Raspberry Pi.

Value Delivered

  • Businesses can centrally manage multiple customers and devices using the solution's multi-tenancy support.

  • The web terminal allows customers to remotely access and manage their connected devices, offering flexibility and convenience.

  • The solution's scalability and fault tolerance combination ensures that end-users never lose their data, providing them with peace of mind and reliable service.

  • End-users can manage and provision their devices through the solution, providing control and flexibility over their IoT infrastructure.

  • Rich IoT dashboards and real-time data displays enable end-users to gain insights into their data and make informed decisions.

  • Users can set up data rule chains to receive alerts and automatically take actions based on telemetry, attribute updates, inactivity, and user actions.

  • The ticketing feature allows customers to raise complaints or issues about a service, enabling the tech support team to prioritize and resolve issues quickly.

  • End-users can purchase subscription plans through the online payment feature, providing a simple and secure way to access IoT applications and services.

  • The over-the-air firmware upgrade feature enables end-users and support technicians to upgrade device firmware from the application dashboard, reducing downtime and increasing efficiency.

Tools & Technologies

  • Frontend Tech: HTML, CSS, JavaScript, Angular

  • Backend Tech: NodeJS

  • AWS Services: RDS, S3, CloudFront, Route53, API Gateway, Lambda, ECS, EC2, SES, CloudWatch, CloudFormation

  • Misc: Git, GitHub, Docker, Docker Compose, SonarCloud