LP Agency

Создание высоконагруженного маркетплейса недвижимости

с real-time коммуникацией и видеостримингом

О проекте

Тип:
высоконагруженный маркетплейс
Сфера:
недвижимость, цифровая платформа
Формат:
разработка с нуля + real-time коммуникация + видеостриминг (чат, WebRTC-звонки, видеолента short-формата)
Стек:
Laravel 10 + React + Redis + WebSockets + WebRTC + HLS + FFmpeg + VPS
Ссылка:

Задача

Наша задача состояла в том, чтобы создать цифровою платформу недвижимости, которая будет объединять:

  • 100 000+ объектов
  • 10 000+ пользователей
  • видеоленту в формате short-контента
  • чат в реальном времени
  • WebRTC-видеозвонки
  • CRM-логику обработки заявок
  • интеграции с банками и внешними сервисами

Монетизация строится на передаче заявок застройщикам и получении комиссии.

Это не просто каталог объектов, а коммуникационная среда для рынка недвижимости.

Наша роль

Мы выступили полным технологическим партнёром: разработали платформу с нуля, сформировали команду из 4 человек (backend, frontend, DevOps, архитектор). Самостоятельно спроектировали real-time слой, настроили инфраструктуру на VPS и обеспечили бесперебойную работу всех интеграций. Фактически мы взяли на себя не только кодинг, но и инженерное сопровождение — от выбора стека до деплоя и мониторинга.

Архитектурная модель

В основе backend — Laravel 10 (PHP 8.1) в монолитном стиле: это позволило быстро итерировать и не усложнять поддержку на старте. Используем OAuth2 (Passport) для разграничения доступа, Redis — для кэшей, очередей и pub/sub, а WebSockets — для real-time.

Фронтенд — отдельное React SPA на Vite и SCSS, запросы через Axios. Инфраструктура поднята на VPS, где развёрнуты WebSocket-сервер, TURN-сервер для WebRTC и система обработки видео (HLS + FFmpeg). Всё хранилище видео — на сервере, без внешних CDN, что дало полный контроль над медиапотоками.

Backend:

  • laravel 10 (PHP 8.1)
  • монолитная архитектура
  • oAuth2 (Passport)
  • redis
  • очереди
  • WebSockets
  • HLS
  • FFmpeg

Frontend:

  • react (отдельное SPA-приложение)
  • vite
  • SCSS
  • axios

Инфраструктура:

  • VPS
  • redis (pub/sub)
  • WebSocket-сервер
  • TURN server для WebRTC
  • видео хранится на сервере

Система построена как монолитный backend + выделенный SPA-фронтенд + отдельный real-time слой.

Laravel отвечает за:

  • бизнес-логику
  • роли и доступы
  • работу с объектами
  • CRM-процессы
  • платежные интеграции
  • API для фронтенда

React отвечает за:

  • видеоленту
  • динамический интерфейс
  • чат
  • пользовательские сценарии

Real-time слой реализован через:

  • WebSockets
  • Redis pub/sub
  • очереди для асинхронной обработки

Duui2

Самые сложные технические блоки

Real-time чат:

  • постоянные WebSocket-соединения
  • синхронизация статусов сообщений
  • масштабирование соединений
  • работа через Redis pub/sub

Видеолента и HLS

  • обработка видео через FFmpeg
  • генерация HLS-потоков
  • оптимизация отдачи
  • стабильность воспроизведения

WebRTC-звонки:

  • настройка TURN-сервера
  • NAT traversal
  • стабильность соединений
  • управление сессиями

Нагрузочная логика. При росте пользователей:

  • увеличение количества активных WebSocket-соединений
  • рост операций с медиа
  • рост количества заявок

Монолитная архитектура была выбрана осознанно — для ускорения разработки и упрощения поддержки на стадии запуска.

Безопасность

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

На уровне доступа — реализована жёсткая ролевая модель: обычный пользователь, риелтор, застройщик, администратор. Каждый видит только то, что ему положено. Доступ к объектам недвижимости ограничен не только ролями, но и статусами заявок.

Аутентификация — построена на OAuth2 через Laravel Passport. Все запросы между React-фронтендом и API защищены токенами, которые имеют ограниченное время жизни и возможность отзыва.

Разделение данных — публичная информация (карточки объектов, фото) и приватная (чат, заявки, личные данные) разведены на уровне логики API. Даже в случае ошибки на фронтенде нельзя получить чужие данные.

Дополнительный контроль — вся асинхронная обработка (очереди, события) идёт через Redis с изолированными каналами, что исключает утечку данных между разными бизнес-процессами. Никаких прямых запросов к базе из фронтенда — только через валидированное API.

Бизнес-логика

Основной сценарий:

Просмотр объекта → Коммуникация → Оформление заявки → Передача застройщику → Комиссия.

Платформа объединяет:

  • маркетплейс
  • CRM
  • медиа-сервис
  • систему коммуникаций

Результат

Проект успешно завершён, запущен и продолжает нами развиваться. Мы получили не просто очередной сайт с объявлениями, а полноценную digital-платформу для рынка недвижимости, которая объединяет маркетплейс, CRM, медиасервис и коммуникационный хаб.

Ключевые достижения:

  • создана и запущена платформа с нуля, полностью соответствующая бизнес-требованиям.
  • реализован стабильный real-time слой: чат работает без задержек, уведомления приходят мгновенно.
  • встроена видеолента в формате short-контента (аналог рилсов) и полноценные WebRTC-видеозвонки между пользователем и застройщиком.
  • обработка видео через FFmpeg + HLS позволила оптимизировать воспроизведение даже на слабых каналах.
  • архитектура подготовлена к горизонтальному масштабированию — при росте нагрузки можно добавлять ресурсы без переписывания кода.
  • реализована бизнес-модель комиссионных заявок: пользователь оставляет заявку → платформа передаёт её застройщику → получение комиссии. Все процессы автоматизированы и прозрачны.

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

Бизнес-результат: клиент получил работающий инструмент для монетизации трафика и готовую к масштабированию IT-инфраструктуру.