README Final

This commit is contained in:
2026-05-23 14:24:14 +00:00
parent 31d4d478dc
commit 11335b6d1a

View File

@@ -1,6 +1,6 @@
# Sistema de Seguimiento de Recolección de Basura
Una aplicación Android nativa diseñada para optimizar y transparentar el servicio de recolección de residuos. La app permite a los ciudadanos dar seguimiento en tiempo real a los camiones recolectores basado en las rutas oficiales, gestionar múltiples direcciones, reportar incidencias y recibir alertas automatizadas, adaptando su interfaz según el rol del usuario (Ciudadano o Trabajador).
Una aplicación Android nativa diseñada para optimizar y transparentar el servicio de recolección de residuos. La app permite a los ciudadanos dar seguimiento en tiempo real a los camiones recolectores basado en las rutas oficiales, gestionar múltiples direcciones, reportar incidencias y recibir alertas automatizadas.
---
@@ -8,8 +8,6 @@ Una aplicación Android nativa diseñada para optimizar y transparentar el servi
### Autenticación y Usuarios
* **Firebase Authentication:** Registro e inicio de sesión con email y contraseña.
* **Persistencia de Sesión:** El usuario permanece logueado al abrir y cerrar la app de forma continua.
* **Roles Dinámicos:** Soporte para dos tipos de usuarios (**Usuario común** y **Trabajador**) con almacenamiento de perfil en *Cloud Firestore*.
* **Validación Estricta:** Comprobación de emails válidos, contraseñas seguras (mínimo 6 caracteres) y coincidencia de confirmación.
### Gestión de Direcciones (Múltiples)
@@ -25,7 +23,6 @@ Una aplicación Android nativa diseñada para optimizar y transparentar el servi
* `notificaciones.json`: Reglas operativas para el disparo de alertas.
* **Mecanismo de Polling:** Actualización automática de datos en segundo plano cada 30 segundos (configurable).
* **Visualización en Canvas Custom:** Renderizado gráfico personalizado que dibuja una línea horizontal de paradas con un camión animado que progresa según el tiempo real del dispositivo y los datos del servidor.
* **Detalle Extendido:** Diálogos emergentes con el desglose de paradas y estimaciones horarias por ruta.
### Notificaciones Push Locales
Envío de alertas automáticas contextualizadas con la dirección afectada en tres estados críticos:
@@ -34,8 +31,7 @@ Envío de alertas automáticas contextualizadas con la dirección afectada en tr
3. **Servicio Finalizado** al concluir el recorrido establecido.
### Sistema de Reportes e Incidencias
* **Para Usuarios:** Formulario con asunto y mensaje para reportar fallas en el servicio, guardados en Firestore con marca de tiempo.
* **Panel "CONTROL" (Trabajadores):** Sección exclusiva para el personal donde se listan de forma cronológica (más recientes primero) los reportes enviados por ciudadanos y otros trabajadores de la organización.
* **Para Usuarios:** Formulario con asunto y mensaje para reportar fallas en el servicio.
### Sección Educativa
* Guía de clasificación de residuos en cuatro categorías fundamentales: Orgánico, Inorgánico reciclable, No reciclable y Peligroso.
@@ -48,7 +44,6 @@ Envío de alertas automáticas contextualizadas con la dirección afectada en tr
* **Material Design 3:** Línea gráfica moderna utilizando una paleta de colores verde ecológica acorde a la temática de reciclaje.
* **Menú Lateral Dinámico (Drawer):** Navegación adaptativa según el rol de la cuenta:
* *Menú Usuario:* Agregar dirección, Info de desperdicios, Reportar problema.
* *Menú Trabajador:* Panel de reportes de usuarios y reportes internos de trabajadores.
* **Soporte de Tema:** Compatibilidad total con el Modo Claro y Modo Oscuro nativo del sistema operativo.
* **Identidad:** Header del Drawer personalizado con el nombre y correo electrónico del usuario activo.
@@ -70,8 +65,13 @@ La aplicación está construida siguiendo las mejores prácticas de desarrollo m
---
## ⚙️ Instalación y Configuración Local
## Instalación y Configuración Local
Para compilar este proyecto necesitarás **Android Studio (Ladybug 2024.2.1 o superior)**.
1. **Clona este repositorio:**
2. **Abrir Android Studio**
3. **Abrir la carpeta del proyecto**
4. **Conectar tu dispositivo android (Mediante opciones de desarrollador y depuracion USB) o descargar un emulador**
5. **Ejecutar (con boton de play en la parte superior)**
6. **Esperar a que se importe lo que requiera**