commit 79afadba1b29cac64f89ae5e9a5cbdb8c8b573cd Author: hack_23031391_8ff9d8 <23031391@itcelaya.edu.mx> Date: Sat May 23 02:30:03 2026 +0000 Añadir README.md diff --git a/README.md.-.md b/README.md.-.md new file mode 100644 index 0000000..2a01d0c --- /dev/null +++ b/README.md.-.md @@ -0,0 +1,116 @@ +# HackOnLinces-2026 — Sistema de Notificación Inteligente de Recolección de Residuos + +> **Equipo:** Acapulquitos Boys +> **Problemática:** App móvil de notificación privada de ETA del camión de basura + guía de separación de residuos +> **Stack:** Flutter 3.44 + Python FastAPI + SQLite + WebSocket + +--- + +## 📚 Índice de la Wiki + +### 🏗️ Arquitectura +- [**Visión general del sistema**](arquitectura/00-vision-general.md) — diagrama de módulos y flujos de datos +- [**Arquitectura del backend**](arquitectura/01-backend.md) — Clean Architecture en FastAPI +- [**Arquitectura del frontend**](arquitectura/02-frontend.md) — Feature-first con Riverpod + +### 🚀 Setup y ejecución +- [**Requisitos previos**](setup/00-requisitos.md) — Flutter, Python, Git, FVM +- [**Configurar el backend (Módulo B)**](setup/01-backend.md) — instalar dependencias, correr servidor +- [**Configurar Flutter (Módulos C y D)**](setup/02-frontend.md) — integrar módulos, correr app +- [**Variables de entorno**](setup/03-env.md) — configuración de `.env` para desarrollo + +### 🔌 Contratos de API +- [**Endpoints REST**](api/01-endpoints.md) — GET /eta, POST /alerts/breakdown, etc. +- [**WebSocket**](api/02-websocket.md) — protocolo de eventos en tiempo real +- [**Modelos de datos**](api/03-models.md) — JSON schemas de request/response +- [**Integración entre módulos**](api/04-integracion.md) — cómo Persona A, B, C, D se conectan + +### 🔧 Troubleshooting +- [**Errores comunes**](troubleshooting/01-errores-comunes.md) — CORS, WebSocket, pub get fails +- [**Problemas de versiones**](troubleshooting/02-versiones.md) — Dart SDK, Java, dependencias +- [**Debug del simulador**](troubleshooting/03-debug-simulador.md) — verificar estado del camión + +--- + +## 🎯 Quick Start (5 minutos) + +### Backend (Persona B) +```bash +cd basura_backend +pip install -r requirements.txt +uvicorn app.main:app --reload +# Servidor corriendo en http://localhost:8000 +``` + +### Frontend (Persona C + D) +```bash +cd basura_app +fvm use 3.44.0 # o 3.22.0 si bajaron versión +fvm flutter pub get +fvm flutter run +``` + +### Demo completo +1. Arranca backend → `POST /admin/route/RUTA-01/start` +2. Abre Flutter → navega a `/guia` (módulo D) o home (módulo C) +3. WebSocket conecta automáticamente → recibes notificaciones cada 10s + +--- + +## 👥 División de trabajo + +| Persona | Módulo | Responsabilidad | +|---------|--------|-----------------| +| **A** | Backend Auth | JWT, RBAC, alta de domicilios, validación de zona | +| **B** | Backend Simulador | Ruta, ETA, WebSocket, notificaciones push | +| **C** | Flutter UI principal | Login, home ETA, WebSocket, Riverpod | +| **D** | Flutter Guía offline | Separación de residuos, búsqueda, tema compartido | + +--- + +## 📦 Estructura del repo + +``` +hackathon-acapulquitos-boys/ +├── basura_backend/ # Módulo B — Python FastAPI +│ ├── app/ +│ │ ├── domain/ # Entidades, interfaces +│ │ ├── data/ # Repositories, datasources +│ │ ├── services/ # Simulador, WebSocket Manager +│ │ ├── use_cases/ # Lógica de negocio +│ │ └── api/routes/ # Endpoints REST +│ └── requirements.txt +│ +├── basura_app/ # Flutter (Módulos C + D integrados) +│ ├── lib/ +│ │ ├── core/theme/ # AppTheme compartido (Persona D) +│ │ └── features/ +│ │ ├── auth/ # Login (Persona C) +│ │ ├── eta/ # Home + WebSocket (Persona C) +│ │ └── recycling_guide/ # Guía offline (Persona D) +│ ├── assets/ +│ │ └── recycling_guide.json # 4 categorías de residuos +│ └── pubspec.yaml +│ +└── docs/ # Esta wiki +``` + +--- + +## 🔐 Reglas de Git + +- **Branches:** `feature/`, `bugfix/` +- **PR a `dev`** cuando algo funcione (compila sin errores) +- **Commit cada 30 min** — evita perder trabajo +- **Reunión rápida cada 2 hrs** — sincronizar progreso + +--- + +## 📞 Contacto y soporte + +Si algo falla: +1. Revisa [Errores comunes](troubleshooting/01-errores-comunes.md) +2. Verifica [Versiones](troubleshooting/02-versiones.md) +3. Pregunta en el chat del equipo + +**¡Éxito en el hackathon! 🚀** \ No newline at end of file