Azoft Webchat

Как мы разработали веб-чат для общения в реальном времени

Идея проекта

Всё началось с мечты. Мечты о том, что проекты можно собирать как кубики LEGO из готовых компонентов. Такая модель разработки позволила бы достигать нужного результата эффективнее, как и с нашей стороны, разработчика, так и со стороны клиентов.

Мы задались вопросом: что объединяет наши проекты? Проанализировав запросы от клиентов за последние три года, мы выявили, что самым востребованным оказалось желание внедрить собственный чат-клиент в продукт.

Каждый раз придумывать новое решение задача выполнимая, но ресурсоёмкая, поэтому мы решили создать собственный чат с базовыми функциями, который можно в дальнейшем тонко настроить с учетом конкретных запросов клиента.

Изучив подобные решения на рынке, мы выделили схожие от продукта к продукту проблемы: 

  • высокие тарифы
  • из-за неполноты документации приходится тратить время на её прояснение и дополнение
  • лишний функционал, который не используется

Таким образом, наш продукт сократит время на разработку проекта клиента, так как большая часть веб-чата уже готова в виде заранее написанных модулей-компонентов.

Решение

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

  • Внутри команды. Может служить как корпоративный мессенджер.
  • С пользователями и клиентами продукта. Веб-чат стимулирует рост и вовлечённость пользователей, преобразуя сайт в социальную площадку, где юзеры взаимодействуют между собой. 
  • Для поддержки клиентов.

Чтобы веб-чатом было удобно пользоваться, мы подошли к его разработке как внешнему сервису. Это означает, что мы не интегрируем текущий чат в код исходного сайта в виде библиотеки или большого модуля. Мы разворачиваем его отдельно и работаем с ним как с сервисом через API. 

Базовые функции веб-чата:

  • Мгновенный обмен сообщениями 
  • Создание неограниченного количества чатов приватных и публичных
  • Управление пользователями и чат-комнатами через API (в том числе авторизация)
  • Просмотр текущих участников в комнате
  • Индикация набора текста
  • Обмен текстовыми сообщениями
  • История сообщений
  • Поиск по сообщениям

Любые из этих функций может делать админ или пользователь всё зависит от того, как функционал будет внедрен в систему.

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

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

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

Преимущества нашего решения

  1. Сокращает время на разработку. Одно гибкое решение в долгосрочной перспективе помогает эффективно решать множество задач в поддержке и в доработке. В частности, оно позволяет:
  • выполнить развёртывание в любом месте: на внутреннем сервере проекта или на стороннем, также возможно разнесение на несколько. Это даёт возможность встраивать наш продукт в широкий спектр архитектурных решений для приложений.
  • обеспечить нагрузку на сервис, соразмерную проекту
  • обновлять копии с минимальными усилиями
  1. Уменьшает стоимость содержания проекта. Лицензия на использование чата включена в договор на поддержку после окончания разработки решения.
  2. Обеспечивает безопасность и стабильность работы. Никаких костылей и внезапных конфликтов в логике модулей.
  3. Решает задачи бизнеса. Мы можем доработать веб-чат, чтобы он был заточен под специфику вашего проекта. 

Если вы тоже хотите разработать веб-чат для своих бизнес-задач — мы будем рады вам помочь.

Стек технологий

PHP, NodeJS(NestJS), Socket.io, Redis, PostgreSQL

Технологический стэк

  • Redis
    Redis
  • PHP
    PHP
  • NodeJS
    NodeJS

Запросите консультацию эксперта

Отправить заявку

Вы можете загружать файлы до 200 Мб в форматах doc, docx, pdf, odt, ott, txt, jpeg, xls, rar, zip, 7z

Фильтр

Закрыть

Технологии

Индустрии