Кейс: Teres

B2B-магазин с закрытыми ценами для юридических лиц

О проекте

Teres — интернет-магазин для B2B, в котором мы объединили каталог, личные кабинеты покупателей, индивидуальные типы цен и административную панель для управления товарами, клиентами и заказами.

Проблематика и цели

У клиента уже был сайт, однако его архитектура не поддерживала ключевые B2B-сценарии: регистрацию и проверку юридических лиц, разные типы цен для клиентов и полноценное управление каталогом через административную панель.

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

Основные цели проекта:

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

Цель

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

Как проектировали решение: от бизнес-логики к архитектуре

На старте мы проанализировали техническое задание и подробно разобрали B2B-сценарий работы с клиентами. Главной задачей было перенести в систему процесс продаж.

Пользователь регистрируется от имени юридического лица, после чего администратор проверяет данные компании и подтверждает учетную запись. Затем клиенту назначается определенный тип цены, от которого зависит стоимость товаров в каталоге.

После этого пользователь формирует заказ и отправляет его на обработку. Заявка поступает в административную панель, где ее принимает менеджер и продолжает работу с клиентом по внутреннему процессу компании.

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

Параллельно мы переработали клиентский интерфейс: каталог, карточки товаров, навигацию и основные сценарии взаимодействия с магазином.

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

  1. Анализ требований

    Команда изучила ТЗ, определила ключевые пользовательские сценарии и бизнес-логику B2B-заказов.

  2. Проектирование backend-структуры

    Были выделены основные сущности, спроектирована база данных, связи между таблицами и маршруты для работы клиентской части и админ-панели.

  3. Разработка клиентской части

    Реализован каталог товаров, карточки товаров, фильтрация, сортировка, поиск, корзина, избранное и сценарии авторизации.

  4. Разработка личного кабинета

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

  5. Настройка админ-панели

    На Filament реализовали административный интерфейс для управления товарами, заказами, пользователями и заявками.

  6. Тестирование и доработки

    После запуска команда сопровождала проект, помогала заказчику работать с админкой и вносила небольшие доработки по отображению товаров на сайте.

Ключевые решения

  1. B2B-модель доступа
    Сайт был спроектирован под работу с юридическими лицами. Пользователь проходит регистрацию, указывает реквизиты компании, а после проверки получает доступ к каталогу и индивидуальным условиям.
  2. Закрытое отображение цен
    До авторизации каталог работает как витрина без цен. Стоимость становится доступна после проверки юридического лица и назначения ему соответствующего типа цен.
  3. Админ-панель стала основной точкой управления проектом
    В Filament собрали единый административный интерфейс: через него сотрудники Teres управляют товарами, категориями, пользователями, заявками юридических лиц и заказами.
  4. Оформление заказа через менеджера
    Архитектуру оформления заказа построили вокруг существующего процесса продаж: сайт фиксирует состав заказа и данные покупателя, после чего менеджер продолжает работу с юридическим лицом.
  5. SPA-подход в интерфейсе
    Клиентскую часть построили по SPA-модели: при переходах между разделами приложение обновляет необходимый контент без полной перезагрузки страницы.

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

Павел ДыкинBackend-разработчик

Ключевые технологии

  • Языки и фреймворки:
     PHP
     Laravel
  • Клиентская часть:
     SPA-подход
  • Админ-панель:
     Laravel Filament
  • Инфраструктура:
     Docker

Техническая архитектура

Проект состоит из трех основных частей: клиентская часть интернет-магазина, личный кабинет пользователя и административная панель.

Клиентская часть отвечает за каталог, карточки товаров, фильтры, сортировку, поиск, корзину, избранное и оформление заявки. Личный кабинет позволяет юридическому лицу работать с заказами и получать доступ к назначенному типу цен. Админ-панель на Laravel Filament используется для управления товарами, пользователями, заказами и заявками.

Backend реализован на PHP/Laravel. Данные пользователей, заказов и каталога хранятся в базе данных на сервере. База не находится в открытом доступе и работает внутри серверной инфраструктуры, развернутой в Docker.

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

Ирина КубраковаМенеджер проекта

Результаты сотрудничества

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

В результате клиент получил:

  • каталог из 30 категорий и 1500 товаров;
  • личный кабинет для юридических лиц;
  • 4 типа цен для разных категорий покупателей;
  • удобную админ-панель для самостоятельного управления каталогом;
  • корзину, избранное, фильтры, сортировку и поиск;
  • понятный сценарий оформления заявки без онлайн-оплаты;
  • техническую основу для дальнейшего развития и интеграции с 1С.

После запуска в системе зарегистрировалось более 120 юридических лиц, через платформу прошло более 650 заказов и было отправлено свыше 800 заявок.

В результате Teres получил единую B2B-систему, в которой каталог, верификация юридических лиц, типы цен и обработка заказов работают в одном контуре. Сотрудники клиента самостоятельно управляют ассортиментом и покупателями через Filament, а архитектура позволяет дальше развивать платформу, например подключить обмен данными с 1С.