Descripción general
Este documento describe el desarrollo de una aplicación móvil diseñada para rastrear la ubicación, el tiempo y la distancia recorrida del usuario. La aplicación incluye funciones para iniciar y detener el seguimiento, almacenar periódicamente datos de seguimiento en una base de datos a través de una API y garantiza que los datos se recopilen a intervalos regulares cuando el seguimiento está activo.
Paquetes
Lista de paquetes finalizada:
@react-native-async-storage/async-almacenamiento
@react-native-community/geolocalización
@react-native-vista-enmascarada/vista-enmascarada
@ reaccionar-navegación/pestañas-inferiores
@ reaccionar-navegación/nativo
@ reaccionar-navegación/pila nativa
@ reaccionar-navegación/pila
haversina
jwt-decodificar
reaccionar-acciones-en-fondo-nativo
reaccionar-nativo-fondo-temporizador
reaccionar-nativo-base64
kit de gráficos nativos de reacción
reaccionar-indicador-de-progreso-circular-nativo
reaccionar-nativo-geocodificación
reaccionar-servicio-de-geolocalización-nativo
reaccionar-nativo-gesto-manejador
reaccionar-nativo-gráficos-dotados
selector-de-imagen-nativo-de-reacción
reaccionar-mapas-nativo
reaccionar-permisos-nativo
reaccionar-nativo-reanimado
reaccionar-pantallas-nativas
reaccionar-sensores-nativo
reaccionar-sacudida-nativa
reaccionar-nativo-svg-transformador
reaccionar-iconos-vectoriales-nativo
reaccionar-cámara-de-visión-nativa
motores
Nodo.js
Versión: >=18
Descripción: La aplicación requiere Node.js versión 18 o superior.
Pantallas y su función.
Pantalla de inicio
La pantalla de inicio de la aplicación sirve como interfaz principal para iniciar y gestionar sesiones de seguimiento de ubicación. Proporciona funcionalidades para iniciar y detener el seguimiento, mostrar la ubicación actual del usuario en un mapa y realizar un seguimiento del tiempo transcurrido y la distancia recorrida durante la sesión.
Funciones
leer datos
Descripción: Lee el token del usuario de AsyncStorage con fines de autenticación.
manejarStartTracker
Descripción: inicia la sesión de seguimiento enviando una solicitud POST a la API backend para comenzar a rastrear la ubicación del usuario.
manejarPausaTracker
Descripción: Pausa la sesión de seguimiento enviando una solicitud POST a la API backend para detener el seguimiento de la ubicación del usuario temporalmente.
manejarUpdateLocations
Descripción: actualiza la ubicación actual del usuario enviando una solicitud POST a la API de backend con la latitud, longitud e ID de ubicación actualizados.
calcularDistancia
Descripción: Calcula la distancia entre dos coordenadas geográficas utilizando la fórmula de Haversine.
startForegroundUbicaciónActualizaciones
Descripción: Comienza a actualizar la ubicación del usuario en primer plano a intervalos regulares utilizando el servicio de geolocalización del dispositivo.
stopForegroundLocationUpdates
Descripción: deja de actualizar la ubicación del usuario en primer plano y borra el intervalo establecido para las actualizaciones de ubicación.
inicioUbicaciónSeguimiento
Descripción: inicia el seguimiento de la ubicación iniciando actualizaciones de ubicación en primer plano y configurando un temporizador para realizar un seguimiento del tiempo transcurrido.
detener seguimiento de ubicación
Descripción: Detiene el seguimiento de ubicación deteniendo las actualizaciones de ubicación en primer plano, calculando la distancia recorrida y enviando los datos de seguimiento finales a la API de backend.
Pantalla de línea de tiempo
Funciones
leer datos
Descripción: Lee el token del usuario de AsyncStorage con fines de autenticación.
calcularDistanciaTotal
Descripción: Calcula la distancia total recorrida en función de los datos de las sesiones de seguimiento.
usoEfecto
Descripción: Invoca la función readData en el montaje del componente para recuperar datos de seguimiento.
Pantalla de actividad
Funciones
alternarMostrar1
Descripción: Alterna la visibilidad del menú desplegable para seleccionar el año.
alternarMostrar2
Descripción: alterna la visibilidad del menú desplegable para seleccionar el mes.
alternarMostrar3
Descripción: Alterna la visibilidad del menú desplegable para seleccionar el día.
establecer día
Descripción: Establece el día seleccionado para ver los datos de actividad.
establecerMes
Descripción: Establece el mes seleccionado para ver los datos de actividad.
establecer año
Descripción: Establece el año seleccionado para ver los datos de actividad.
Pantalla de perfil
Funciones
obtenerToken
Descripción: recupera el token de autenticación del usuario de AsyncStorage.
alternarIsLogin
Descripción: alterna el estado de inicio de sesión del usuario.
alternar estado de inicio de sesión de usuario
Descripción: alterna el estado de inicio de sesión del usuario y actualiza AsyncStorage en consecuencia.