Adriano CruzES/EN
Proyectos

SIDRU

Sistema de Incentivos Digitales para el Reciclaje Urbano

Tesis, 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