Разработка серверной части чата для мобильных приложений

Цена договорная
25 марта 2019, 18:35 • 6 откликов • 61 просмотр
Описание функционала чата.

Для задачи требуется сформировать 2 типа чатов:

Общий чат - создается на каждое мероприятие, становится активным за час до начала мероприятия, завершает работу через 3 часа после мероприятия, доступен в виде истории переписки в течение года. Время начала и окончания работы чата и времени хранения истории храниться в виде изменяемых настроек в базе (MySql). Все участники мероприятия при создании автоматически добавляются в чат мероприятия, могут следить за перепиской и отвечать на нее.

Персональный чат - есть возможность создать в любое время с любым контактом из контактов в списке мероприятий или контактов из базы (Контакты). Чат недоступен никому кроме 2 участников. В него нельзя приглашать никого. Т.е. он всегда только для двоих.

Общие требования:

1 мероприятие - 1 общий чат, мероприятий может быть много, они будут создаваться постоянно.
Чаты должны быть привязаны к сессии пользователя (токен) и только пользователь с валидным токеном может писать в чаты и создавать приватные с другим участником.

Должна сохраняться история переписки согласно настройкам, с возможностью изменения срока хранения через корректировку настройки.

В чате возможно писать текст, использовать смайлы, прикреплять файлы (настраиваемый список разрешенных расширений и размера файлов) и фото. Их хранить в рамках существования чата, после удаления - удалять.

По основной задаче разрабатывается API (php/bitrix), если необходимо, можно добавить какие-то запросы/ответы от API. Например id мероприятия, пользователей мероприятия и т.д. Сделаю необходимое, по запросу/тех.заданию.

Предполагается использование socket.io на node.js в качестве realtime-транспорта, в качестве клиентов - только мобильные устройства. Готов рассмотреть и ваши предложения, важное условие - должна быть простая возможность реализовать клиенты под iOS, Android и возможность посадить на одну сессию с пользователем.

В серверной части предполагается (в случае реализации на Node.js) что сервер с node.js будет иметь доступ к базе данных, однако не будет иметь доступа к окружению и серверу API напрямую (исключая доступ по запросам к АПИ). Т.е. обмен будет вестись или через базу, или через АПИ.

Нужна предоценка по сроку и деньгам.
Рассматриваю только частных (самостоятельных) разработчиков (не команды и не студии).
Существует определенная срочность по данному проекту.​