Ce projet se compose de deux modules :
une application web, écrite en C# (ASP.Net)
une application Android, écrite en Java, lien : https://github.com/vsl700/GPSTrackerOnline
Le but de ce projet est, par exemple, d'aider les parents à localiser leurs enfants. Voici comment cela fonctionne :
Les appareils suivis (des enfants, par exemple) doivent avoir l'application 'GPS Tracker - Online' installée
Les trackers (parents) doivent s'être enregistrés et connectés au système, soit via le navigateur Web, soit via l'application mobile
Les trackers doivent créer des enregistrements pour les appareils suivis dans leurs comptes, en saisissant une sorte de nom pour chaque appareil suivi (« Mon fils », « Ma femme », etc.). Chaque enregistrement a un code à 6 chiffres généré aléatoirement
Chaque appareil suivi doit dans un premier temps saisir le code à 6 chiffres correspondant pour pouvoir se connecter au tracker.
Les trackers peuvent voir la position actuelle des appareils cibles, ainsi que leur historique de localisation
Lorsqu'il n'est pas utilisé, le service de suivi de l'application mobile peut être interrompu pour augmenter la durée de vie de la batterie
Si le service de suivi sur le téléphone cible n'est pas en cours d'exécution (oublié de l'activer), le tracker peut envoyer un SMS spécial au téléphone cible, qui sera détecté par l'application mobile et l'application activera le service.
S'il n'y a pas d'Internet sur un appareil suivi, le tracker peut envoyer un SMS spécial au téléphone cible, et en retour le tracker recevra un SMS contenant :
la position GPS actuelle, ainsi que l'historique de localisation, au cas où un service GPS serait disponible sur le téléphone cible
la dernière position GPS détectée, ainsi que l'historique de localisation, au cas où aucun service GPS n'est disponible sur le téléphone cible
Le projet utilise 'SignalR' pour la connexion websocket (pour l'emplacement actuel) entre le serveur et les appareils (navigateur et application mobile). L'application Web utilise « MS SQL Server 2019 » comme base de données, tandis que l'application mobile utilise « SQLite ». Les cartes utilisées dans la page Web et dans l'application mobile proviennent de Google.
Sur l'image ci-dessous, vous pouvez voir la manière dont les différents appareils se connectent à l'application Web
(appelant = tracker)
L'image ci-dessous montre la structure de la base de données de l'application Web (toutes les tables ont une colonne 'id' comme clé primaire)
L'image ci-dessous montre la structure de la base de données de l'application mobile (la table 'Locations' a une colonne 'id' comme clé primaire)
Ici vous pouvez voir quelques captures d'écran des applications Web et mobiles
« phone1 » et « phone2 » sont en ligne et visibles sur la carte