agrega README e instalador automatico
This commit is contained in:
143
README.md
Normal file
143
README.md
Normal 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
61
install.bat
Normal 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
|
||||
Reference in New Issue
Block a user