Как я запустил ГрузоБот — сервис контейнерной логистики в MAX

Последние несколько месяцев я занимался проектом, который довольно сильно отличается от привычных материалов про Linux, Windows, серверы и сети.

Я сделал собственный сервис для контейнерной логистики, под названием ГрузоБот.

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

Проект уже работает в продакшене, поэтому решил рассказать, зачем вообще понадобился ещё один сервис для логистики, как он устроен и что получилось на практике.

ГрузоБот — сервис контейнерной логистики
ГрузоБот — сервис контейнерной логистики

Откуда вообще появилась идея

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

Условно это выглядит так:

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

В итоге грузоотправители и перевозчики постоянно пересылают одни и те же объявления между десятками групп.

Мне хотелось сделать максимально простой вариант: один раз разместил груз или машину, а дальше объявление уже можно найти через поиск.

Так появился ГрузоБот.

Что умеет ГрузоБот

Основная идея проекта это минимум лишних действий.

Пользователь открывает бота, проходит регистрацию и дальше может работать через обычные кнопки.

Сейчас в сервисе можно:

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

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

Почему я сделал сервис именно в MAX

Я изначально не хотел делать тяжёлую отдельную платформу с обязательным приложением.

Для логистики важна скорость.

Человеку нужно быстро открыть сервис, посмотреть грузы или свободные машины и продолжить работу.

Поэтому основным интерфейсом стал бот в MAX.

При этом у проекта есть и отдельный сайт gruzbot.ru, где можно посмотреть информацию о сервисе, свежие объявления и воспользоваться дополнительными инструментами.

Проверка компаний по ИНН

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

При регистрации ГрузоБот запрашивает ИНН и проверяет организацию через данные ФНС.

Это, конечно, не означает полную проверку контрагента и не заменяет нормальную юридическую проверку перед серьёзной сделкой.

Но уже на этапе регистрации позволяет отсечь часть случайных пользователей и показать, что организация действительно существует.

Контакты не показываются всем подряд

Ещё одна проблема открытых логистических чатов это номера телефонов и другая контактная информация доступны практически любому участнику.

Так довольно легко собрать базу телефонов для спама.

В ГрузоБоте я пошёл другим путём.

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

Также в сервисе есть ограничения на количество действий, чтобы усложнить массовый сбор контактов.

А что внутри технически

Сам проект получился довольно интересным и с технической стороны.

Основной бот написан на Python.

В проекте используются:

  • Python;
  • aiohttp;
  • FastAPI;
  • SQLite;
  • Nginx;
  • systemd;
  • webhook API MAX.

Сайт при этом сделан максимально лёгким.

Я специально не хотел превращать его в тяжёлую CMS с десятками плагинов, поэтому публичная часть работает достаточно просто и быстро.

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

Когда бот работает с реальными пользователями, быстро понимаешь, что сама кнопка «Разместить груз» — это самая простая часть системы.

Первые результаты после запуска

На момент написания статьи ГрузоБот находится в продакшене всего несколько дней.

За первые четыре дня после запуска в сервис пришёло 70 новых пользователей.

Пользователи разместили:

  • 3 груза;
  • 13 предложений свободного транспорта;
  • из них 3 машины с порожним контейнером.

Также пользователи предложили четыре новые контейнерные площадки, и все четыре были добавлены в справочник.

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

Но для первых дней работы нового двухстороннего сервиса это вполне ожидаемо.

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

Калькулятор загрузки контейнера

Недавно я добавил на сайт ещё один полезный инструмент, визуальный калькулятор загрузки.

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

Поддерживаются:

  • 20-футовый контейнер;
  • 40-футовый контейнер;
  • 40 HC;
  • 45 HC;
  • стандартный тент 13,6 м;
  • европаллеты;
  • стандартные паллеты;
  • нестандартные грузовые места.

Паллеты можно перемещать вручную, поворачивать или использовать автоматическую расстановку.

Инструмент может пригодиться логистам, экспедиторам и складским работникам для быстрой предварительной оценки загрузки.

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

Что я хочу получить в итоге

Я не пытаюсь сделать очередную огромную транспортную биржу.

Идея ГрузоБота гораздо проще.

Мне хочется сделать небольшой и удобный инструмент именно для контейнерной логистики.

Чтобы вместо публикации одного объявления в десяти разных чатах можно было один раз добавить груз или машину, а дальше работать через поиск и уведомления.

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

Но самое главное уже произошло: сервис вышел из стадии тестового проекта и им начали пользоваться реальные люди.

Посмотреть проект можно здесь: ГрузоБот — сервис контейнерной логистики.

VK: https://vk.ru/gruzo_bot

Канал м MAX: https://max.ru/channel_gruzobot

Понравилась статья?

Помогите Setiwik.ru создавать больше глубоких обзоров и новостей. Один клик и ваш вклад помогает держать серверы включёнными и авторов мотивированными!

Спасибо, что вы с нами!

Nazario

Я Назар. Уже больше десяти лет я работаю с Linux и Windows системами каждый день. Это моя основная профессия и большая часть жизни.
Всё, что ты читаешь на Setiwik.ru, начинается с официальной документации, мануалов и технических спецификаций. Я их изучаю очень внимательно. Но ценность статей появляется именно тогда, когда я беру эту базу и пропускаю через десятки реальных ситуаций: ночные аварии, странные баги, которые не гуглятся с первого раза, выстраданные конфиги и проверенные обходные пути.
Я не обещаю истину в последней инстанции. Но если мой опыт поможет тебе сэкономить хотя бы пару часов нервов и перезагрузок, значит всё это было не зря. Здесь только практика: от тонкой настройки серверов до самых неожиданных ситуаций, которые официальные руководства обычно обходят стороной.
Setiwik.ru это место, где IT становится понятнее и спокойнее. Заходи почаще. Будем разбираться вместе.

А ещё с этого года я официально помогаю малому бизнесу Новороссийска не тратить время и деньги на постоянные IT-проблемы.
Под брендом Novoross-IT предлагаю абонентское обслуживание компьютеров: профилактика, резервные копии, настройка сетей, быстрое решение любых сбоев и ежемесячные отчёты.

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

Подробности здесь: novoross-it.ru

Онлайн-калькуляторы и IT-инструменты бесплатно
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.
*Комментарий будет опубликован после ручной проверки.