Oversikt
Dette dokumentet skisserer utviklingen av en mobilapplikasjon designet for å spore brukerens plassering, tid og tilbakelagt distanse. Applikasjonen inkluderer funksjoner for å starte og stoppe sporing, periodisk lagre sporingsdata til en database via en API, og sikrer at data samles inn med jevne mellomrom når sporing er aktiv.
Pakker
Fullført pakkeliste:
@react-native-async-storage/async-storage
@react-native-community/geolocation
@react-native-masked-view/masked-view
@react-navigation/bottom-tabs
@reager-navigasjon/native
@react-navigation/native-stack
@react-navigation/stack
haversine
jwt-dekode
reagere-innfødte-bakgrunnshandlinger
reager-native-background-timer
reager-native-base64
reager-native-diagram-sett
reager-native-sirkulær-fremdriftsindikator
reager-native-geokoding
react-native-geolocation-service
reager-native-gest-handler
reagere-innfødte-begavede-diagrammer
reager-native-image-velger
reager-native-kart
reager-native-tillatelser
reagere-innfødt-reanimert
reagere-native-skjermer
reagere-native-sensorer
reagere-native-shake
reager-native-svg-transformator
reager-native-vektor-ikoner
reager-native-vision-kamera
Motorer
Node.js
Versjon: >=18
Beskrivelse: Applikasjonen krever Node.js versjon 18 eller høyere.
Skjermer og funksjon der
Hjem-skjermen
Hjem-skjermen i applikasjonen fungerer som hovedgrensesnittet for å starte og administrere stedssporingsøkter. Den gir funksjonalitet for å starte og stoppe sporing, vise brukerens nåværende posisjon på et kart og spore medgått tid og distanse som er tilbakelagt i løpet av økten.
Funksjoner
leseData
Beskrivelse: Leser brukerens token fra AsyncStorage for autentiseringsformål.
handleStartTracker
Beskrivelse: Starter sporingsøkten ved å sende en POST-forespørsel til backend API for å begynne å spore brukerens plassering.
handlePauseTracker
Beskrivelse: Setter sporingsøkten på pause ved å sende en POST-forespørsel til backend-API-en for å stoppe sporingen av brukerens plassering midlertidig.
handleUpdateLocations
Beskrivelse: Oppdaterer brukerens nåværende plassering ved å sende en POST-forespørsel til backend API med oppdatert breddegrad, lengdegrad og plasserings-ID.
beregne avstand
Beskrivelse: Beregner avstanden mellom to geografiske koordinater ved hjelp av Haversine-formelen.
startForegroundLocation Updates
Beskrivelse: Begynner å oppdatere brukerens plassering i forgrunnen med jevne mellomrom ved å bruke enhetens geolokaliseringstjeneste.
stopForegroundLocation Updates
Beskrivelse: Slutter å oppdatere brukerens plassering i forgrunnen og sletter intervallet som er satt for plasseringsoppdateringer.
startLocationTracking
Beskrivelse: Starter posisjonssporing ved å starte forgrunnsposisjonsoppdateringer og sette opp en tidtaker for å spore medgått tid.
stopLocationTracking
Beskrivelse: Stopper posisjonssporing ved å stoppe posisjonsoppdateringer i forgrunnen, beregne tilbakelagt distanse og sende de endelige sporingsdataene til backend API.
Tidslinjeskjerm
Funksjoner
leseData
Beskrivelse: Leser brukerens token fra AsyncStorage for autentiseringsformål.
beregneTotalDistance
Beskrivelse: Beregner den totale tilbakelagte distanse basert på data for sporingsøktene.
useEffect
Beskrivelse: Aktiverer readData-funksjonen på komponentmontering for å hente sporingsdata.
Aktivitetsskjerm
Funksjoner
toggleShow1
Beskrivelse: Skifter synligheten til rullegardinmenyen for valg av år.
toggleShow2
Beskrivelse: Skifter synligheten til rullegardinmenyen for valg av måned.
toggleShow3
Beskrivelse: Skifter synligheten til rullegardinmenyen for valg av dag.
settDag
Beskrivelse: Angir den valgte dagen for visning av aktivitetsdata.
settMåned
Beskrivelse: Angir den valgte måneden for visning av aktivitetsdata.
sett år
Beskrivelse: Angir det valgte året for visning av aktivitetsdata.
Profilskjerm
Funksjoner
getToken
Beskrivelse: Henter brukerens autentiseringstoken fra AsyncStorage.
toggleIsLogin
Beskrivelse: Bytter brukerens påloggingsstatus.
toggleUserLoginStatus
Beskrivelse: Bytter brukerens påloggingsstatus og oppdaterer AsyncStorage tilsvarende.