Предыстория
Компания клиента запустила линию производства оборудования для салонов красоты под собственным брендом. Соответственно, перед руководством компании встала задача по реализации своей продукции через интернет-магазин.
Предыдущий подрядчик обещал подготовить сайт за 1,5 месяца, однако к моменту обращения клиента к нам на сайт было потрачено около 8 месяцев, а он так и не был запущен.
Что хотел клиент
Учитывая потерю времени, заказчик желал настроить и вывести в строй интернет-магазин в течение 1,5 месяцев.
Этапы решения
Часть 1. Подготовка:
Несмотря на сжатые сроки, обозначенные заказчиком, мы понимали, что старт работ без тщательной подготовки может привести к очередной задержке, а это для нас недопустимо.
Объяснить эту простую истину клиенту оказалось несложно, так как проджект со стороны заказчика был очень профессиональным и мотивированным на оперативное и плотное сотрудничество.
Все работы с клиентом начались с подробного аудита. За 4 встречи, проведенные в течение одной календарной недели, мы подробно выяснили текущую ситуацию клиента, его целевую аудиторию и бизнес-задачи.
По итогам аудита мы пришли к следующим решениям:
- Сайт необходим в максимально сжатые сроки, а значит нужно максимально использовать готовые решения для интернет-магазина
- Для ускорения ввода в работу основного функционала все второстепенные задачи и системы ставятся на паузу до полного старта основного сайта;
- В качестве CMS-системы необходимо использовать 1С-Битрикс: Управление сайтом, сайт необходимо реализовывать на базе шаблона Аспро: Максимум (он имел весь необходимый на старте функционал, а также неплохую базу для дальнейшего расширения).
Кроме того, в ходе аудита мы подробно посмотрели и обсудили функционал шаблона Аспро: Максимум и решили, что действительно необходимо клиенту для решения его бизнес-задач, а что является лишним. Эти обсуждения легли в основу технического задания.
Его итоговая версия содержала следующую информацию:
- Описание общей структуры сайта;
- Описание структуры всех типовых страниц сайта с указанием конкретных элементов, блоков и модулей шаблона Аспро: Максимум, которые необходимо использовать;
- Список систем коммуникации с клиентом;
- Информацию о способах оплаты для физических и юридических лиц (в том числе данные о выбранной системе онлайн-платежей: клиент выбрал эквайринг от Альфабанка), а также описание логики показа этих способов оплаты в зависимости от особенностей оформления заказа;
- Информацию о способах оплаты для физических и юридических лиц (в том числе данные о выбранных системах доставки: клиент выбрал доставку через СДЭК и PickPoint), а также описание логики показа этих способов доставки в зависимости от особенностей оформления заказа;
- Логику загрузки товарного каталога (на первом этапе, для ускорения процесса разработки клиент решил отказаться от интеграции с учетной системой МойСклад, и мы реализовали загрузку товаров через xls-файл в личном кабинете администратора сайта);
- Список информации, которую необходимо подготовить заказчику к этапу загрузки контента.
В итоге, буквально в течение недели после подписания договора мы полностью проработали проект и сформировали полный план работы с проектом.
Клиент был доволен: после опыта работы со своим предыдущим подрядчиком он не ожидал такой быстрой и качественной проработки своего сайта.
Часть 2. Подготовка сервера:
Еще до утверждения технического задания, на первых встречах по аудиту мы обсуждали с клиентом вопрос сервера для сайта. Как это часто происходит, клиент не особо разбирался в теме и доверил выбор нам.
Мы рекомендовали один из тарифов TimeWeb, специально предназначенный для сайтов на 1С-Битрикс. Выбранный нами тариф TimeWeb дает 10 дней промо-периода, в которые хостинг полностью готов для работы без предварительной оплаты.
Поэтому мы приступили к подготовке сервера уже после окончания первой версии ТЗ. Это позволило выиграть несколько дней, в которые мы согласовывали техническое задание.
В результате к моменту полного утверждения технического задания мы уже успели установить, полностью настроить и протестировать CMS 1С-Битрикс: Управление сайтом, а та же установить и протестировать шаблон Аспро: Максимум.
Часть 3. Базовая настройка сайта:
Благодаря оперативной и слаженной работе нашей команды и проджект-менеджера клиента, первые 2 части работы были закончены буквально за неделю, и уже на вторую неделю после подписания договора мы смогли приступить к основной, самой объемной части работ – настройке шаблона Аспро: Максимум под задачи нашего клиента.
Несмотря на кажущуюся простоту этой работы, она занимает много времени даже у программистов, работающих с этими шаблонами каждый день, потому что:
- Шаблон имеет очень большое количество настроек и вариантов отображения информации;
- Часть настроек необходимо задавать со стороны системы 1С Битрикс: Управление сайтом, настраивая параметры компонентов вручную;
- Не все желания, даже самые простые (например, банальное отображение артикула товара в выпадающем окне корзины или выравнивание названия пункта каталога по центру иконки) можно сделать настройками шаблона. Для их реализации приходится программно дорабатывать существующий шаблон Аспро: Максимум.
Однако на нашей стороне был опыт и подробное описание необходимого функционала в техническом задании, так что работа заняла буквально пару дней плюс день на тестирование и отладку различных мелочей.
В результате данной работы сайт клиента приобрел заложенную нами в техническом задании структуру и функционал. Нам оставалось только наполнить его каталог и контентные страницы нужными данными, а также провести интеграцию со службами доставки и оплаты.
Часть 4. Разработка парсера для загрузки товаров в каталог:
Для ускорения работы мы решили запустить работу с парсером товаров из .xls-файла параллельно с настройкой шаблона. Напомню, что мы решили отложить настройку интеграции с сайтом и загрузку товаров в товароучетную систему МойСклад для того, чтобы не задерживать релиз основного сайта. Для управления товарами мы решили применять загрузку из .xls-файла, т.к. данная механика была понятна и привычна клиенту.
На этапе аудита мы утвердили структуру данного файла. Задача немного осложнялась тем, что на сайте клиента должны были использоваться товарные предложения (варианты товаров, отличающихся цветом, размером и т.д., объединенные в одну карточку).
В результате мы решили, что товар должен объединяться в такие предложения, исходя из своего артикула по следующей логике:
- Система находит в .xls-файле товары с одинаковым артикулом;
- Система автоматически смотрит, какими свойствами отличаются данные товары;
- Для каждого подобного товара система формирует торговое предложение в соответствующем каталоге 1С-Битрикс: Управление сайтом;
- Итоговый вариант отображения формируется стандартными средствами шаблона. Кроме торговых предложений мы также вывели в .xls-файл систему управления статусами остатков.
Всего техническим заданием в системе было предусмотрено 3 статуса:
- В наличии;
- Ожидается поставка;
- Под заказ.
По первым 2 статусам система должна давать пользователю возможность оформить товар через корзину. Для товара со статусом «Под заказ»:
- Кнопка «В корзину» меняется на кнопку «Оформить заказ»;
- При нажатии на кнопку вместо корзины открывается окно оформления предзаказа.
Вид карточки товара со статусом «Под заказ».
Для надежности работы системы нам также необходимо было максимально встроить логику работы статусов в работу шаблона Аспро: Максимум.
Поэтому парсер был написан таким образом, чтобы осторожно менять статусы в 1С-Битрикс: Управление сайтом. Подмена кнопок и отображение формы заказа при этом полностью осталось в рамках стандартного функционала шаблона.
Также для удобства загрузки мы сделали дополнительную страничку в личном кабинете администратора сайта прямо на сайте. Все, что нужно сделать администратору – перетащить новый файл и дождаться его загрузки.
Окно для простой загрузки каталога сайта из .xls-файла.
У нас уже был опыт работы с каталогом на основании xls-файлов. Так что разработка парсера заняла буквально пару дней, и еще два дня ушло на тестирование загрузок и исправление найденных при тестировании багов и особенностей номенклатуры клиента.
Таким образом, к концу второй недели у клиента уже был сайт с необходимой структурой и рабочий каталог с актуальными товарами. В целом, через сайт уже можно было оформить полноценный заказ, правда оплатить его можно было бы только через расчетный счет нашего клиента и воспользоваться только доставкой его курьера.
Учитывая, что на сайте еще не было возможности провести онлайн-оплату, выбрать доставку СДЭКом или PickPoint-ом, а так же отсутствовал текстовый и графический контент, клиент решил придержать релиз сайта. Однако прогресс работы очень впечатлил нашего клиента – то, на что у предыдущего подрядчика ушло полгода, мы сделали за 2 недели!
Часть 5. Загрузка текстового и графического контента:
На этапе подготовки аудита после первых же встреч мы высылали клиенту список контента, который потребуется от него на соответствующем этапе.
В результате в те 2 недели, когда мы проводили свои работы, проджект-менеджер клиента подготовил и предоставил нам всю необходимую нам информацию:
- Описания и референсы для графических материалов;
- Тексты и описания для контентных разделов и блоков сайта;
- Доступы от смежных систем, с которыми потребуется интеграция в дальнейшем.
Все, что оставалось нам на данном этапе – синхронизироваться с клиентом по стилистике графических материалов и разместить на сайте текстовый контент.
Загрузка текстов заняла около дня. Еще 3 дня ушло на согласование и размещение графических материалов. В итоге этой работы сайт принял полностью законченный вид.
После завершения работ по контенту мы установили на сайт счетчики от Яндекс.Метрики и Google.Analytics, перевели сайт в боевой режим, и он начал принимать первых клиентов.
Часть 6. Интеграции со службами доставки и эквайрингом Альфабанка:
Этап работы с интеграциями всегда самый непредсказуемый, т.к. при нем многое завязывается на партнера:
- Многие партнеры (особенно банки) требуют проверки сайта. А значит, пока на нем не размещен весь каталог и текст, провести интеграцию не получится.
- Зачастую после первоначальной проверки партнеры просят разместить на сайте дополнительную информацию. После ее размещения партнер проводит дополнительную проверку сайта, что также требует времени.
- Многие серьезные интеграции (например, с онлайн-оплатой Альфабанка) требуют первоначально обкатывать систему в тестовом режиме под отдельным тестовым API-токеном.
- После настройки системы в тестовом режиме зачастую требуется очередная проверка со стороны партнера, что также занимает дополнительное время.
- После всех проверок нужно настроить и протестировать систему в боевом режиме.
Таким образом, этап интеграции с внешними системами не очень сложен с точки зрения работы наших специалистов, но достаточно затратен по времени реализации.
Нужно отдать должное, в данном проекте, во многом благодаря активной и своевременной работе проджект-менеджера со стороны клиента, интеграция со СДЭКом и PickPoint-ом прошли достаточно быстро.
Основное время работы с этапом заняли согласования со стороны Альфабанка. Также в рамках лояльности мы бесплатно настроили интеграцию с облачной онлайн-кассой от Атол для данного клиента. Все работы по данному этапу (с учетом всех проверок и согласований партнеров) удалось завершить в течение 2 недель.
После окончания данных работ сайт обладал всем необходимым функционалом и все, что нам оставалось сделать – провести обучение администратора сайта.
Часть 7. Обучение администратора сайта и старт гарантийной поддержки:
После завершения всех основных работ мы назначили время для обучения администратора сайта со стороны клиента. За 2 часовые встречи через Zoom мы разобрали весь основной функционал сайта, принципы работы с контентом и заказами сайта, еще раз разобрали принципы управления товарным каталогом через .xls-файл.По итогам обучения мы выслали клиенту видеозаписи обеих встреч для того, чтобы при необходимости специалисты заказчика могли вернуться к обучению и найти ответы на свои вопросы.
После обучения мы запустили гарантийную 30-дневную поддержку сайта.
Итог
За месяц с небольшим клиент получил сайт, решающий все его основные потребности. По сравнению с работой предыдущего подрядчика, наш заказчик был в восторге от оперативности выполнения проекта и вариативности решений!
Часть дополнительная. Разработка бонусной системы для клиентов:
В процессе работы по первоначальному плану клиент озвучил дополнительную задачу – разработать для своих клиентов бонусную систему.Обсудив бизнес-задачи с клиентом, мы определили механику работы этой бонусной системы:
- После оплаты заказа покупатель должен получать бонусы на свой внутренний бонусный счет на сайте;
- Размером бонуса должен управлять администратор сайта из административной панели. При этом у него должна быть возможность задавать разные размеры бонусов для разных товаров и товарных групп;
- Бонусы должны считаться в процентах от стоимости соответствующих товаров;
- Пользователь должен иметь возможность оплатить бонусами не более 15% от стоимости основного заказа;
- При использовании бонусов для оплаты заказа покупателю должны начисляться дополнительные бонусы со стоимости заказа за исключением использованных баллов;
- Информация о количестве бонусов, а также о начислениях/списаниях бонусов должна отображаться в личном кабинете пользователя.
Изначально мы планировали стартовать эти работы после завершения основного проекта. Однако уже на этапе загрузки контента стало понятно, что работы идут с опережением графика, а наши ресурсы и специфика реализации бонусной программы позволяла приступить к ее разработке параллельно с другими частями проекта.
Обсудив данную ситуацию с клиентом, мы заключили дополнительное соглашение и приступили к работе. Первоначальная реализация заняла около 3 дней. Еще два дня ушло на тестирование данной системы и поиск багов. Мы проверили разные, даже самые экзотичные кейсы работы покупателя с бонусной системой и исправили все найденные баги.
После окончания работ мы записали видео, подробно демонстрирующее механику работы бонусной программы, а также несколько небольших тематических видео для администратора сайта.
В итоге дополнительные работы по бонусной программе были завершены к этапу обучения администратора сайта и сданы одновременно с завершением основного проекта.