Создание высоконагруженного маркетплейса недвижимости
с real-time коммуникацией и видеостримингом
О проекте
Задача
Наша задача состояла в том, чтобы создать цифровою платформу недвижимости, которая будет объединять:
- 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
- очереди для асинхронной обработки

Самые сложные технические блоки
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-инфраструктуру.




