팻파인더 APP
Requisitos de entrada: Foto (obrigatório), nome do animal de estimação, tipo (cachorro/gato, etc.), raça, cor, características (características únicas), data e hora do desaparecimento/avistamento, localização (selecione no mapa/localização atual), informações de contato (telefone/mensagem no aplicativo), descrição adicional.
Processamento de fotos: Compactar antes do upload + geração de miniaturas, remoção de EXIF (proteção de privacidade), múltiplas imagens suportadas.
Armazenamento no servidor: Carregar imagens para documentos do Firestore + Armazenamento (caminho: posts/{postId}/images/{filename}).
B. Feed/Lista Recente (Feed)
Recente primeiro, distância (com base na localização do usuário), filtro (tipo/raça/data/hashtag).
Paginação/rolagem infinita (usando o cursor de consulta).
Cada entrada exibe um resumo (miniatura, distância, hora, status (desaparecida/encontrada/fechada)).
C. Página de Detalhes da Publicação
Visualização de imagem grande, mapa (pin), informações do autor (apelido, índice de confiança), botões de contato (telefone/mensagem de texto/mensagem no aplicativo).
Alterar status do relatório: Aberto → Em andamento → Encontrado → Fechado.
Botão "Denunciar": Modelo para envio automático de notificações/mensagens ao autor ao denunciar.
D. Visualização de Mapa (Mapa)
Integração com o Google Maps (ou Naver Map): agrupamento de marcadores, filtragem.
Exibe a localização atual do usuário e fornece instruções para chegar até ele (pode chamar aplicativos de mapas externos).
Clicar em um marcador abre um pop-up de resumo e leva você para a página de detalhes.
E. Notificação Push (Firebase Cloud Messaging)
Notificações push são enviadas para usuários próximos (dentro de um raio definido) quando uma nova publicação é publicada.
Os usuários podem se inscrever em regiões/tópicos específicos → notificações personalizadas.
Notificações push são enviadas ao denunciar, responder, conversar ou alterar status.
F. Alertas baseados em localização (Geofencing)
Notificações são enviadas quando uma pessoa desaparecida ou avistada é registrada em um raio definido pelo usuário (por exemplo, 2 km).
Considerações sobre bateria e privacidade: A localização em segundo plano está habilitada ou opcionalmente habilitada.
G. Autenticação e perfil do usuário (Aut.)
Aut. do Firebase: E-mail/senha, número de telefone (ou login social).
Perfil: Apelido, foto do perfil, permissões de contato, pontuação de confiança (verificação do administrador e feedback da comunidade).
Verificação por telefone recomendada (aumenta a confiabilidade do contato).
H. Sistema de Confiança e Verificação
Fluxo de Verificação de Relatório: Aprovação do Administrador/Relatório da Comunidade → Confirmado.
Reputação do Denunciante: Restrições (ocultação temporária) para relatos falsos repetidos.
Verificação de Fotos e Metadados (detecção de imagens duplicadas, filtragem de conteúdo malicioso).
I. Mensagens/Contatos no Aplicativo
Chat simples (o anonimato pode ser restrito), chamada telefônica (exposição do número) ou link de texto.
Prevenção de Spam (limite de frequência de mensagens).


