agrega README e instalador automatico

This commit is contained in:
CarmenGlez20
2026-05-23 09:13:24 -06:00
parent cbf167593b
commit 094095bf72
2 changed files with 204 additions and 0 deletions

143
README.md Normal file
View File

@@ -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

61
install.bat Normal file
View File

@@ -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