На момент обращения проект представлял собой доску объявлений, написанную в формате монолитного приложения на фреймворке CodeIgniter, был сложным в поддержке и доработке. Перед клиентом стояла задача по развитию функционала и старту монетизации проекта, уже был разработан новый дизайн.
Опыт клиента показал, что попытки внедрения нового функционала существенно затруднены из-за большого количества legacy-кода в проекте. Клиент обратился в Spectr за экспертизой по разработке современных онлайн-сервисов.
ЗАДАЧА
На основе существующей доски объявлений и нового дизайна разработать маркетплейс с функциональным личным кабинетом и каталогом для покупателей и поставщиков строительных товаров и услуг с функционалом подписок для последующей монетизации продукта.
При реализации необходимо мигрировать каталог с базой данных с прежней версии проекта. Важно избавиться от legacy-кода и выбрать оптимальное решение с точки зрения архитектуры проекта, которое позволило бы в дальнейшем развивать функционал и масштабировать продукт под растущую аудиторию.
ТЕХНОЛОГИИ
По итогам детального аудита текущей реализации проекта, кодовой базы, серверной инфраструктуры, планов по развитию проекта было предложено реализовать сервис в формате Single Page Application. Такая архитектура позволила вести разработку фронтенда и бэкенда параллельно и в дальнейшем гибко масштабировать инфраструктуру под растущие нагрузки.
Фронтенд
Для реализации используется React+TypeScript в связке с Next.js, что позволило реализовать серверный рендеринг (Server Side Rendering) и обеспечить эффективную индексацию сайта поисковыми системами.
Бэкенд
В качестве фреймворка для реализации бэкенда был выбран Laravel (PHP). При выборе важно было сохранить в качестве языка программирования PHP, т. к. это позволяло частично переиспользовать ранее написанный код и ускорить разработку. Выбор Laravel обусловлен популярностью, производительностью и развитой экосистемой самого фреймворка.
В качестве административной панели используется Laravel Nova.
DevOps
Для развертывания приложений используется Docker. Для корректной работы сокетов — Redis. База данных — MySQL.
Самые важные фичи (фильтрация, каталог, команды автоматизаций и т. д.) на проекте покрыты автотестами на PHPUnit.
ФУНКЦИОНАЛ
Каталог товаров и услуг
Раздел представляет собой многоуровневый каталог, где более 300 категорий. Функциональный фильтр позволяет подбирать товары на основе цены, местоположения пользователя и специфичных для каждой категории параметров.
Товары можно добавлять в избранное. Реализована рекомендательная система, которая предлагает покупателю релевантные товары на основе просмотренных ранее.
Каталог бригад и компаний
В системе зарегистрировано более 1600 компаний. Благодаря удобной системе поиска с фильтрацией по определенным параметрам в каталоге у покупателя есть возможность найти подходящего исполнителя под любой запрос.
Система ранжирования
Принципы ранжирования на платформе — важный фактор в системе мотивации поставщиков.
Реализована рейтинговая система для поставщиков, где рейтинг зависит от количества размещенных товаров, количества проданных товаров, наличия платной подписки и активности поставщика при размещении статей на портале. Рейтинг поставщика — один из важных факторов при ранжировании его товаров и услуг. Позиция товаров зависит также от качества заполнения товарной карточки и количества его продаж.
Каталог запросов и тендеров
Данный раздел представляет собой систему, в которой заказчик товара/услуги может разместить запрос с определенными параметрами, а поставщик — сделать свое предложение на этот запрос. Поставщик может указать детальную информацию о каждом запросе (тендере) и, при необходимости, обсудить подробности в чате с поставщиком. Статистика по каждому запросу находится в свободном доступе, т. е. можно отследить, сколько откликов и просмотров в каждом.
Личный кабинет поставщика
Реализовали функциональный кабинет для поставщика, где он управляет аспектами, которые касаются размещаемых на маркетплейсе товаров:
Подписочная модель
Для монетизации проекта и расширения возможностей поставщиков реализована подписочная модель. В зависимости от выбранного тарифа поставщик может получить расширенные возможности по продвижению своей компании на платформе.
Основной сценарий оплаты подписки — банковская карта и рекуррентные платежи. Также для удобства работы с платформой юридическим лицам реализован внутренний баланс, пополнить который можно банковским переводом.
Сервис интегрирован с платежной системой CloudPayments для оплаты и системой Битрикс24 на стороне заказчика для выставления счетов юридическим лицам.
Реферальная система
Чтобы стимулировать привлечение на платформу покупателей, реализована реферальная система. Для каждого пользователя генерируется индивидуальная ссылка, которой он может поделиться с друзьями и получить бонус на внутренний счет за каждую регистрацию по этой ссылке.
Личный кабинет заказчика
В личном кабинете заказчик может разместить тендер (запрос) на интересующий его товар или услугу, указав точные критерии необходимой позиции и получить релевантные отклики от поставщиков.
Каждое размещение проходит модерацию, что позволяет получать только корректные запросы с понятными вводными данными.
По итогу заказчик может сгруппировать все полученные отклики в табличном виде. Благодаря уведомлениям на электронную почту заказчик узнает максимально оперативно о новых откликах на свой запрос.
Также в личном кабинете заказчика доступен функционал подбора потенциального поставщика товаров под выбранные параметры: категория, регион и возможность взять заказ.
Блог и статьи
Данный раздел включает в себя статьи, разбитые по тематике (строительство, ремонт квартир и т. д.) и обновления, связанные с работой сайта. Категория «Полезные статьи» наполняется поставщиками. Для поставщика это возможность поделиться экспертными знаниями по определенной теме и рассказать о себе потенциальной аудитории.
Онлайн-чат
Используется для обсуждения деталей сотрудничества между поставщиком и покупателем в рамках тендера/запроса/товара. С его помощью покупатель и поставщик могут уточнять все необходимые детали по сделке, обмениваться необходимыми документами.
Чат доступен в личном кабинете всем авторизованным пользователям.
Адаптивный дизайн
Благодаря адаптивному дизайну сайт корректно отображается на любых видах устройств: на десктопном мониторе, планшетном компьютере, экране смартфона.
Помощь и обратная связь
Покупатель и поставщик всегда могут обратиться с вопросами по работе сервиса и оперативно их решить. Этот функционал реализован с помощью специального раздела с ответами на популярные вопросы, а также раздела для отправки вопросов на электронную почту службе поддержки.
РЕЗУЛЬТАТЫ
Превратили доску объявлений в полноценный маркетплейс с удобной системой «все в одном окне».
Клиент начал вывод проекта на рынок и его монетизацию. Идет активное привлечение аудитории поставщиков на разработанную платформу, которые уже активно конвертируются в платящих пользователей.
Проект избавлен от legacy-кода, и текущая реализация способствует дальнейшему технологическому развитию и внедрению нового функционала. В ближайшее время запланировано внедрение новых сервисов: работа с цифровыми договорами, собственная CRM, виртуальная 3D-выставка проектов домов.