Este proyecto consta de dos módulos:
una aplicación web, escrita en C# (ASP.Net)
una aplicación de Android, escrita en Java, enlace: https://github.com/vsl700/GPSTrackerOnline
El objetivo de este proyecto es, por ejemplo, ayudar a los padres a rastrear la ubicación de sus hijos. Así es como funciona:
Los dispositivos rastreados (de los niños, por ejemplo) deben tener instalada la aplicación 'GPS Tracker - Online'
Los rastreadores (padres) deben haberse registrado e iniciado sesión en el sistema, ya sea a través del navegador web o la aplicación móvil.
Los rastreadores deben crear registros para los dispositivos rastreados en sus cuentas, ingresando algún tipo de nombre para cada dispositivo rastreado ('Mi hijo', 'Mi esposa', etc.). Cada registro tiene un código de 6 dígitos generado aleatoriamente
Cada dispositivo rastreado debe ingresar inicialmente el código de 6 dígitos correspondiente para poder conectarse con el rastreador.
Los rastreadores pueden ver la ubicación actual de los dispositivos de destino, así como su historial de ubicación.
Cuando no esté en uso, el servicio de seguimiento de la aplicación móvil se puede cancelar para aumentar la duración de la batería.
En caso de que el servicio de seguimiento en el teléfono objetivo no esté funcionando (se haya olvidado activarlo), el rastreador puede enviar un SMS especial al teléfono objetivo, que será detectado por la aplicación móvil y la aplicación activará el servicio.
En caso de que no haya Internet en un dispositivo rastreado, el rastreador puede enviar un SMS especial al teléfono objetivo y, a cambio, recibirá un SMS que contiene:
la ubicación GPS actual, así como el historial de ubicaciones, en caso de que haya un servicio GPS disponible en el teléfono objetivo
la última ubicación GPS detectada, así como el historial de ubicaciones, en caso de que no haya ningún servicio GPS disponible en el teléfono objetivo
El proyecto utiliza 'SignalR' para la conexión websocket (para la ubicación actual) entre el servidor y los dispositivos (navegador y aplicación móvil). La aplicación web utiliza 'MS Sql Server 2019' como base de datos, mientras que la aplicación móvil utiliza 'SQLite'. Los mapas utilizados en la página web y la aplicación móvil son de Google.
En la siguiente imagen puedes ver la forma en que los diferentes dispositivos se conectan a la aplicación web.
(persona que llama = rastreador)
La siguiente imagen muestra la estructura de la base de datos de la aplicación web (todas las tablas tienen una columna 'id' como clave principal)
La siguiente imagen muestra la estructura de la base de datos de la aplicación móvil (la tabla 'Ubicaciones' tiene una columna 'id' como clave principal)
Aquí puedes ver algunas capturas de pantalla de las aplicaciones web y móviles.
'phone1' y 'phone2' están en línea y son visibles en el mapa