Мой Постамат

В век стремительного развития технологий все больше людей предпочитают получать товары и услуги онлайн. Маркетплейсы и интернет-магазины ищут оптимальные и удобные способы доставки своих услуг до покупателей.

Мой Постамат помогает развивать e-com игрокам новые способы оказания услуг с максимальной близостью к покупателям, используя модель совместного использования сети постаматов.

Для этих целей потребовался сервис для поиска оптимальных и востребованных локаций для размещения и релоцирования сети постаматов с возможностью формирования модели данных на основе машинного обучения в реальном времени.

Агенство Endwork.Today разработала сервис PostNet, который помогает решить эту проблему в рамках проекта Мой Постамат. PostNet — это инновационный проект, который использует данные о населенных пунктах, плотности населения и демографических характеристиках, чтобы определить места оптимальной установки постаматов.

Цели

 

Разработать геосервис, который на основе множества факторов определяет оптимальные точки размещения постаматов, позволяя работать с большим объёмом данных

Обеспечить максимальную эффективность поиска оптимальных локаций для сети постаматов за счет использования машинного обучения и обновления данных в реальном времени.

Предоставить пользователям простой и понятный интерфейс, предполагающий выборку оптимальных данных с использованием различных фильтров.

Результаты

С первого дня работы над проектом до запуска прошло больше года. Делимся списком того, чего мы успели добиться за это время:

  • Разработали геосервис PostNet, который позволил производить точный анализ множества факторов, включая плотность населения, трафик, и другие параметры для оптимального размещения постаматов.
  • Реализовали удобный интерфейс для анализа эффективности сети постаматов с возможностью самостоятельного поиска оптимальных локаций.

Аналитика

Команда проекта провела аналитику, выявив закономерности, определяющие востребованность мест для постаматов. Эти закономерности послужили основой для точной модели, способной предсказывать оптимальные места для постаматов. Использовались различные данные, включая информацию о транспорте, образовательных учреждениях, магазинах и других факторах, собранные из официальных источников и от постаматов в реальном времени.

Отличительной особенностью аналитики в PostNet стало использование машинного обучения, обновляющегося на основе актуальных данных от постаматов. Это обеспечивает высокую точность модели даже при изменениях в городской инфраструктуре. Результат – эффективный инструмент для определения оптимальных мест размещения постаматов, поддерживаемый актуальными данными и высокой точностью благодаря машинному обучению.

Дизайн

Карта — центральный элемент интерфейса системы PostNet. Она позволяет пользователям быстро и легко найти нужный постамат.

Для обеспечения удобства пользования картой используется технология Martin, которая позволяет сжимать данные и использовать легковесные protobuf-файлы. Это значительно снижает нагрузку на сеть.

Для визуализации данных на карте используется тепловая карта контрастного оттенка с белым фоном. Тепловая карта позволяет пользователям быстро и легко увидеть, где расположены постаматы.

Карта также позволяет пользователям:

  • Искать постаматы по адресу или по названию.
  • Фильтровать постаматы по различным критериям.
  • Просматривать информации о постамате.

В будущем карта может быть дополнена информацией о загруженности постаматов и интегрирована с другими сервисами.

 

Разработка

Клиентская Часть (Frontend):

  • React: Создание гибкого и масштабируемого пользовательского интерфейса.
  • Ant Design: Использование UI-kit для красивых и функциональных интерфейсов.
  • Tailwind CSS: Ускоренная стилизация в соответствии с принципами atomic design.
  • Zustand: Централизованное управление состоянием для более понятного и поддерживаемого кода.
  • Maplibre + react-map-gl: Отображение карты с поддержкой геометрических операций.

Бэкенд:

  • PostgreSQL + PostGIS: Хранение и обработка пространственных данных.
  • Векторные тайлы: Эффективный способ визуализации пространственных данных.
  • Django: Python-фреймворк для бизнес-логики.
  • nginx: Обработка запросов пользователей.

Технологии контейнеризации Docker:

  • Микросервисы: Функционирование компонентов как изолированных контейнеров.

Результат:

Эффективное взаимодействие клиентской и серверной частей в инновационном геосервисе PostNet.

Архитектура

Система PostNet представляет собой архитектуру клиент-сервер с использованием микросервисов. Клиентская часть системы взаимодействует с бэкендом через HTTP-запросы. Бэкенд состоит из нескольких микросервисов, каждый из которых отвечает за определенную функцию.

Система разработана с использованием современных технологий, обеспечивающих гибкость, масштабируемость и эффективность приложения.

 

Проблемы

Команда проекта PostNet столкнулась с проблемой производительности клиентской части сервиса. Для улучшения быстрой работы выбрали технологию Martin, использующую сжатие данных и легковесные protobuf файлы.

Однако при добавлении связанных с основной моделью данных возникли проблемы с размером файлов protobuf, что ухудшило производительность сервиса. Для решения этой проблемы и улучшения производительности сервера были предприняты шаги, включая использование materialized view в PostgreSQL и добавление триггеров для обновления данных.

Это решение позволило ускорить сервис и внедрить новые функции, обеспечив более эффективную работу.

Итог

Сейчас сервис работает и выполняет все идеи, которые в него закладывались.

Система PostNet является успешным примером использования современных технологий и методов анализа данных для решения сложной задачи. Система может быть использована в качестве основы для разработки аналогичных систем в других городах и странах.

 

 

Category:
Date: