팻파인더 APP
Requisiti di input: Foto (obbligatoria), nome dell'animale, tipo (cane/gatto, ecc.), razza, colore, caratteristiche (caratteristiche uniche), data e ora della scomparsa/avvistamento, posizione (selezionabile dalla mappa/posizione attuale), informazioni di contatto (telefono/messaggio nell'app), descrizione aggiuntiva.
Elaborazione delle foto: Compressione prima del caricamento + generazione di miniature, rimozione dei dati EXIF (protezione della privacy), supporto per più immagini.
Archiviazione sul server: Caricamento delle immagini su documenti Firestore + Archiviazione (percorso: posts/{postId}/images/{filename}).
B. Feed/Elenco recenti (Feed)
Recenti per primi, distanza (in base alla posizione dell'utente), filtro (tipo/razza/data/hashtag).
Scorrimento a pagina/infinito (utilizzando il cursore di ricerca).
Ogni voce visualizza un riepilogo (miniatura, distanza, ora, stato (scomparso/trovato/chiuso)).
C. Pagina dei dettagli del post
Visualizzazione immagine grande, mappa (pin), informazioni sull'autore (nickname, punteggio di affidabilità), pulsanti di contatto (telefono/SMS/messaggio in-app).
Modifica stato segnalazione: Aperto → In corso → Trovato → Chiuso.
Pulsante "Segnala": modello per l'invio automatico di notifiche/messaggi all'autore al momento della segnalazione.
D. Vista mappa (Mappa)
Integrazione con Google Maps (o Naver Map): raggruppamento di indicatori, filtro.
Visualizza la posizione attuale dell'utente e fornisce indicazioni stradali per raggiungerla (può richiamare app di mappe esterne).
Cliccando su un indicatore si apre un pop-up di riepilogo e si accede alla pagina dei dettagli.
E. Notifica push (Firebase Cloud Messaging)
Le notifiche push vengono inviate agli utenti nelle vicinanze (entro un raggio predefinito) quando viene pubblicato un nuovo post.
Gli utenti possono iscriversi a regioni/argomenti specifici → notifiche personalizzate.
Le notifiche push vengono inviate quando si segnala, si risponde, si chatta o si modifica lo stato.
F. Avvisi basati sulla posizione (Geofencing)
Le notifiche vengono inviate quando una persona scomparsa o un avvistamento viene registrato entro un raggio definito dall'utente (ad esempio, 2 km).
Considerazioni per batteria e privacy: la posizione in background è attiva per il risparmio energetico o facoltativamente abilitata.
G. Autenticazione e profilo utente (Auth)
Auth Firebase: email/password, numero di telefono (o accesso social).
Profilo: nickname, foto del profilo, autorizzazioni di contatto, punteggio di affidabilità (verifica dell'amministratore e feedback della community).
Si consiglia la verifica telefonica (aumenta l'affidabilità del contatto).
H. Sistema di affidabilità e verifica
Flusso di verifica della segnalazione: Approvazione dell'amministratore/Segnalazione della community → Confermato.
Reputazione del segnalante: restrizioni (temporaneamente disattivate) per segnalazioni false ripetute.
Verifica di foto e metadati (rilevamento di immagini duplicate, filtraggio di contenuti dannosi).
I. Messaggi/Contatti in-app
Chat semplice (l'anonimato può essere limitato), chiamata telefonica (esposizione del numero) o link di testo.
Prevenzione dello spam (limite di frequenza dei messaggi).



