Все кейсы
#React
#Laravel
#TypeScript
#MySQL

GlavOrgStroy

«Распилили монолит», избавились от legacy, внедрили новый дизайн и превратили доску объявлений в полноценный маркетплейс.
01 — Контекст
На момент обращения проект представлял собой доску объявлений, написанную в формате монолитного приложения на фреймворке CodeIgniter, был сложным в поддержке и доработке. Перед клиентом стояла задача по развитию функционала и старту монетизации проекта, уже был разработан новый дизайн.

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

Задача

На основе существующей доски объявлений и нового дизайна разработать маркетплейс с функциональным личным кабинетом и каталогом для покупателей и поставщиков строительных товаров и услуг с функционалом подписок для последующей монетизации продукта.

При реализации необходимо мигрировать каталог с базой данных с прежней версии проекта. Важно избавиться от legacy-кода и выбрать оптимальное решение с точки зрения архитектуры проекта, которое позволило бы в дальнейшем развивать функционал и масштабировать продукт под растущую аудиторию.
02 — Технологии и архитектура

Архитектурное решение

По итогам детального аудита текущей реализации проекта, кодовой базы, серверной инфраструктуры, планов по развитию проекта было предложено реализовать сервис в формате Single Page Application. Такая архитектура позволила вести разработку фронтенда и бэкенда параллельно и в дальнейшем гибко масштабировать инфраструктуру под растущие нагрузки. 
02 — Технологии и архитектура

Фронтенд

Для реализации используется React+TypeScript в связке с Next.js, что позволило реализовать серверный рендеринг (Server Side Rendering) и обеспечить эффективную индексацию сайта поисковыми системами.
02 — Технологии и архитектура

Бэкенд

В качестве фреймворка для реализации бэкенда был выбран Laravel (PHP). При выборе важно было сохранить в качестве языка программирования PHP, т. к. это позволяло частично переиспользовать ранее написанный код и ускорить разработку. Выбор Laravel обусловлен популярностью, производительностью и развитой экосистемой самого фреймворка. 

В качестве административной панели используется Laravel Nova.
02 — Технологии и архитектура

DevOps

Для развертывания приложений используется Docker. Для корректной работы сокетов — Redis. База данных — MySQL. 

Самые важные фичи (фильтрация, каталог, команды автоматизаций и т. д.) на проекте покрыты автотестами на PHPUnit. 
03 — Функционал

Каталог товаров и услуг

Раздел представляет собой многоуровневый каталог, где более 300 категорий. Функциональный фильтр позволяет подбирать товары на основе цены, местоположения пользователя и специфичных для каждой категории параметров.
Товары можно добавлять в избранное. Реализована рекомендательная система, которая предлагает покупателю релевантные товары на основе просмотренных ранее.
03 — Функционал

Каталог бригад и компаний

В системе зарегистрировано более 1600 компаний. Благодаря удобной системе поиска с фильтрацией по определенным параметрам в каталоге у покупателя есть возможность найти подходящего исполнителя под любой запрос. 
03 — Функционал

Система ранжирования

Принципы ранжирования на платформе — важный фактор в системе мотивации поставщиков. 

Реализована рейтинговая система для поставщиков, где рейтинг зависит от количества размещенных товаров, количества проданных товаров, наличия платной подписки и активности поставщика при размещении статей на портале. Рейтинг поставщика — один из важных факторов при ранжировании его товаров и услуг.  Позиция товаров зависит также от качества заполнения товарной карточки и количества его продаж.
03 — Функционал

Каталог запросов и тендеров

Данный раздел представляет собой систему, в которой заказчик товара/услуги может разместить запрос с определенными параметрами, а поставщик — сделать свое предложение на этот запрос. Поставщик может указать детальную информацию о каждом запросе (тендере) и, при необходимости, обсудить подробности в чате с поставщиком. Статистика по каждому запросу находится в свободном доступе, т. е. можно отследить, сколько откликов и просмотров в каждом. 
03 — Функционал

Личный кабинет поставщика

Реализовали функциональный кабинет для поставщика, где он управляет аспектами, которые касаются размещаемых на маркетплейсе товаров: 
размещать, редактировать и удалять информацию о товарах и услугах; 
управлять данными и внешним видом карточки компании;
следить за статистикой по товарам/услугам в разрезе разных периодов (по количеству просмотров, кликов по номеру, сообщениям в чат) как по всему каталогу, так и по отдельным позициям; 
отслеживать действия по запросам и тендерам, в которых поставщик принимает участие; 
использовать инструменты для платного продвижения на площадке;
писать статьи от лица компании в блоге. 
03 — Функционал

Подписочная модель

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

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

Сервис интегрирован с платежной системой CloudPayments для оплаты и системой Битрикс24 на стороне заказчика для выставления счетов юридическим лицам. 
03 — Функционал

Реферальная система

Чтобы стимулировать привлечение на платформу покупателей, реализована реферальная система. Для каждого пользователя генерируется индивидуальная ссылка, которой он может поделиться с друзьями и получить бонус на внутренний счет за каждую регистрацию по этой ссылке. 
03 — Функционал

Личный кабинет заказчика

В личном кабинете заказчик может разместить тендер (запрос) на интересующий его товар или услугу, указав точные критерии необходимой позиции и получить релевантные отклики от поставщиков. 

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

По итогу заказчик может сгруппировать все полученные отклики в табличном виде. Благодаря уведомлениям на электронную почту заказчик узнает максимально оперативно о новых откликах на свой запрос. 

Также в личном кабинете заказчика доступен функционал подбора потенциального поставщика товаров под выбранные параметры: категория, регион и возможность взять заказ.
03 — Функционал

Блог и статьи

Данный раздел включает в себя статьи, разбитые по тематике (строительство, ремонт квартир и т. д.) и обновления, связанные с работой сайта. Категория «Полезные статьи» наполняется поставщиками. Для поставщика это возможность поделиться экспертными знаниями по определенной теме и рассказать о себе потенциальной аудитории. 
03 — Функционал

Онлайн-чат

Используется для обсуждения деталей сотрудничества между поставщиком и покупателем в рамках тендера/запроса/товара. С его помощью покупатель и поставщик могут уточнять все необходимые детали по сделке, обмениваться необходимыми документами. 

Чат доступен в личном кабинете всем авторизованным пользователям.
03 — Функционал

Адаптивный дизайн

Благодаря адаптивному дизайну сайт корректно отображается на любых видах устройств: на десктопном мониторе, планшетном компьютере, экране смартфона.
03 — Функционал

Помощь и обратная связь

Покупатель и поставщик всегда могут обратиться с вопросами по работе сервиса и оперативно их решить. Этот функционал реализован с помощью специального раздела с ответами на популярные вопросы, а также раздела для отправки вопросов на электронную почту службе поддержки.
04 — Результаты

Результаты

Превратили доску объявлений в полноценный маркетплейс с удобной системой «все в одном окне».  

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

Проект избавлен от legacy-кода, и текущая реализация способствует дальнейшему технологическому развитию и внедрению нового функционала. В ближайшее время запланировано внедрение новых сервисов: работа с цифровыми договорами, собственная CRM, виртуальная 3D-выставка проектов домов. 
05 — Команда

Команда разработки

Надежда Мокрушина
Руководитель проекта
Сергей Бобров
Ведущий Backend-разработчик
Дмитрий Богданов
Ведущий Frontend-разработчик
Александр Шорохов
QA
Олег Казаков
DevOps, архитектор
Дмитрий Плотников
Backend-разработчик
Андрей Клименко
Frontend-разработчик

Связаться с нами

Хотите обсудить свой проект? Воспользуйтесь формой обратной связи и мы начнем общение.