Система трекинга Drivers-map (Web + Android)
Карта водителей в реальном времени для такси и доставки: Android-приложение, статусы и лёгкий серверный backend. Система состоит из двух взаимосвязанных частей: веб-приложения на Vercel с API и Redis, и Android-приложения на Capacitor. Веб-интерфейс отображает всех водителей на карте и управляет именем и статусом. Android-приложение надёжно отправляет GPS-координаты в фоне через foreground-service. Бэкенд объединяет данные в единый профиль водителя и обеспечивает актуальную карту в реальном времени.
Исходная ситуация и цель
Такси-компании нужна была простая система, чтобы в реальном времени видеть, где находятся водители, и свободны они или заняты – без дорогих комплексных решений и без сложных внешних платформ. Раньше всё строилось на звонках и ручной координации.
Решение и архитектура
Web-фронтенд (карта водителей)
- Карта с маркером для каждого водителя (позиция, имя, статус).
- Онлайн-обновление координат через Heartbeat-API, без ручной перезагрузки страницы.
- Список водителей рядом с картой со статусом «свободен / занят».
Backend и хранение данных
- Serverless-функции на Vercel (API /api/heartbeat, /api/list, /api/status).
- Upstash Redis для краткосрочного хранения координат с TTL.
- Объединение координат (Android-приложение) с именем/статусом (веб-фронтенд) в единый профиль водителя.
Android-приложение (Capacitor WebView)
- WebView с тем же интерфейсом, что и в браузере — единая UX для водителей.
- Foreground-сервис для отправки координат на Heartbeat-API.
- Для каждого устройства создаётся отдельный driverId (UUID), чтобы водители не перезаписывали друг друга.
Текущий статус и дальнейшие шаги
Система уже используется в реальной среде. Сейчас я дорабатываю стабильную передачу координат в фоне на Android (особенно Android 14+), чтобы обновления не прерывались при погашенном экране.
Скачать приложение и протестировать
Тестовая версия Android-приложения позволяет увидеть систему в действии: GPS-координаты передаются в фоне, а диспетчер получает актуальное положение водителей на карте.
Устанавливается только на Android. Для теста может потребоваться временно включить установку из неизвестных источников.