Padmanabh Kulkarni
← BACK TO PROJECTS
NESTJSMONGODB

Migcon IoT Platform

Migcon is a multi-tenant IoT device management platform that enables real-time monitoring, alarm management, and sensor data logging from industrial devices. I contributed to the core backend infrastructure building the communication layer between physical IoT devices and the backend system.

CATEGORY: WEB DEVELOPMENT
Migcon IoT Platform

What I Built

  • MQTT Service: A NestJS microservice handling real-time device communication, alarm processing, and sensor data logging via three controllers: Alarms, Sensor readings, and Gateway (device commands)

  • MQTT Broker: configured Eclipse Mosquitto v2 as the message broker handling device-to-server communication with RPC-style acknowledgement and timeout management

  • MongoDB: set up MongoDB 6.0 as the primary database with health checks, volume management, and schema design for devices, alarms, tenants, and sensor logs.

  • Docker: containerized all services using Docker Compose with separate development and production configurations and multi-stage builds for optimized image sizes

  • CI/CD Pipeline: implemented GitHub Actions for automated deployment to production via SSH, triggered on every push to the production branch

Key Features

  • Real-time alarm processing: various severity levels with per-channel threshold configuration across multiple channels per device

  • Automatic retry logic: cron jobs retry alarm configuration every for unresponsive devices

  • Multi-tenant architecture: isolated data per organization with role-based access control

  • ELK Stack integration: Elasticsearch, Logstash, Kibana, and Filebeat for centralized log monitoring

Technologies Used

  • Backend: NestJS, TypeScript, Mongoose, Socket.IO

  • Database: MongoDB 6.0

  • Messaging: Eclipse Mosquitto v2, MQTT protocol

  • DevOps: Docker, Docker Compose, GitHub Actions, NGINX

  • Infrastructure: VPS production server, SSH-based deployment