Разработка backend для one-to-one видеозвонков

Общая задача

Разработать надежный backend для обеспечения одноранговых видеозвонков между двумя пользователями с низкой задержкой и высоким уровнем приватности. Используются технологии: WebRTC, STUN/TURN-серверы, WebSockets, Node.js/Express/NestJS, PostgreSQL, Redis.

Ключевые требования

  • Реализации сервера сигнализации для установления соединений между пирами
  • Поддержка STUN/TURN для обхода NAT и работы при блокировках
  • Система точного учета времени звонков с возможностью авто-завершения по расписанию

Бэкенд компоненты

  • API сессий: создание, управление, завершение звонков
  • Чат: обмен текстовыми сообщениями в процессе звонка
  • Уведомления: push-уведомления о событиях (новый звонок, завершение)
  • Интеграция устройств: поддержка управления (Lovense)

Важные характеристики

  • Низкая задержка (low-latency)
  • Конфиденциальность (privacy)
  • Масштабируемость на выделенных серверах

Особое внимание уделить безопасности передачи данных и отказоустойчивости инфраструктуры.