Нова Пошта Шоппинг
https://npshopping.comКомпания «Нова Пошта» открыла сервис c возможностью доставки товаров из зарубежных интернет-магазинов. По ряду причин первая версия сайта не решала бизнес-задач клиента, и руководство логистической компании приняло решение сделать полный перезапуск сервиса. Нас привлекли к разработке новой версии сайта, где в краткие сроки нужно было:
- Сделать новый дизайн главной страницы, перепроектировать весь интерфейс;
- Переписать движок сайта с нуля на Symfony2;
- Сделать настраиваемую админ-панель для управления контентом;
- Сделать админ-панель для операторов склада;
- Реализовать мультидоменность, мультишаблонность и мультиязычность;
- Интегрировать сайт с внешним сервисом NPI (SOAP).
Новый дизайн Главной страницы
К дизайну главной страницы мы подошли ответственно - именно с нее начинается знакомство пользователя с сервисом. Здесь мы рассказываем об услугах, показываем главные преимущества, даем краткую пошаговую инструкцию по использованию сервиса и приглашаем зарегистрироваться. На главную страницу мы добавили калькулятор стоимости растаможивания и список популярных магазинов.
Для удобного просмотра сайта с мобильных устройств мы сделали дизайн легким и адаптивным.
Форма заказа
После регистрации пользователи получают личный адрес в США и могут совершать покупки в иностранных интернет-магазинах. Далее в личном кабинете необходимо зарегистрировать заказ. Мы разделили процесс оформления заказа не несколько шагов, уменьшив количество полей на одном экране. Система сохраняет каждый шаг, что дает возможность закрыть форму и вернуться к регистрации заказа позже.
Процесс заказа реализован с помощью flow bundle, в котором описываем каждый шаг и переходы между ними с сохранением состояния.
Трекинг заказа
Для отслеживания посылки пользователь видит статус и детали своего заказа: стоимость товара из декларации, калькуляция растаможивания и стоимости доставки, адрес получения посылки.
Данные о статусе заказа мы получаем от внешнего сервиса NPI на наш soap-сервер. Все статусы и переходы описаны как state, для этого мы использовали state machine. В конфигурации описаны не только все статусы, но и действия, которые нужно выполнить, когда они меняются. Так, например, при смене статуса посылки пользователь получит email-уведомление.
Список магазинов
У каждого интернет-магазина на сайте есть своя посадочная страница, сделанная на основе главной страницы. Идея в том, чтобы привлекать пользователей через поисковые системы к услуге доставки из конкретного интернет-магазина. Каталог магазинов постоянно дополняется командой «Нова Пошта», в блог готовятся полезные публикации для пользователей сайта.
Статистика после запуска
Проработав несколько недель в тестовом режиме, сервис был запущен с рекламой на основном сайте «Нова Пошта» и рассылкой по базе клиентов. Большой поток новых регистраций довольно успешно конвертировался в заказы, что подтвердило надежды на успех сервиса в целом. Конечно, запуск нового сервиса часто сопряжен с операционными проблемами в первое время, но оперативный фидбек от пользователей позволяет быстро их исправлять и понимать слабые места сервиса. Именно благодаря пользователям мы понимаем, как улучшать и развивать сервис.
Редизайн главной страницы
Для наших пользователей главная ценность сервиса заключалась в возможности купить товар в другой стране. Поэтому к глобальному запуску сайта мы обновили главную страницу сервиса, сместив акценты с доставки на страны и товары. Для каждой страны мы добавили узнаваемые фоновые изображения. В первом же экране появились специально подобранные акционные предложения на товары из разных интернет-магазинов.
Также мы обновили калькулятор стоимости. Если раньше мы рассчитывали лишь стоимость растаможки товара, то сейчас мы считаем и стоимость доставки и таможенные платежи. Для удобства пользователя мы добавили примеры стоимости для разных типов товаров, снова смещая акцент с доставки на товар.
Без косметических изменений не остался практически ни один раздел сайта. Мы также обновили каталог магазинов и карточку заказа. Вскоре после этого сервис достиг впечатляющей цифры в 100 тысяч заказов оформленных пользователями.
Особенности бэкенда
На проекте активно используется RabbitMQ для важных задач:
- Рассылка уведомлений;
- Реализация отложенных задач;
- Email-рассылка;
- Отправка данных на внешние источники.
В процессе разработки появилась задача сделать мультисайт, где под сайтом имеется в виду отдельная страна. Для каждой страны было предусмотрено наличие своих интернет-магазинов, адресов доставки и валюты. При выборе пользователем страны меняется URL по типу www.npshopping/страна/язык интерфейса.
Для создания такого решения мы использовали Sonata Page Bundle и Symfony CMF Routing со своим дополнением для переопределения бандлов. Админ-панель реализована на Sonata admin bundle, также мы использовали Block bundle и SEO bundle.
Команда проекта:
- Владимир Сутовский
Руководитель проектов
- Макc
Дизайнер
- Руслан Х.
Front-end разработчик
- Женя Жолкевский
Back-end разработчик
- Тимур
Back-end разработчик
- Миша
QA-менеджер
- Евгений
Системный администратор
- Андрей Л.
Frontend разработчик
- Александр А. Арбузов
Проектный менеджер
- Николай Аникиенко
Дизайнер