Кейс:
SmartETA
Интеллектуальная система мониторинга и прогнозирования движения пассажирского транспорта
О проекте
Smart ETA — это комплексная информационная система для мониторинга и прогнозирования движения пассажирского транспорта в режиме реального времени. Платформа предназначена для сбора, обработки и визуализации данных о перемещении транспортных средств на маршрутах, а также для расчета прогнозируемого времени прибытия транспорта (ETA — Estimated Time of Arrival).
Система выступает в роли центрального технологического контура, объединяющего данные из различных источников, включая телематические системы транспорта, GPS-трекеры и инфраструктурные сервисы. Основная задача платформы — обеспечить прозрачность движения транспорта, автоматизировать диспетчеризацию и предоставить пассажирам достоверную информацию о времени прибытия транспортных средств.
Smart ETA создаёт единую цифровую среду управления транспортными потоками и обеспечивает интеграцию с картографическими сервисами, диспетчерскими интерфейсами и аналитическими инструментами.
Проблематика и контекст разработки
До внедрения системы процессы контроля движения общественного транспорта были разрозненными и в значительной степени зависели от ручного управления.
Основные проблемы существующей инфраструктуры заключались в следующем:
– Отсутствие централизованного мониторинга
Данные о движении транспорта поступали из различных источников и не были объединены в единую систему. Это приводило к тому, что диспетчерские службы работали с фрагментированной информацией и не могли оперативно анализировать транспортную ситуацию.
– Неточный прогноз прибытия транспорта
Отсутствие алгоритмов прогнозирования приводило к тому, что информация о времени прибытия транспорта либо отсутствовала, либо рассчитывалась приблизительно.
– Высокая нагрузка на диспетчерские службы
Пассажиры и операторы регулярно обращались за информацией о движении транспорта, что увеличивало нагрузку на диспетчерские центры.
– Ограниченные возможности аналитики
Перевозчики и органы управления транспортной системой не имели инструментов для анализа пассажиропотока, эффективности маршрутов и транспортных задержек.
Таким образом, клиенту требовалась технологическая система, способная:
- централизовать данные о движении транспорта
- автоматизировать расчет ETA
- обеспечить визуализацию транспорта на карте
- предоставить инструменты управления маршрутами
- масштабироваться при росте количества транспортных средств и маршрутов.
Архитектура системы
Архитектура Smart ETA была спроектирована как централизованная веб-платформа, состоящая из серверной части, клиентского интерфейса и инфраструктурного слоя.
Система включает три ключевых уровня:
1. Backend-слой — обработка данных и бизнес-логика
2. Frontend-слой — интерфейсы управления и визуализации
3. Инфраструктура и DevOps — обеспечение стабильности и масштабируемости
Такой подход позволяет разделить вычислительную нагрузку, обеспечить модульность системы и упростить дальнейшее развитие функциональности.
Backend: серверная логика системы
Серверная часть платформы реализует ключевую бизнес-логику системы и отвечает за обработку всех поступающих данных.
Основные задачи backend-сервиса:
- прием и обработка данных о движении транспорта
- расчет ETA с учетом текущего положения транспорта
- управление маршрутами и остановками
- управление пользователями и ролями
- взаимодействие с внешними сервисами
- предоставление API для фронтенд-клиента.
В архитектуре backend реализованы сервисы, обеспечивающие:
1. Обработку телематических данных
Система принимает координаты транспортных средств, поступающие от GPS-трекеров или интеграционных сервисов.
Данные проходят несколько этапов обработки:
- валидация данных
- нормализация координат
- сопоставление с маршрутом
- обновление позиции транспортного средства в системе.
2. Расчет ETA
Алгоритм ETA рассчитывает прогнозируемое время прибытия транспорта на следующую остановку на основе:
- текущего положения транспортного средства
- расстояния до остановки
- средней скорости движения
- данных о предыдущих перемещениях.
Это позволяет формировать динамический прогноз времени прибытия транспорта.
3. Управление маршрутами
Система хранит информацию о маршрутах, остановках и последовательности движения транспорта.
Backend обеспечивает:
- создание и редактирование маршрутов
- привязку транспортных средств к маршрутам
- отслеживание текущего положения транспорта относительно маршрута.
4. Управление пользователями
Административный интерфейс позволяет управлять ролями и правами доступа пользователей системы.
Это позволяет разделить доступ между:
- администраторами системы
- диспетчерами
- операторами транспортных компаний.
Технологический стек backend
Backend реализован на основе следующих технологий:
- PHP
- Laravel
Laravel используется как основной фреймворк, обеспечивающий:
- маршрутизацию API
- ORM-слой для работы с базой данных
- систему очередей и задач
- управление авторизацией и ролями.
Административная панель системы построена на базе Filament, что позволяет быстро создавать интерфейсы управления данными.
Для мониторинга и контроля стабильности системы используются:
- Sentry — отслеживание ошибок
- Horizon — управление очередями и мониторинг фоновых задач.
Система интегрирована с Yandex Maps API, который используется для работы с картографическими данными и отображения маршрутов.
Frontend: интерфейс и визуализация данных
Frontend-часть платформы реализована как веб-приложение, обеспечивающее интерактивную визуализацию данных о транспорте.
Основные функции пользовательского интерфейса:
- отображение транспорта на карте
- отображение ETA
- управление маршрутами
- работа с диспетчерскими инструментами
- управление пользователями и настройками системы.
Пользовательский интерфейс ориентирован на диспетчеров и операторов транспортных служб.
Технологический стек frontend
Frontend реализован с использованием современных веб-технологий:
- TypeScript
- Nuxt.js (Vue-фреймворк)
Nuxt используется для построения клиентского приложения с модульной архитектурой.
Дополнительно используются следующие библиотеки:
- vue-yandex-maps — интеграция с картографическим API
- dayjs — работа с датами и временем
- nuxt-ui — компоненты интерфейса.
Frontend обеспечивает:
- отображение транспортных средств на карте
- визуализацию маршрутов
- отображение ETA
- работу с пользовательскими интерфейсами управления системой.
Инфраструктура и DevOps
Для обеспечения стабильности системы и возможности масштабирования была реализована инфраструктура на основе контейнеризации и CI/CD.
Основные инструменты:
- Docker — контейнеризация приложения
- GitLab CI/CD — автоматизация сборки и деплоя
- Timeweb — инфраструктурный хостинг.
CI/CD-процессы позволяют автоматически:
- собирать приложение
- запускать тесты
- разворачивать новые версии системы.
Дополнительно реализована система логирования и мониторинга для отслеживания производительности и ошибок.
Проектирование архитектуры
Команда разработала архитектуру системы, способную обрабатывать большой объем телематических данных и обеспечивать стабильную работу платформы.
Разработка backend-части
Была реализована бизнес-логика системы, включая обработку данных транспорта, расчет ETA и управление маршрутами.
Интеграция картографических сервисов
Система была интегрирована с картографическим API для отображения маршрутов и транспорта.
Разработка пользовательского интерфейса
Был создан интерфейс диспетчерской системы с возможностью мониторинга транспорта.
Настройка инфраструктуры
Реализована инфраструктура CI/CD и контейнеризация системы.
Оптимизация и внедрение
Была проведена оптимизация системы для обработки больших объемов данных. Перед запуском система прошла комплексное тестирование и была развернута в рабочей среде.
Результаты внедрения
В результате разработки Smart ETA была создана полноценная технологическая платформа для управления пассажирским транспортом.
Система позволила:
- обеспечить прозрачность движения транспорта
- повысить точность прогнозирования времени прибытия
- снизить нагрузку на диспетчерские службы
- предоставить операторам инструменты аналитики
- создать основу для дальнейшего развития транспортных сервисов.
Значение проекта
Smart ETA является масштабируемой технологической платформой, которая может быть использована как базовая инфраструктура для цифровизации транспортной системы.
Система объединяет данные о транспорте, алгоритмы прогнозирования и инструменты управления, создавая единый технологический контур управления транспортными потоками.
Это позволяет регионам повышать эффективность транспортной инфраструктуры, улучшать качество обслуживания пассажиров и формировать основу для развития интеллектуальных транспортных систем.









