Все кейсы

Три сайта, кабинет клиента и система учёта перевозок

Витрина, калькулятор доставки, личный кабинет и система, которая ведёт перевозку от заказа до счёта. Обычно такие проекты делают разные команды. Здесь я участвовал в каждой части.

Контекст

Компания отправляет посылки из США в тридцать с лишним стран, перепосылает покупки из американских магазинов и ведёт корпоративное направление. Три аудитории, три сайта, одна система за ними, из которой сайты берут тарифы, статусы и заявки.

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

Что сделано — витрина

Конструктор страниц. Тридцать четыре готовых блока: первый экран, тарифы, таможенные правила, способы доставки, шаги оформления, партнёры, новости, формы. Менеджер собирает из них любую страницу, разработчик не нужен. Настройки блоков хранятся вместе с кодом, любое изменение можно откатить. Есть отдельная тестовая копия сайта, где страницу можно проверить до публикации.

Страницы под страны. Больше тридцати страниц, у каждой свой адрес, свой каталог, свои направления и условия доставки. Это не перевод одной страницы, а отдельная витрина под каждую страну. Плюс блог с рубриками.

Десять сценариев форм. Контакт, вакансии с резюме и несколькими шагами, партнёрство отдельно для компаний и для частных лиц, запросы на авиафрахт, склад и гуманитарные грузы, заявка на забор посылки, регистрация на вебинар. У каждой своя проверка полей и своё «спасибо».

Каталог. Больше тысячи товаров, категории, справочник магазинов, кнопка «скопировать американский адрес».

Новости. Публикации компании из LinkedIn подтягиваются в раздел новостей сами.

Что сделано — интерактив

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

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

Отслеживание посылки. По номеру, с историей статусов.

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

Как устроено

Как связаны три сайта, виджеты, кабинет клиента и система учёта перевозокСайт международной отправкиконструктор из 34 блоков · 30+ странСайт перепосылки покупоккаталог 1000+ товаров · магазиныКорпоративный сайт10 сценариев форм · новости из LinkedInКалькулятор доставки и отслеживаниеодин код на все сайты · подключаются настройками · свой релизКабинет клиентаодин код на два сервисаСистема учёта перевозоктарифы · отслеживание · счета · процессы описаны настройками и меняются без выпуска версииБаза данных и хранилище файловPostgreSQL · файлы по временным ссылкамКак связаны три сайта, виджеты, кабинет клиента и система учёта перевозокСайт международной отправкиконструктор из 34 блоков · 30+ странСайт перепосылки покупоккаталог 1000+ товаров · магазиныКорпоративный сайт10 сценариев форм · новости из LinkedInКалькулятор доставки и отслеживаниеодин код на все сайтыподключаются настройками · свой релизКабинет клиентаодин код на два сервисаСистема учёта перевозоктарифы · отслеживание · счетапроцессы описаны настройками и меняютсябез выпуска версииБаза данных и хранилище файловPostgreSQL · файлы по временным ссылкам

Почему так, а не иначе — калькулятор отдельным приложением, а не частью сайта

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

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

Цена решения честная: два деплоя вместо одного, и виджет сам не знает, на каком сайте стоит, — сайт передаёт ему язык и валюту через настройки. В обмен правка тарифов выкатывается один раз и появляется на всех сайтах, а обновление калькулятора не требует обновления сайта.

Такой калькулятор на конструкторе не делается никак. Именно за этим приходят ко мне, а не в конструктор.

Другие кейсы

Кейсы и личные проекты