Panoramica
Questo documento descrive lo sviluppo di un'applicazione mobile progettata per monitorare la posizione, il tempo e la distanza percorsa dell'utente. L'applicazione include funzionalità per avviare e interrompere il monitoraggio, archiviare periodicamente i dati di monitoraggio in un database tramite un'API e garantisce che i dati vengano raccolti a intervalli regolari quando il monitoraggio è attivo.
Pacchetti
Elenco dei pacchetti finalizzati:
@react-native-async-storage/async-storage
@react-native-community/geolocalizzazione
@react-native-masked-view/masked-view
@react-navigation/bottom-tabs
@react-navigazione/nativo
@react-navigation/native-stack
@react-navigazione/stack
Haversine
jwt-decodifica
azioni-react-native-in background
timer-react-nativo-in-fondo
reagire-nativo-base64
kit grafico-nativo-react
indicatore-di-progresso-circolare-nativo-reattivo
geocodifica-react-nativa
servizio-di-geolocalizzazione-nativo-react
gestore-gesti-nativo-reattivo
grafici react-nativi-dotati
react-native-image-picker
react-native-maps
permessi-nativi-reattivi
reagire-nativo-rianimato
schermi react-nativi
sensori reattivi-nativi
reagire-nativo-agitare
trasformatore react-native-svg
icone-vettoriali-native-react
fotocamera react-native-vision
Motori
Node.js
Versione: >=18
Descrizione: l'applicazione richiede Node.js versione 18 o successiva.
Schermi e funzioni
Schermata iniziale
La schermata Home nell'applicazione funge da interfaccia principale per l'avvio e la gestione delle sessioni di rilevamento della posizione. Fornisce funzionalità per avviare e interrompere il rilevamento, visualizzare la posizione corrente dell'utente su una mappa e tenere traccia del tempo trascorso e della distanza percorsa durante la sessione.
Funzioni
readData
Descrizione: legge il token dell'utente da AsyncStorage a scopo di autenticazione.
handleStartTracker
Descrizione: avvia la sessione di monitoraggio inviando una richiesta POST all'API di backend per iniziare a monitorare la posizione dell'utente.
handlePauseTracker
Descrizione: mette in pausa la sessione di monitoraggio inviando una richiesta POST all'API di backend per interrompere temporaneamente il monitoraggio della posizione dell'utente.
handleUpdateLocations
Descrizione: aggiorna la posizione corrente dell'utente inviando una richiesta POST all'API back-end con latitudine, longitudine e ID posizione aggiornati.
calcolareDistanza
Descrizione: Calcola la distanza tra due coordinate geografiche utilizzando la formula Haversine.
startForegroundLocationUpdates
Descrizione: Inizia ad aggiornare in primo piano la posizione dell'utente a intervalli regolari utilizzando il servizio di geolocalizzazione del dispositivo.
stopForegroundLocationUpdates
Descrizione: interrompe l'aggiornamento della posizione dell'utente in primo piano e cancella l'intervallo impostato per gli aggiornamenti della posizione.
startLocationTracking
Descrizione: avvia il rilevamento della posizione avviando gli aggiornamenti della posizione in primo piano e impostando un timer per tenere traccia del tempo trascorso.
stopLocationTracking
Descrizione: interrompe il monitoraggio della posizione interrompendo gli aggiornamenti della posizione in primo piano, calcolando la distanza percorsa e inviando i dati di monitoraggio finali all'API backend.
Schermata della sequenza temporale
Funzioni
readData
Descrizione: legge il token dell'utente da AsyncStorage a scopo di autenticazione.
calcolare la distanza totale
Descrizione: Calcola la distanza totale percorsa in base ai dati delle sessioni di tracciamento.
useEffect
Descrizione: richiama la funzione readData sul montaggio del componente per recuperare i dati di tracciamento.
Schermata delle attività
Funzioni
attiva/disattivaMostra1
Descrizione: Attiva/disattiva la visibilità del menu a tendina per la selezione dell'anno.
attiva/disattivaMostra2
Descrizione: Attiva/disattiva la visibilità del menu a tendina per la selezione del mese.
attiva/disattivaMostra3
Descrizione: Attiva/disattiva la visibilità del menu a tendina per la selezione del giorno.
setDay
Descrizione: Imposta il giorno selezionato per la visualizzazione dei dati dell'attività.
setMonth
Descrizione: imposta il mese selezionato per la visualizzazione dei dati sull'attività.
setYear
Descrizione: Imposta l'anno selezionato per la visualizzazione dei dati sull'attività.
Schermata del profilo
Funzioni
getToken
Descrizione: recupera il token di autenticazione dell'utente da AsyncStorage.
attiva/disattivaIsLogin
Descrizione: attiva/disattiva lo stato di accesso dell'utente.
attiva/disattiva lo stato di accesso dell'utente
Descrizione: attiva/disattiva lo stato di accesso dell'utente e aggiorna AsyncStorage di conseguenza.
Ultimo aggiornamento
4 mar 2026