Разработка системы GPS-мониторинга, которая улучшает удобство работы пользователей и упрощает отслеживание и управление транспортными активами:
Создание интуитивно понятной и логически структурированной архитектуры с новым функционалом, без необходимости перестраивать всю существующую систему клиента с нуля.
Разработка нового фронтенда, аналогичного системе Wialon, для сохранения пользовательского опыта, а также его интеграция с бэкэндом, построенным на системе Traccar (Траккар).
Клиент был убежден, что будущее приложение может значительно выиграть от более интуитивно понятного и логически структурированного интерфейса. Поэтому он обратился к нам с просьбой разработать новую версию своего приложения. Одним из основных пожеланий было использовать в качестве примера фронтенда существующую систему Wialon (платформа для GPS/ГЛОНАСС-мониторинга и управления автопарком) и интегрировать фронтенд с бэкендом Traccar (бесплатная система GPS-слежения с открытым исходным кодом). Клиент отдал предпочтение серверу Traccar из-за его функциональности и популярности (более 140 компаний по всему миру уже используют Traccar).
Обширный опыт работы в логистике и наблюдения клиента стали важной отправной точкой для дальнейшего анализа этих систем и помогли нам сформулировать видение будущих улучшений в соответствии с его требованиями. В ходе совместного обсуждения мы выяснили следующее:
После тщательного анализа рынка и сбора требований заказчика мы предложили решение: создать новый фронтенд (улучшенный вариант — Wialon) и адаптировать его к бэкенду Traccar. Такой подход позволяет нам интегрировать лучшие практики и создать логически улучшенную архитектуру, не перестраивая существующие системы с нуля.
Чтобы полностью понять цели нашего клиента и достичь ожидаемого результата, мы работали в тесном сотрудничестве и постоянно поддерживали обратную связь. Тщательный анализ возможностей реализации фронтенда и кастомизации бэкенда Traccar помогли нашей команде получить полную картину о том, с чем мы будем работать.
Чтобы понять, как мы можем успешно реализовать все запланированные на фронтенде изменения и адаптировать их к бэкенду, наши разработчики и бизнес-аналитики исследовали существующий бэкенд Traccar. Например, нам нужно было сопоставить доступные поля из Traccar с полями Wialon. В некоторых случаях мы создавали отсутствующие поля в виде дополнительных настраиваемых полей.
Работа с бэкендом Traccar дала нам ценный опыт. Были ситуации, когда мы обращались к команде Traccar для внесения некоторых изменений в бэкенд:
Перед нами стояли сложные и многогранные задачи, а требования заказчика к новой системе GPS мониторинга автотранспорта были высокими. Мы создали интуитивно понятный и логически структурированный интерфейс, аналогичный Wialon, и интегрировали его с мощным бэкэндом Traccar, не перестраивая существующую систему с нуля.
Необходимо было создать приложение для слежения за коммерческими грузовиками и анализа информации, собранной с устройств передачи данных о состоянии, скорости и расположении агрегатов автомобиля, уровне технических жидкостей и т. д.
Одна из ключевых проблем, с которой мы столкнулись, заключалась в том, что приложение Wialon очень богато по функционалу, но имеет устаревший дизайн и нелогичный интерфейс. Предполагалось, что функционал будущего приложения будет постоянно обновляться и расширяться. В качестве основных технологий рассматривались React JS и Webix. Webix мог быть полезен благодаря быстрой реализации дополнительного функционала, так как имеет широкий набор готовых комплексных UI-виджетов, однако это потребовало бы разработки фронтенда с нуля. А поскольку фронтенд Traccar уже построен на React JS, выбор был очевиден.
Чтобы улучшить пользовательский интерфейс, сделать его интуитивно понятным и внести больше ясности в роли пользователей и доступные функции, мы реализовали в приложении два модуля.
Это та часть приложения, которая доступна для всех пользователей. После входа в приложение все права доступа приходят от сервера к фронтенду. В зависимости от этих прав и роли пользователя во время сеанса отображается только контент и функции, доступные для конкретного пользователя.
Система для пользователей с ограниченным доступом теперь включает в себя 3 вкладки:
Пользователь может отслеживать и управлять Объектами или быть включенным в Группы для выполнения задач, поставленных перед группой пользователей. Здесь также можно строить быстрые отчеты по каждому соответствующему Объекту или Группе, а система автоматически перенаправляет пользователей на вкладку «Отчеты».
Пользователи могут проверять соответствующие геозоны или те, которые были включены в определенные Группы.
Мы полностью переработали эту функцию, чтобы сделать процесс отчетности более логичным и интуитивно понятным. Теперь пользователи могут использовать статические или пользовательские шаблоны отчетов для получения информации о маршрутах, проверки сообщений, а также для создания или отображения других отчетов для любого объекта/группы за любой период. Некоторые функции отчетности были доступны только для администраторов, но мы решили перенести их и на сторону пользователя, чтобы водители и другие сотрудники могли создавать более информативные и качественные отчеты, включающие в себя все необходимые данные.
Встроенный нами в приложение модуль для Администраторов и Суперадминистраторов теперь включает в себя более логически структурированный функционал. Наш заказчик хотел создать в своем приложении административный модуль, который был бы виден пользователям с определенными правами без необходимости запускать отдельное приложение. Кроме того, после переноса всех функций отчетности в модуль Мониторинга, мы получили больше пространства для улучшения других функций. В результате в разделе «Администрирование» появились следующие вкладки:
Некоторые сложные компоненты паттернов React были реализованы во фронтенде для использования во всем приложении. В модуле «Администрирование» мы добавили древовидные таблицы для группировки объектов и водителей. Все таблицы данных и древовидные таблицы были дополнены следующим функционалом шаблона:
В Traccar предусмотрен функционал для преобразования необработанных данных, полученных от датчиков. Но нам нужно было предоставить пользователям конвертер с привычным пользовательским интерфейсом для создания правил преобразования. Мы также разработали панель синтаксического анализа, позволяющую пользователям просматривать данные строк в формате HTML или в виде таблицы данных и анализировать их по столбцам соответствующей таблицы данных отчета.
На начальном этапе проекта все компоненты и их функции были предварительно спроектированы в целостном стиле и добавлены в Storybook для использования в приложении. Каждый новый компонент был реализован таким же образом.
Чтобы улучшить взаимодействие с пользователем и уменьшить количество проблем, мы добавили динамические таблицы в функцию отчетов. Для их управления мы создали всплывающее окно Data table wizard. С его помощью пользователи с правами менеджера теперь могут создавать, сохранять и обновлять таблицы данных. Пользователь может просто выбирать данные из различных источников, группировать и сортировать их, а также указывать, будет ли доступна диаграмма для выбранной таблицы данных.
Мы расположили модули в более логичной и интуитивно понятной иерархии. Сообщения и маршруты располагались отдельно в меню. Проанализировав дизайн системы, мы отнесли эти шаблоны в «стандартные отчеты», которые нельзя редактировать. Это помогло пользователям работать с привычными отчетами или копировать их для создания новых шаблонов.
Заполненные Отчеты теперь отображаются на странице Динамические отчеты, которая имеет три блока, взаимодействующих друг с другом (Карта, Диаграмма и область действия таблиц данных, отображаемых на динамических горизонтальных вкладках). Действия пользователя произведенные на одном из блоков отражаются на других.
С точки зрения пользовательского интерфейса новое приложение сохранило определенное сходство с функционалом Wialon, но стало значительно более функциональным, удобным и современным. Чтобы обеспечить единообразие функционала и снизить трудозатраты, мы добавили возможность создавать шаблоны для конвертирования форматов, которые можно сохранять и настраивать как видимые для других пользователей.
В новой архитектуре приложения также был реализован мультиязычный подход, поэтому все текстовые блоки на фронтенде были не статическими, а взяты из файла с английской версией. Это позволит клиенту добавлять в систему файлы с любыми другими языками, если возникнет такая необходимость.
Заказчик отметил, что обновленное приложение вывело его логистику на новый уровень, предоставив возможность онлайн-мониторинга транспорта за любой отчетный период.
Обновленное приложение оказалось очень удобным и эффективным для отслеживания коммерческих грузовиков и анализа информации.
Конечный результат показал, что систему можно оптимизировать и настроить в соответствии с потребностями клиента, обеспечивая более логичный пользовательский опыт.
Данные теперь четко визуализированы, что позволяет пользователям лучше понимать свои задачи.
Новая система помогает сократить время и усилия, которые раньше тратились на навигацию по старым, сложным функциям.