SIDRU
Sistema de Incentivos Digitales para el Reciclaje UrbanoTesis, UPC, 2025 – 2026
Un contenedor inteligente que reconoce y pesa el material reciclado y devuelve al usuario una recompensa en un token real, con la operación registrada en cadena.
El problema
El reciclaje urbano rara vez ofrece un incentivo inmediato y verificable, y eso mantiene baja la participación.
Mi rol
Diseñé e integré el backend y orquesté la comunicación entre el contenedor, la base de datos, la blockchain y la app móvil.
Funcionalidades
- Detección y pesaje del material con sensores en el ESP32.
- Publicación de las lecturas hacia el backend por MQTT.
- Validación y persistencia de cada operación en PostgreSQL.
- Registro del valor en un token ERC-20 sobre Polygon con Web3j.
- App en Flutter con escaneo de QR y consulta de la recompensa.
Arquitectura
El firmware del ESP32 publica las lecturas de sensor y de sesión por MQTT. La API en Spring Boot (Java 21, DDD, JWT) consume y procesa esos mensajes, persiste en PostgreSQL e integra un token ERC-20 sobre Polygon mediante Web3j. La app en Flutter se comunica con la API y maneja el QR y la entrega de la recompensa. Todo corre en una VM de Azure con Docker.
Retos
Lograr que hardware, backend y blockchain operaran como un solo flujo confiable, con autenticación JWT y un despliegue reproducible en Docker sobre Azure.
Resultado
Sistema funcional de extremo a extremo, gestionado con Scrum en cuatro sprints.
Stack
Java 21, Spring Boot, PostgreSQL, MQTT, Docker, Azure, JWT, DDD, Web3j, Polygon, Flutter, ESP32
GitHub