팻파인더 APP
Requisitos de entrada: Foto (obligatoria), nombre de la mascota, tipo (perro/gato, etc.), raza, color, características (rasgos únicos), fecha y hora de la desaparición/avistamiento, ubicación (seleccionar del mapa/ubicación actual), información de contacto (teléfono/mensaje en la aplicación), descripción adicional.
Procesamiento de fotos: Comprimir antes de subir + generación de miniaturas, eliminación de EXIF (protección de la privacidad), admite varias imágenes.
Almacenamiento en servidor: Subir imágenes a documentos de Firestore + almacenamiento (ruta: posts/{postId}/images/{filename}).
B. Feed/Lista recientes (Feed)
Primero recientes, distancia (según la ubicación del usuario), filtro (tipo/raza/fecha/hashtag).
Paginación/desplazamiento infinito (con cursor de consulta).
Cada entrada muestra un resumen (miniatura, distancia, tiempo, estado (desaparecida/encontrada/cerrada)).
C. Página de detalles de la publicación
Vista de imagen grande, mapa (pin), información del autor (apodo, nivel de confianza), botones de contacto (teléfono/mensaje de texto/mensaje en la aplicación).
Cambiar el estado del informe: Abierto → En curso → Encontrado → Cerrado.
Botón "Informe": Plantilla para enviar automáticamente notificaciones/mensajes al autor al informar.
D. Vista del mapa (Mapa)
Integración con Google Maps (o Naver Map): agrupación de marcadores, filtrado.
Muestra la ubicación actual del usuario y proporciona indicaciones para llegar a su ubicación (se puede acceder a aplicaciones de mapas externas).
Al hacer clic en un marcador, se abre una ventana emergente con un resumen que lleva al usuario a la página de detalles.
E. Notificaciones push (Firebase Cloud Messaging)
Se envían notificaciones push a los usuarios cercanos (dentro de un radio establecido) cuando se publica una nueva publicación.
Los usuarios pueden suscribirse a regiones/temas específicos → notificaciones personalizadas.
Se envían notificaciones push al reportar, responder, chatear o cambiar de estado.
F. Alertas basadas en la ubicación (Geofencing)
Se envían notificaciones cuando se registra una persona desaparecida o avistada dentro de un radio definido por el usuario (p. ej., 2 km).
Consideraciones sobre la batería y la privacidad: La ubicación en segundo plano está habilitada o se habilita opcionalmente.
G. Autenticación y perfil del usuario (Auth)
Autenticación de Firebase: Correo electrónico/contraseña, número de teléfono (o inicio de sesión con redes sociales).
Perfil: Apodo, foto de perfil, permisos de contacto, nivel de confianza (verificación del administrador y comentarios de la comunidad).
Se recomienda la verificación telefónica (aumenta la fiabilidad del contacto).
H. Sistema de confianza y verificación
Flujo de verificación de reportes: Aprobación del administrador/Reporte de la comunidad → Confirmado.
Reputación del reportero: Restricciones (ciego temporal) para reportes falsos repetidos.
Verificación de fotos y metadatos (detección de imágenes duplicadas, filtrado de contenido malicioso).
I. Mensajería/Contactos en la app
Chat simple (se puede restringir el anonimato), llamada telefónica (se puede exponer el número) o enlace de texto.
Prevención de spam (se puede limitar la frecuencia de los mensajes).



