← Назад ко всем проектам

Клиентский проект

P2P Seller

P2P Seller

Технологии

ReactNodeJSReduxStrategyProjectFrontendMentoringAWSLambda

Услуги

  • Фронтенд — поиск, фильтрация и процесс бронирования на React + Redux
  • Бэкенд — логика бронирования и REST API на Node.js
  • Serverless — AWS Lambda для уведомлений, вебхуков и обновлений доступности
  • Панель управления для владельцев локаций
  • Инженерное наставничество, код-ревью и командные практики

Результаты

  • Двусторонний маркетплейс: поиск для продавцов + панель управления для владельцев локаций
  • Календарь доступности в реальном времени для каждой локации с живыми ценами
  • Процесс бронирования из трёх шагов — от поиска до подтверждённого бронирования за минуты
  • Serverless-пайплайн уведомлений и платёжных вебхуков на AWS Lambda
  • UX карточки услуг: услуги, цены, вместимость, фото и отзывы в одном окне

Задача

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

Исследование

Общение с обеими сторонами рынка выявило двустороннюю проблему. Продавцам нужен был быстрый способ находить ближайшие локации под свои требования: вместимость, набор услуг (хранение, упаковка, маркировка), цена за кубический метр и свободные слоты. У владельцев локаций была обратная проблема — их площади нередко простаивали, потому что их было слишком сложно найти. Не хватало прозрачного маркетплейса, соединяющего обе стороны в реальном времени.

Рассмотренные варианты

  1. Модель каталога/объявлений (как листинги на Avito) — отклонено. Статичные объявления устаревают; нет сигнала о доступности, нет процесса бронирования, нет доверия.
  2. Агрегатор с ручным подтверждением — отклонено. Добавляет задержку в 24–48 часов между заявкой и подтверждением; продавцам нужно действовать быстро.
  3. Платформа бронирования в реальном времени по образцу логистики Amazon Seller и UX-паттернов Booking.com — выбрано. Живой календарь доступности, мгновенное ценообразование и бронирование в один клик с подтверждением.

Решение

React + Redux для клиентского интерфейса поиска и бронирования, Node.js для бэкенд-API и логики бронирования, и AWS Lambda для событийных пайплайнов (уведомления, обновления доступности, подтверждения бронирований). Цель по UX была сформулирована явно: продавец должен уметь найти локацию, увидеть все нужные детали и завершить бронирование, не покидая экрана.

Реализация

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

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

Результат

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

Открыт для работы по контракту

Я доступен для работы по контракту. Если у вас есть интересная идея проекта — запишитесь на звонок через Calendly.

Записаться на 30-минутный звонок