SmartNode is a modular home automation system that enables users to control and monitor electrical switches remotely through a web application. The system consists of:
- A backend that handles authentication, device management, and communication with IoT nodes.
- A frontend that provides a user-friendly interface for controlling and scheduling smart devices.
- An IoT hardware module that interacts with connected appliances and communicates with the backend via Wi-Fi and MQTT.
✅ Add and manage multiple smart nodes
✅ Toggle devices on/off in real-time
✅ Secure authentication system
✅ IoT hardware programmed in C++ (ESP32/Arduino)
Yeah, I know, using a monorepo for backend, frontend, and hardware together isn’t the most ideal structure for long-term scalability.
But since I’m the only one working on this for now, I kept everything in a single repo to make life simple for myself 🌚.
- Node.js with Express.js (API & device management)
- MongoDB (database for users & devices)
- MQTT & WebSockets (real-time communication)
- React.js (modern UI for device control)
- Redux (state management)
- ESP32/ESP8266 (C++) (Microcontroller for nodes)
- MQTT & REST APIs (Communication protocol)
- Sensors & Relays (For device control)