A real-time IoT telemetry dashboard built with Node.js, Express, Socket.IO, React, MongoDB, and Eclipse Mosquitto (MQTT).
- MQTT Ingestion: Receives sensor data from MQTT topics and stores telemetry in MongoDB.
- Real-Time Socket.IO: Streams live telemetry updates to connected dashboard clients.
- Interactive Dashboard: Dynamically subscribe to topics and visualize sensor data using Recharts line graphs.
- REST API: Fetch historical sensor data, active topic lists, message counts, and cleanup data.
- Frontend: React, Recharts, Socket.IO Client
- Backend: Node.js, Express, Mongoose, Socket.IO, MQTT.js
- Infrastructure: MongoDB, Eclipse Mosquitto (managed via Docker Compose)
device_dashboard/
├── backend/ # Node.js Express server & Socket.IO bridge
├── frontend/ # React visualization dashboard
├── mosquitto/ # MQTT broker configuration
└── docker-compose.yml # Docker setup for MongoDB and Mosquitto
- Node.js (v18+)
- Docker & Docker Compose
Start MongoDB, Frontend, Backend and Mosquitto MQTT broker:
docker-compose up -dFrontend will open at http://localhost:3000.