How iot-ahmad/iot-saas-dashboard works
IOT365 is a cloud IoT dashboard and developer community. Users authenticate, configure workspaces and a customizable device-control grid, then exchange commands and sensor updates with hardware over MQTT; cloud storage holds identity and configuration rather than the live message stream. The product also includes automation and monitoring views, circuit-design/project-publishing tools, and developer messaging. The workflow and integrations follow the README and sampled files; several feature modules were not sampled, so their internal wiring is left unspecified.
Main entry points: App.jsx Application Router · useAuth.js Authentication · useMqtt.js MQTT Connection · ProjectPublisher.jsx Project Publisher
Components 23
Dashboard & Control
- Application Router
src/App.jsx - Sign-in Page
src/components/AuthPage.jsx - Universal Controller
src/components/UniversalController.jsx - MQTT Connection
src/hooks/useMqtt.js - Device & Ops Views
src/components/ToolViews.jsx - Device Simulator
src/components/SimulatorView.jsx - Automation Rules
src/components/ToolViews.jsx
Cloud Services
- Authentication
src/hooks/useAuth.js - Firebase Auth
- Cloud Firestore
- HiveMQ Broker
- Firebase Client
src/firebase.js
Community Hub
- Project Feed
src/components/ProjectFeed.jsx - Project Publisher
src/components/ProjectPublisher.jsx - Project Details
src/components/ProjectDetail.jsx - Direct Messaging
src/context/MessagingContext.jsx - Image Upload
src/lib/cloudinaryUpload.js
Design & Guidance
- Circuit Builder
src/components/ui/WiringBuilder.jsx - Hardware Catalog
src/data/componentDatabase.js - Developer Guide
src/components/DeveloperGuide.jsx
Other components
- Developer
- ESP32 Devices
- Cloudinary
Connections 30
- Developer → Application Router: uses
- Application Router → Sign-in Page: routes
- Application Router → Authentication: manages identity
- Sign-in Page → Authentication: requests sign-in
- Authentication → Firebase Auth: authenticates
- Authentication → Cloud Firestore: reads/writes profile
- Application Router → Cloud Firestore: stores workspaces
- Application Router → Universal Controller: opens workspace
- Universal Controller → Cloud Firestore: syncs layout
- Application Router → MQTT Connection: connects device state
- MQTT Connection → HiveMQ Broker: publishes/subscribes
- ESP32 Devices → HiveMQ Broker: publishes/subscribes
- MQTT Connection → Application Router: updates state
- Application Router → Device & Ops Views: routes operations
- Application Router → Device Simulator: routes simulation
- Application Router → Automation Rules: runs automations
- Developer → Project Feed: browses
- Application Router → Project Feed: routes hub
- Project Feed → Project Details: opens project
- Application Router → Project Publisher: routes publishing
- Project Publisher → Image Upload: uploads images
- Image Upload → Cloudinary: stores media
- Developer → Direct Messaging: messages developers
- Direct Messaging → Cloud Firestore: syncs conversations
- Project Publisher → Cloud Firestore: stores projects
- Developer → Circuit Builder: designs circuit
- Circuit Builder → Hardware Catalog: uses catalog
- Developer → Developer Guide: reads guidance
- Developer Guide → Universal Controller: explains device setup
- Application Router → Firebase Client: uses client