From 094095bf726de1b2d59f2f8f3ac89d0ea4a5a06f Mon Sep 17 00:00:00 2001 From: CarmenGlez20 Date: Sat, 23 May 2026 09:13:24 -0600 Subject: [PATCH] agrega README e instalador automatico --- README.md | 143 ++++++++++++++++++++++++++++++++++++++++++++++++++++ install.bat | 61 ++++++++++++++++++++++ 2 files changed, 204 insertions(+) create mode 100644 README.md create mode 100644 install.bat diff --git a/README.md b/README.md new file mode 100644 index 0000000..634c3f3 --- /dev/null +++ b/README.md @@ -0,0 +1,143 @@ +# 🚛 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 +- [Node.js v18+](https://nodejs.org) +- [Python 3.11+](https://python.org) +- Git + +### Pasos + +**1. Clona el repositorio** +```bash +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 + +1. **Regístrate** con cualquier correo y contraseña +2. **Selecciona tu colonia** al registrarte (Zona Centro, Las Arboledas, Trojes, etc.) +3. **Ve el Dashboard** — el ETA se actualiza cada 10 segundos en modo demo +4. **Observa el simulador** — en la terminal verás cómo el camión avanza nodo a nodo +5. **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:** +```bash +cd simulador-backend +venv\Scripts\activate +uvicorn main:app --reload --port 8000 +``` + +**Terminal 2 — Frontend:** +```bash +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 diff --git a/install.bat b/install.bat new file mode 100644 index 0000000..5e49673 --- /dev/null +++ b/install.bat @@ -0,0 +1,61 @@ +@echo off +echo ============================================ +echo EcoTrack Celaya - Instalador automatico +echo Equipo BioCode - ITC / TecNM 2026 +echo ============================================ +echo. + +:: Verificar Node.js +echo [1/4] Verificando Node.js... +node --version >nul 2>&1 +if %errorlevel% neq 0 ( + echo ERROR: Node.js no esta instalado. + echo Descargalo en https://nodejs.org y vuelve a ejecutar este archivo. + pause + exit /b 1 +) +echo OK - Node.js detectado. + +:: Verificar Python +echo [2/4] Verificando Python... +python --version >nul 2>&1 +if %errorlevel% neq 0 ( + echo ERROR: Python no esta instalado. + echo Descargalo en https://python.org y vuelve a ejecutar este archivo. + pause + exit /b 1 +) +echo OK - Python detectado. + +:: Instalar dependencias del frontend +echo [3/4] Instalando dependencias del frontend (npm install)... +cd /d "%~dp0ecotrack" +call npm install +if %errorlevel% neq 0 ( + echo ERROR al instalar dependencias del frontend. + pause + exit /b 1 +) +echo OK - Frontend listo. + +:: Instalar dependencias del backend +echo [4/4] Instalando dependencias del simulador... +cd /d "%~dp0simulador-backend" +python -m venv venv +call venv\Scripts\activate +pip install fastapi uvicorn +if %errorlevel% neq 0 ( + echo ERROR al instalar dependencias del backend. + pause + exit /b 1 +) +echo OK - Simulador listo. + +echo. +echo ============================================ +echo Instalacion completada exitosamente! +echo Ahora haz doble clic en start.bat +echo y abre http://localhost:5174 +echo ============================================ +echo. +pause