Главная/Портфолио/Как мы разработали веб-чат для общения в реальном времени
Azoft WebchatКак мы разработали веб-чат для общения в реальном времени
Идея проекта
Всё началось с мечты. Мечты о том, что проекты можно собирать как кубики LEGO из готовых компонентов. Такая модель разработки позволила бы достигать нужного результата эффективнее, как с нашей стороны, разработчика, так и со стороны клиентов.
Мы задались вопросом: что объединяет наши проекты? Проанализировав запросы от клиентов за последние три года, мы выявили, что самым востребованным оказалось желание внедрить собственный чат-клиент в продукт.
Каждый раз придумывать новое решение — задача выполнимая, но ресурсоёмкая, поэтому мы решили создать собственный чат с базовыми функциями, который можно в дальнейшем тонко настроить с учетом конкретных запросов клиента.
Изучив подобные решения на рынке, мы выделили схожие от продукта к продукту проблемы:
- высокие тарифы;
- из-за неполноты документации приходится тратить время на её прояснение и дополнение;
- лишний функционал, который не используется.
Таким образом, наш продукт сократит время на разработку проекта клиента, так как большая часть веб-чата уже готова в виде заранее написанных модулей-компонентов.
Решение
Мы создали плагин чата для общения в реальном времени. Он помогает решить задачи по повышению эффективности коммуникаций:
- Внутри команды. Может служить как корпоративный мессенджер.
- С пользователями и клиентами продукта. Веб-чат стимулирует рост и вовлечённость пользователей, преобразуя сайт или веб-приложение в социальную площадку, где юзеры взаимодействуют между собой.
- Для поддержки клиентов.
Чтобы веб-чатом было удобно пользоваться, мы подошли к его разработке как внешнему сервису. Это означает, что мы не интегрируем текущий чат в код исходного сайта в виде библиотеки или большого модуля. Мы разворачиваем его отдельно и работаем с ним как с сервисом через API.
Базовые функции веб-чата:
- Мгновенный обмен сообщениями
- Создание неограниченного количества чатов — приватных и публичных
- Управление пользователями и чат-комнатами через API (в том числе авторизация)
- Просмотр текущих участников в комнате
- Индикация набора текста
- Обмен текстовыми сообщениями
- История сообщений
- Поиск по сообщениям
Любые из этих функций может делать админ или пользователь — всё зависит от того, как функционал будет внедрен в систему. Структура веб-чата представляет собой множество комнат для общения, где можно организовать разную логику работы: например, объединять коллег по отделам или по задачам и проектам. При этом сотруднику не нужно иметь отдельный аккаунт — приглашение пользователя происходит через API, что упрощает использование системы. С помощью этой же технологии управляются чат-комнаты. Их можно создавать автоматически под разные сценарии. Например, при разработки веб-платформы для онлайн обучения при старте занятия создается новая чат-комната с участниками.
Дальше на основе базовой версии мы развиваем чат согласно запросу клиента. Для кого-то может быть важна возможность отправки тяжелых файлов, а кому-то — использование эмодзи. Подобные индивидуальные правки мы согласуем по обычному процессу разработки проекта для заказчика.
Преимущества нашего решения
- Сокращает время на разработку. Одно гибкое решение в долгосрочной перспективе помогает эффективно решать множество задач в поддержке и в доработке. В частности, оно позволяет:
- выполнить развёртывание в любом месте: на внутреннем сервере проекта или на стороннем, также возможно разнесение на несколько. Это даёт возможность встраивать наш продукт в широкий спектр архитектурных решений для приложений;
- обеспечить нагрузку на сервис, соразмерную проекту;
- обновлять копии с минимальными усилиями.
- Уменьшает стоимость содержания проекта. Лицензия на использование чата включена в договор на поддержку после окончания разработки решения.
- Обеспечивает безопасность и стабильность работы. Никаких костылей и внезапных конфликтов в логике модулей.
- Решает задачи бизнеса. Мы можем доработать веб-чат, чтобы он был заточен под специфику вашего проекта.
Если вы тоже хотите разработать веб-чат для своих бизнес-задач — мы будем рады вам помочь.
Стек технологий
PHP, NodeJS(NestJS), Socket.io, Redis, PostgreSQL
Технологический стэк
-
Redis
-
PHP
-
NodeJS