Этот проект состоит из двух модулей:
веб-приложение, написанное на C# (ASP.Net)
приложение для Android, написанное на Java, ссылка: https://github.com/vsl700/GPSTrackerOnline
Цель этого проекта, например, помочь родителям отслеживать местонахождение своих детей. Вот как это работает:
На отслеживаемых устройствах (например, детских) должно быть установлено приложение «GPS Трекер – Онлайн».
Трекеры (родители) должны зарегистрироваться и войти в систему через веб-браузер или мобильное приложение.
Трекеры должны создавать записи об отслеживаемых устройствах в своих учетных записях, вводя какое-то имя для каждого отслеживаемого устройства («Мой сын», «Моя жена» и т. д.). Каждая запись имеет случайно сгенерированный 6-значный код.
Каждое отслеживаемое устройство должно изначально ввести соответствующий 6-значный код, чтобы иметь возможность подключиться к трекеру.
Трекеры могут видеть текущее местоположение целевых устройств, а также историю их местоположений.
Когда служба отслеживания мобильного приложения не используется, ее можно отключить, чтобы продлить срок службы батареи.
В случае, если служба отслеживания на целевом телефоне не запущена (забыли ее включить), трекер может отправить на целевой телефон специальное SMS-сообщение, которое будет обнаружено мобильным приложением, и приложение включит услугу.
В случае отсутствия интернета на отслеживаемом устройстве трекер может отправить на целевой телефон специальное SMS, а в ответ трекер получит SMS, содержащее:
текущее местоположение GPS, а также историю местоположений, если на целевом телефоне доступна служба GPS
последнее обнаруженное местоположение GPS, а также историю местоположений, если на целевом телефоне нет службы GPS
Проект использует SignalR для соединения через веб-сокет (для текущего местоположения) между сервером и устройствами (браузер и мобильное приложение). Веб-приложение использует MS Sql Server 2019 в качестве базы данных, тогда как мобильное приложение использует SQLite. Карты, используемые на веб-странице и в мобильном приложении, предоставлены Google.
На рисунке ниже вы можете увидеть, как разные устройства подключаются к веб-приложению.
(звонящий = трекер)
На рисунке ниже показана структура базы данных веб-приложения (все таблицы имеют столбец «id» в качестве первичного ключа).
На рисунке ниже показана структура базы данных мобильного приложения (таблица «Местоположения» имеет столбец «id» в качестве первичного ключа).
Здесь вы можете увидеть несколько скриншотов веб- и мобильных приложений.
«Телефон1» и «Телефон2» онлайн и видны на карте.