1
README.md
hack_23031391_8ff9d8 edited this page 2026-05-23 02:30:03 +00:00

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

🚀 Setup y ejecución

🔌 Contratos de API

🔧 Troubleshooting


🎯 Quick Start (5 minutos)

Backend (Persona B)

cd basura_backend
pip install -r requirements.txt
uvicorn app.main:app --reload
# Servidor corriendo en http://localhost:8000

Frontend (Persona C + D)

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/<nombre>, bugfix/<nombre>
  • 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
  2. Verifica Versiones
  3. Pregunta en el chat del equipo

¡Éxito en el hackathon! 🚀