Trabajo
UniversidadUniversidad · Gestión de residuos

Di Project & Di Mobile

Plataforma de gestión inteligente de residuos: panel web, app móvil, autenticación y un asistente de reciclaje con IA.

Captura de Di Project & Di Mobile (1/2)
Captura de Di Project & Di Mobile (2/2)
SYSTEM.md

El problema

Gestionar la recolección de residuos exige saber dónde se acumulan y cómo llegar hasta ellos.

Qué construí

Lideré el desarrollo: una API de autenticación en Spring Boot con PostgreSQL y Redis, un servicio en Django que conecta con Gemini, un panel web en React con mapas de calor y una app móvil en React Native.

Resultado

Proyecto universitario liderado de punta a punta, del backend a la app móvil.

Decisiones que importaron

  1. 01

    Datos geográficos primero

    Los mapas de calor con Leaflet y el ruteo se apoyan en la geolocalización de los camiones y los puntos de recolección.

  2. 02

    Autenticación con verificación

    JWT y un código de verificación por correo, guardado en Redis con vencimiento.

  3. 03

    Un asistente con IA

    Un servicio en Django con DRF conecta con Gemini para resolver dudas de reciclaje.

Tecnologías

  • Spring Boot
  • Django
  • React
  • React Native
  • PostgreSQL
  • Redis
  • Gemini

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

HTTPS1Mobile2HTTPSSMTPPersonal de gestiónOpera flota, rutas yanalíticaUsuario móvilUsa la app en campoDiGestión inteligente deresiduosGoogle Gemini[Google Gemini]Modelo del asistenteGmail SMTP[Gmail SMTP]Verificación por correo

Nivel 2 · las aplicaciones y almacenes que lo componen

HTTPS1App2REST · JWT3REST · JWTREST · JWTGPS · STOMP4WebSocket · STOMP5JDBCcodesGemini APIPersonal de gestiónOpera flota, rutas yanalíticaPanel web[React 19 · Leaflet · STOMP]Flota, rutas, personal yanalíticaAPI deautenticación[Spring Boot 3 · Java 21]JWT, roles y verificaciónBase de datos[PostgreSQL]Usuarios y rolesServicio GPS[Java 21 · simulador GPS]Ubicación de camionesAPI del asistente[Django 5 · DRF · SimpleJWT]Chat de reciclaje con IARedis[Redis]Códigos de verificaciónUsuario móvilUsa la app en campoApp móvil[React Native 0.82]Sesiones y ubicaciónGoogle Gemini[Google Gemini]Modelo del asistente

Nivel 3 · los componentes dentro de la API

calls1rulesport2JDBC3portRedisportSMTPControladores[Controllers]Auth, verificación y appsServicios[Services]Autenticación yverificaciónModelo[Model]Usuarios y rolesRepositorios JPA[JPA]Persisten en PostgreSQLBase de datos[PostgreSQL]Usuarios y rolesRepositorio Redis[Redis repository]Códigos con vencimientoRedis[Redis]Códigos de verificaciónEnvío de correo[Mail sender]Código de verificaciónGmail SMTP[Gmail SMTP]Verificación por correo
  • Persona
  • Sistema
  • Contenedor
  • Base de datos
  • Externo
  • Recorrido principal
  1. 01Usuario
  2. 02App móvil
  3. 03Servicio GPS
  4. 04Panel web
  5. 05Mapas de calor

CV

Descarga mi CV

Déjame tu correo y te envío el CV ahí. Primero verifico que el correo es tuyo con un código.