Форк Mrim-Web для работы с OpenVK

Целью проекта это создать веб-интерфейс для MRIM, который можно использовать вместе с OpenVK, сохраняя совместимость с Renaissance и постепенно добавляя возможности социальной сети.

openvk.org/app647
Интеграция с OpenVK

Возможности:

  • Обмен сообщениями через Mrim-Web
  • Аватары и имена пользователей OpenVK
  • Поддержка функции «Будильник»
  • Дизайн в стиле ВКонтакте

Техническая реализация

Интеграция MRIM и OpenVK реализована поверх существующей архитектуры MRIMWEB. MRIM продолжает отвечать за авторизацию, контакты и сообщения, а OpenVK используется как дополнительный API-источник.

Например, для получения аватара пользователя:

const user = await openvkApi.getUser(userId);

avatar.src = user.photo;

Данные OpenVK можно сопоставлять с пользователем MRIM и использовать непосредственно в интерфейсе:

contact.avatar = openvkUser.photo;
contact.name = openvkUser.full_name;

При этом MRIM-пакеты не изменяются. Дополнительные функции работают отдельным слоем поверх WebSocket-соединения Mrim-Web.
Такой подход позволяет постепенно добавлять функции OpenVK: профили, подарки, голоса, уведомления и другие возможности, не ломая существующую совместимость с MRIM и Renaissance.

Мини-приложение в OpenVK

Воспользоваться клиентом можно с помощью мини-приложения в OpenVK: https://openvk.org/app647