Skip to content

Repository files navigation

React 19TypeScript 6Node.jsPostgreSQLMQTTESP-IDFTailwind CSS 4

ioTech — IoT SaaS Platform

iotech es una plataforma IoT SaaS multi-tenencia completa que conecta dispositivos ESP32 con una dashboard web en tiempo real. Gestiona desde el firmware del dispositivo hasta la visualización de telemetría, con un generador de configuración por IA, sistema de reglas automatizadas y dashboards personalizables.


Stack Tecnológico

CapaTecnología
FrontendReact 19, TypeScript 6, Vite 8, Tailwind CSS 4, Zustand 5
BackendNode.js, Express 5, Knex, PostgreSQL + TimescaleDB
Tiempo RealSocket.IO, MQTT 5
FirmwareESP-IDF 5 (C, FreeRTOS), PlatformIO
IADeepSeek API + rule-based fallback
TestingVitest (frontend), Jest + Supertest (backend), Unity (firmware)

Features

  • Multi-tenencia con Row-Level Security en PostgreSQL
  • Autenticación JWT con access + refresh tokens, roles (installer/admin/super_admin)
  • Dashboard en tiempo real con WebSockets y 9 tipos de widgets (gráficos, gauges, mapas, toggle switches, etc.)
  • Generador de configuración por IA — describe tu dispositivo en lenguaje natural y genera el template, reglas y código
  • Sistema de reglas automatizadas — umbrales, status, cooldown, acciones (relé, comandos, carga)
  • Gestión de dispositivos — CRUD, claim flow, provisioning, OTA updates
  • Firmware ESP32 — 34 drivers de sensores/actuadores, WiFi manager, captive portal, provisioning por serial
  • Internacionalización — 6 idiomas (es, en, de, fr, it, pt)
  • API REST documentada con Swagger/OpenAPI
  • Cobertura de tests >80% en backend, tests unitarios e integración

Arquitectura

ioTech/
├── frontend/ # React 19 SPA
│ ├── src/
│ │ ├── features/ # 13 módulos: auth, devices, dashboard, rules, ai, etc.
│ │ ├── components/# UI components (shadcn/ui)
│ │ ├── stores/ # Zustand stores
│ │ └── providers/ # Socket.IO, theme
│ └── ...
├── backend/ # Node.js + Express API
│ ├── src/
│ │ ├── modules/ # 12 módulos: auth, devices, telemetry, firmware, ai, etc.
│ │ ├── mqtt/ # MQTT client + handlers
│ │ ├── socket/ # WebSocket server
│ │ └── shared/ # DB, middleware, errores, email
│ └── tests/
├── firmware/ # ESP-IDF 5 + PlatformIO
│ ├── components/ # 46 componentes: state machine, drivers, OTA, etc.
│ └── test/ # Unity host tests
└── docs/ # SDD, documentación técnica

Primeros pasos

# Backendcd backend
cp .env.example .env # Configurar DB, MQTT, JWT
npm install
npx knex migrate:latest
npm run dev
# Frontendcd frontend
npm install
npm run dev

Testing

# Backendcd backend && npm test# Frontendcd frontend && npm test# Firmware (host tests)cd firmware && platformio test -e native

Licencia

Private — todos los derechos reservados.

About

ioTech is a scalable multi-tenant IoT SaaS platform built with Node.js and MQTT, designed to support ESP32, ESP8266 and Raspberry Pi devices with secure firmware provisioning and real-time device management.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages