Oxaira
AirQ, un sistema de monitoreo de calidad del aire: un dispositivo con ESP32, servicios en Spring Boot, mensajería y apps web y móvil.

El problema
Los datos de los sensores deben llegar a una interfaz comprensible y disparar alertas sin acoplar la captura, el análisis y el aviso.
Qué construí
Un dispositivo ESP32 con sensores DHT11 y MQ135 envía lecturas por HTTP. Servicios Spring Boot separados cubren la analítica y las alertas, las notificaciones y los SMS con Twilio, con apps en Angular y Flutter.
Resultado
Un sistema de servicios independientes, de la placa al teléfono. Documentado a partir de los repositorios del equipo.
Decisiones que importaron
- 01
Un servicio, una responsabilidad
Analítica, notificaciones y SMS son servicios aparte, cada uno con su propia base de datos.
- 02
Dominio de calidad del aire
El servicio de analítica modela lecturas, alertas e insights como agregados, con comandos y consultas separados.
- 03
Mensajería para desacoplar
RabbitMQ lleva las alertas hacia notificaciones, y Kafka se exploró para el flujo de eventos.
Tecnologías
- Spring Boot
- RabbitMQ
- Kafka
- MySQL
- Angular
- Flutter
- ESP32
Modelo C4. La línea con pulso es el recorrido principal de una solicitud.
Nivel 1 · quién usa el sistema y con qué se conecta
Nivel 2 · las aplicaciones y almacenes que lo componen
Nivel 3 · los componentes dentro de la API
- Persona
- Sistema
- Contenedor
- Base de datos
- Externo
- Recorrido principal
- 01Sensor ESP32
- 02Analítica
- 03RabbitMQ
- 04Notificaciones
- 05SMS
- 06App