Выполненные работы
В процессе работы над проектом были реализованы следующие функциональные возможности на сайте:
- Редизайн каталога товаров. В рамках данной задачи проведены улучшения пользовательского интерфейса, а также добавлен функционал, повышающий удобство использования интернет магазина.
- Улучшена работа с корзиной: добавлен инструментарий удаления корзины пользователя с возможностью ее последующего восстановления.
- Доработан процесс оформления заказа, добавленена обратная связь с пользователем.
- Разработана справочная система для пользователей, обучающая их работать с сайтом компании.
- Усовершенствован существующий и введен новый механизм увеличения продаж: разработана система, рекомендующая клиенту дополнительные и схожие товары в процессе просмотра и покупки товаров на сайте, введен инструментарий просмотра и анализа наиболее часто покупаемых товаров конкретным клиентом.
- Модернизирован личный кабинет: добавлен функционал создания черновиков заказа и наполнения корзины из черновиков заказа, добавлен функционал, позволяющий менеджерам регистрировать своих дистрибъютеров, введен интерфейс управления сервисами сайта, например, пользователь может отключить механизм рекомендаций дополнительных товаров.
- Реализована интеграция с внешним сервисом, позволяющая поддерживать взаимосвязь между клиентом и его менеджером, работающая с учетом привязки пользователя к менеджеру и филиалу магазина.
- Усовершенствована работа, а также введен дополнительный функционал во взаимодействии сайта с внутренними информационными сервисами компании (выгрузка пользователей, цен, заказов, ассортимента).
- Внесены доработки в механизм ценообразования товаров на сайте в зависимости от того, к какому филиалу магазина привязан пользователь.
- Введен механизм, облегчающий покупку пользователем большого количества товаров. Принцип работы состоит в том, что пользователю предоставляется инструментарий, позволяющий генерировать всю номенклатуру товаров каталога компании в excel-файл, затем пользователь заполняет нужное количество каждого товара и отправляет excel-файл на сайт. После отправки сервис генерирует корзину пользователя на основе введенных им данных.
- Проведены работы по оптимизации скорости работы сайта. В результате работы достигнута общая оптимизация кода, уменьшена нагрузка на сервер БД путем снижения количества запросов.
- На один товар существует много разных цен по типу пользователя (определенный группировки).
- За каждой компанией привязан конкретный менеджер.
- Разделение пользователей на разные роли (Владелец компании, Пользователь компании, Менеджер).
В процессе разработки проекта использовались следующие функциональные возможности продукта: Модули: главный модуль, информационные блоки, торговый каталог, интернет-магазин, валюты, highload-блоки, поиск; Технологии: d7 (orm + события), urlrewrite, стандартная система событий, компоненты 2.0, php кеширование переменных.
Попутно с выполнением основных задач были выполнены работы:
- менеджмент зависимостей с помощью composer
- сборка фронтенда с помощью gulp
- интеграция с CarrotQuest
- использование PHPExcel
- разработка большого количества компонентов, выполняющих специфические для данного проекта задачи
Функционал стандартных компонентов Битрикса с минимальными кастомизацииями шаблонов полностью подошел для большинства решений для вывода контента и информации в публичной части сайта; API Битрикс (методы модулей «Информационные блоки», «Торговый каталог», «Интернет магазин», «highload-блоки») в сочетании с библиотеками SimpleXML и PHPExcel позволило создать комплекс экспортов/импортов данных из/в различные файловые форматы (xml, csv, xml), используемые в различном функционале сайта от интеграции с 1С до пользовательского функционала.
Благодаря возможности создания собственных компонентов, возможности кастомизации компонентов и шаблонов компонентов, возможности подключения файлов с передачей входных параметров в сочетании с использованием API некоторых модулей был разработан функционал, решающий специфические для данного проекта задачи, в частности:
- функционал импорта корзины из файла. Принцип работы заключается в том, что по запросу пользователя происходит выгрузка основного ассортимента товаров компании в excel файл. В данном файле пользователь указывает нужное кол-во интересующих его товарных позиций, загружает данный файл на сайт, при этом происходит формирование корзины пользователя с выводом отчета о результате формирования корзины;
- кастомизация поиска. Поиск разделен на области. Пользователь может выбирать область поиска – либо по менеджерам, либо по ассортименту, причем поиск по ассортименту тоже разграничен, пользователь может выбрать, в каком ассортименте проводить поиск (собственный ассортимент компании, или ассортимент компаний партнеров или и то и другое). Поиск сделан морфологическим, причем не полнотекстовый морфологический поиск, а морфологический поиск по заголовкам. Более того, введена кастомизация, которая позволяет в условиях морфологического поиска получать не всевозможные сочетания словоформ, а всевозможные сочетания только тех словоформ, которые используются в запросе. Например, при вводе запроса - «Насосом дренажным» будут отдаваться ТОЛЬКО результаты, в которых присутствуют словоформы слов «Насос» и «Дренажный», а товары с названием «Скважинный насос» и «Циркуляционный насос» не будут присутствовать в результатах поиска. Используется транслитерация поискового запроса, опять же кастомизированная, согласно требованиям заказчика. Формирование результатов поиска происходит с учетом доступности товаров в данном филиале. Выпадающий список с результатами поиска содержит функционал, позволяющий покупать товары, просматривать информацию об остатках, а также технические документы непосредственно из результатов поиска (без перехода на страницу результатов поиска или карточку товара).
- разработана система обучения использования функционала сайта для пользователя, предлагающая пользователю определенный раздел справки, в зависимости от страницы, на которой находится пользователь. Более того, в некоторых разделах сайта (например, личном кабинете), система предлагает раздел не только в зависимости от страницы, но и в зависимости от карточки ЛК, на которой находится пользователь;
- разработан функционал работы с заказами пользователя и повторного заказа. Разработан компонент, позволяющий работать не только с заказами, но и с черновиками заказа (сохраненная в качестве черновика корзина пользователя).