В 2017 мы начали разработку сервиса для эффективной логистики грузоперевозок.
Клиенты сервиса — люди, которые отправляют груз попутным транспортом. Исполнители — водители, которые хотят заработать денег и взять дополнительный груз, если есть свободное место. Мы разработали архитектуру сервиса «под ключ». Программный комплекс состоял из мобильного приложения, сайта и уникальной административной панели.
Сайт и приложение — дублирующие друг друга сервисы. Сервис состоял из нескольких частей. Первая часть — личный кабинет клиента. Вторая часть — личный кабинет водителя. До момента регистрации можно было получить информацию о доступном грузоперевозчике и предварительный расчет. Для этого необходимо было заполнить форму с указанием времени, места отправки и получения груза, его габаритов и веса. После регистрации заказ детализировался: клиент также размещал фото груза для информативности.
Проект разрабатывался как платформа. Все базы размещались на сервере, мы реализовали api-взаимодействие между клиентом и сервером. В бэк-офисе шло распределение заказов и общение с водителем. Административная панель имела несколько ролей пользователей:
Также мы определили способы хранения баз данных и способы подбора заказов для исполнителей. Заявки подбирались в первую очередь под маршрут водителей в системе, затем уже учитывались габариты и вес груза отправителя
В работе над этим проектом мы использовали венгерский алгоритм, который часто используется в сервисах такси. Адаптивный алгоритм формирует табличку из списка задач в строках и исполнителей в столбцах. Затем алгоритм подбирает оптимального исполнителя под конкретную задачу с учетом цены, времени, пунктов отправки и назначения. На основании этого происходила стыковка.
Поскольку идея проекта развивалась параллельно с разработкой, мы начали работу с MVP, дорабатывая впоследствии функционал проекта по системе SCRUM. Функционал MVP клиентской части:
Тестирование проводили вручную и самостоятельно — разработчики, менеджер, руководитель студии.
Заказчик обратился к нам с идеей сервиса, аналогичного Bla-bla-car по принципу работы. При этом, опыта в разработке мобильных приложений у него не было — по сути это был стартап.
Поскольку опыт в разработке у нас был относительно небольшой, аналитический этап прошел достаточно поверхностно. Посмотрели несколько аналогичных проектов для формирования технического задания и оценки проекта. Составили предварительный график проведения работ (график Ганта). Согласно этому графику, мы должны были завершить проект за 35 недель:
— первым этапом шло проектирование и дизайн — 19 недель;
— начиная с 4-й недели шла разработка серверной части приложений — 22 недели;
— на 4-м месяце работы мы приступили к разработке сайта (суммарно 8 недель), разработке приложений под Android и iOS (суммарно 15 недель), а также к административной панели (суммарно 10 недель);
Стоит отметить, что работа над проектом длилась больше года: у заказчика появлялись новые идеи, правки вне технического задания, которые мы оценивали дополнительно. Какие доработки появились в проекте? Со временем появились компании-перевозчики (не только водители), появился двойной аккаунт на одном номере телефона, оплата на этапе заявки, а также делегирование оплаты заявки: юр. лицо могло делегировать оплату физ. лицу и наоборот. Также мы подключили метрику для аналитики проекта и прочие мелочи, связанные с заполнением данных.
Изначально мы пробовали интегрировать сервис с Google.Maps, но позже отказались от этой идеи — карты имели плохую деталировку в России. Остановились на Яндекс.Картах. Почему изначально не сделали такой выбор — мажорная версия была достаточно старой. На тот момент ей было уже несколько лет. В итоге после реализации проекта, Яндекс обновили мажорную версию — пришлось заново настраивать интеграцию. Поэтому так важна поддержка проекта после сдачи.
Заказчик продавал франшизу по регионам. Франчайзи при этом становился оператором своего региона, а заказы по забору груза в этом регионе формировали выручку. На случай возникновения конфликтных ситуаций клиент связывался с водителем через оператора.
Со временем заказчик продавал франшизу по регионам. Франчайзи при этом становился оператором своего региона, а заказы по забору груза в этом регионе формировали выручку. На случай возникновения конфликтных ситуаций клиент связывался с водителем через оператора. В результате мы получили удобный и функциональный сервис, позволяющий сэкономить клиентам на отправке грузов, а водителям — эффективно использовать транспортное средство и зарабатывать дополнительные деньги. При этом платформа позволяет зарабатывать не только основателю стартапа, но и франчайзи.