4.5 KiB
🚛 EcoTrack Celaya
Sistema de Notificación Inteligente y Privada de Recolección de Residuos
Equipo BioCode · Instituto Tecnológico de Celaya / TecNM
Hackathon Municipal de Innovación Tecnológica 2026
¿Qué es EcoTrack Celaya?
App web progresiva (PWA) que avisa al ciudadano el tiempo estimado de llegada del camión recolector a su colonia — sin mostrar mapas ni exponer rutas de otros vecinos.
Principio central: Privacidad por Diseño — el usuario recibe solo la información que necesita.
🚀 Instalación rápida (primera vez)
Requisitos previos
Pasos
1. Clona el repositorio
git clone https://git.onlinces.net/onlinces/hackathon-biocode-17bf223ba206451da7389a2ef30662b4.git ecotrack-celaya
cd ecotrack-celaya
2. Ejecuta el instalador automático
Haz doble clic en install.bat
(instala todas las dependencias del frontend y backend automáticamente)
3. Arranca el sistema
Haz doble clic en start.bat
(abre el simulador y el frontend en dos terminales)
4. Abre la app en el navegador
http://localhost:5174
📱 Cómo usar la app
- Regístrate con cualquier correo y contraseña
- Selecciona tu colonia al registrarte (Zona Centro, Las Arboledas, Trojes, etc.)
- Ve el Dashboard — el ETA se actualiza cada 10 segundos en modo demo
- Observa el simulador — en la terminal verás cómo el camión avanza nodo a nodo
- Envía un reporte desde la pestaña Reportes — se guarda en Firebase en tiempo real
🏗️ Arquitectura
Servidor Municipal Backend Simulador Frontend PWA
td.celaya.biz:8018 → FastAPI + Python → React + Vite
rutas.json Avanza positionId Dashboard ETA
colonias.json cada 10 seg (demo) Guía offline
notificaciones.json puerto 8000 Reportes
puerto 5174
↓
Firebase
Auth + Firestore
Login + Reportes BD
📁 Estructura del proyecto
proyecto/
├── ecotrack/ ← Frontend React + Vite
│ ├── src/
│ │ ├── api/ ← etaService.js (llama al simulador)
│ │ ├── context/ ← ETAContext.jsx (estado global)
│ │ ├── screens/ ← Dashboard, SeparationGuide, Reports, Login
│ │ ├── components/ ← ETACard, WarningCard, RouteProgress
│ │ ├── data/ ← rutas.json, colonias-rutas.json, notificaciones.json
│ │ └── firebase.js ← configuración Firebase
│ └── package.json
├── simulador-backend/ ← Backend FastAPI
│ ├── main.py ← API + simulador automático
│ ├── rutas.json ← datos de las 15 rutas de Celaya
│ └── requirements.txt
├── start.bat ← Arranca todo con doble clic
├── install.bat ← Instala todo con doble clic
└── README.md
🔧 Comandos manuales (alternativa a los .bat)
Terminal 1 — Simulador:
cd simulador-backend
venv\Scripts\activate
uvicorn main:app --reload --port 8000
Terminal 2 — Frontend:
cd ecotrack
npm run dev
✅ Funcionalidades implementadas
| Funcionalidad | Estado |
|---|---|
| Login y registro seguro (Firebase Auth) | ✅ |
| Dashboard con ETA en tiempo real | ✅ |
| Simulador automático de ruta (Cron Job) | ✅ |
| Progreso de ruta sin mapa ni coordenadas | ✅ |
| Notificaciones push del navegador | ✅ |
| Guía de separación offline (4 categorías) | ✅ |
| Buzón de reportes (Firestore) | ✅ |
| Privacidad por Diseño — sin mapa en vivo | ✅ |
| Datos reales del municipio de Celaya | ✅ |
| PWA compatible iOS y Android | ✅ |
👥 Equipo BioCode
| Nombre | Carrera | Rol |
|---|---|---|
| Pérez González José Carmen | Ing. Sistemas Computacionales | Arquitectura, Backend, Firebase |
| Arce Rodríguez Martin | Ing. Sistemas Computacionales | Frontend React, Integración |
| Aguilar Orosco Briana Itzel | Ing. Biomédica | UX, Guía residuos, Reportes |
| Trejo Jiménez Yohav Shaddai | Ing. Biomédica | Documentación, Testing, Mockups |
Asesor: M.C. López González Luis Alberto
Institución: Instituto Tecnológico de Celaya / TecNM
Fecha: 23 de mayo de 2026