Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Разработка внутреннего мессенджераОбщий функционал похож на скайп. Слева контакты: пользователи, групповые чаты, "прикрепленные" чаты (обсуждения объектов, задач, событий, формируемых в других модулях), а также - в дальнейшем - контакты, подтянутые из сторонних мессенджеров по API. Сортировка - по важности и хронологии. Т.е. сообщения, помеченные как "экстренные" и "срочные" выталкивают контакт наверх, независимо от того, сколько "обычных" сообщений пришло позже.Все однажды начатые чаты хранятся в отдельной таблице и не удаляются (но могут быть помечены как "удаленные" юзером с соответствующими правами и не показываться в списке контактов).Каждый чат хранит следующую инфу:- ID- Тип чата (ниже)- id автора (создателя чата)- Тип объекта, к которому "привязан" чат (типы - отдельная таблица), 0 - ни к чему не привязан. Чат, привязанный к объекту 1, привязанный к объекту 2 и не привязанный ни к чему - это три разных чата, даже если участники одни и те же.- ID объекта (может быть пустым)- Время создания- Время последнего сообщения- список участников (отд. таблица).Типы чатов:- Диалог (юзер-юзер) - создается, как только один юзер написал другому.- Групповой - создается юзером по соответствующей кнопке "создать групповой чат" с последующим выбором участников. В чат можно добавлять участников в процессе, при этом он становится групповым. Если чат до этого был диалогом, диалог сохраняется неизменным, и формируется новый (пустой) групповой чат.- Привязанный - то же, что и групповой, но создается "извне".  Каждый юзер в системе имеет реквизиты своих мессенджеров, доступных по API, и может добавлять в чат контакты оттуда. Т.е. если в чате юзер1 и юзер2, затем юзер2 добавил своего абонента из ватсапа, то в чате участвуют трое, все сообщения попадают в чат и отсылаются в мессенджер добавленному абоненту.  Поскольку интеграция с мессенджерами будет выполняться позже, сейчас нужно предусмотреть следующий функционал: - таблица с типами мессенджеров: ID, название. - таблица с их реквизитами для юзеров: id юзера. id мессенджера. логин, пароль, дополнительные дланные (пока просто текстовое поле, что и как там будем хранить - будет зависеть от мессенджера). - Таблица с внешними контактами: юзер, мессенджер, имя контакта, доп инфа (свободное текстовое поле). - функция получения контактов юзера из выбранного мессенджера и функция отправки сообщения через выбранный мессенджер с аккаунта юзера определенному контакту - пока просто заготовки, пусть возвращают false.Функция создания чата должна принимать параметры: тип чата, тип объекта, id объекта, id юзера, список юзеров-участников, список "сторонних" контактов. Обязательный параметр - только тип. Возвращает ID созданного чата.Переписка: обычный текст, тэги сообщения (отдельная строка с функцией автозаполнения. можно последовательно выбрать несколько тэгов) плюс отправка файлов. Файлы складируются в папке attachments/files_messenger. В базе фиксируется каждое сообщение: id чата, юзера-отправителя, стороннего контакта-отправителя, дата-время (все даты в timestamp), id файла, приоритет. Для файлов отдельная таблица: id, источник (пока пусть будет 1 - чат, дальше будут и другие), оригинальное название, "внутреннее" название (формируется при сохранении, можно использовать uniquid или что-то другое, обеспечивающее уникальность) - под этим именем файл сохраняется на диске.Приоритет - обычное, срочное, экстренное.Настройки доступа: Есть специальный модуль plugins/p1001_options, страница nastrojki.html, где можно создать свой набор настроек, задаваемых отдельно для каждой группы пользователей. Эти настройки попадают в таблицы qx2_plugin_options (собственно описание настроек) и qx2_plugin_optval (их значения для групп). Дальше их можно использовать внутри плагина. При помощи этих настроек нужно организовать права доступа:- управление списком чатов: видны все чаты, фильтрация и сортировка по пользователю, типу/id объекта, дате создания, дате последнего сообщения. Возможность удалять чаты (не удалять физически. а помечать в базе как "удаленные", после чего юзеры перестают их видеть, но управляющий может восстановить)- отправка срочных и экстренных сообщенийФункции, используемые извне: создание чата (уже описывал), отправка сообщения в чат - указывается id чата, юзера-отправителя (0 - системное), собственно сообщение (текст, тэги, файл, статус). Возвращает true|falseпроверка новых сообщений для пользователя. Как лучше организовать (признак "прочитано", по времени захода юзера в чат/последнего сообщения в чате, или как-то еще) - без разницы, главное, чтобы функция возвращала ID сообщений, которых юзер еще не видел.

6 лет назад
Helions
34 годаУкраина
6 лет в сервисе
Был
3 года назад
  • Похожие заказы
  • Необходимо создать архив, подгрузив который выполнит автоматическую установку интеграции мобильного приложения с r-keeperом. Суть заключается в том, чтобы проведенные оплаты с r-keeperа отображались в приложении по определенному кассиру

    Закрыт
    6 лет назад
  • Задача Х Нужно вывести торговые предложения в ИМ на Битрикс.  Сейчас заведены товары, в элементы с торговыми предложениями. нужно их все вывести в каталог с регулировкой в админке (выводить/не выводить), например чекбоксом.    Вот например категория диваны: http://shop.kimet.ru/catalog/divany-pryamye/   В нем есть ...

    Закрыт
    6 лет назад
  • Ищется разработчик на постоянную работу. Разработка систем управления серверами и облачными сервисами. Обязательные требования: - Опыт разработки PHP (ООП) от 3 лет - Знание фреймворка Laravel (С примерами) - Умение пользоваться Git - Понимаение правильного дизайна DB (MySQL) - Понимание различий между ...

    Закрыт
    6 лет назад
  • Срочно требуется Wordpress Full-stack разработчик (одиночка, не студия/агентство) закончить разработку сайта + дальнейшее техническое сопровождение. На данный момент имеем - [url=http://clinic.dentalux-m.ru]ссылка [/url], из срочных задач: 1. Адаптивная верстка 2. Доработать верстку отдельных макетов в соответствии с обновленными PSD 3. Связать ...

    Завершен
    5 лет назад
  • $20

    Есть chm-файл с оглавлением и статьями с картинками Задача создать категории как в chm и загрузить статьи с картинками на пустой wp сайт как записи. Оплата WMR по факту.

    Завершен
    6 лет назад
  • Добрый день! Хочется сделать пока ПРОТОТИП FACEBOOK БОТА, который будет на старте узнавать у пользователя его расписание на неделю для занятий спортом и потом в эти дни/время напоминать позаниматься. Настройка на many chat или flowxo. Ожидаю, что ...

    Закрыт
    6 лет назад
  • Доброго времени суток! Нужен веб-чат со следующим функционалом: 1) возможность иметь нужное количество комнат для пользователей. указывать допустимое кол-во пользователей в чате. 2) общение в чате только для зарегистрированных пользователей (не зарегистрированный пользователь может видеть только основной чат, ...

    Закрыт
    6 лет назад
  • Есть сайт: katrin62.ru/, мне нужна отдельно мобильная версия его. Т.е он будет по адресу: m.katrin62.ru  На мобильную версию есть дизайн (приложен к заданию) он сделан по bootstrap сетке для мобил и планшетов. Нужно сверстать мобильную версию ...

    Завершен
    6 лет назад
  • Здравствуйте. Перенесли сайт на новый домен, движок вебасист, в описании товара были картинки, при переносе домена они перестали отображаться. Нужно подправить.

    Закрыт
    6 лет назад
  • Нужно сверстать 2 страниицы (таблицы, формы) и интегрировать их в текущую админку. Скрины страниц приложены Текущая админка тут: [url=http://52.234.147.185/login]http://52.234.147.185/login[/url] [url=mailto:[email protected]][email protected][/url] 123456 [url=https://drive.google.com/file/d/1OxYAxcsn9hVfDAc2HsNp3483xVW6eMuE/view?usp=sharing]https://drive.google.com/file/d/1OxYAxcsn9hVfDAc2HsNp3483xVW6eMuE/view?usp=sharing[/url]

    Закрыт
    6 лет назад