Zulip - это корпоративный чат с открытым исходным кодом.
Далее представлена диаграмма контейнеров, на которой можно увидеть разрабатываемые в рамках проекта модули и компоненты. Ниже подробнее опишем некоторые из них.
Открыть диаграмму в новом окне
Cabinet... Пользователь [Person]
Участник проектной
деятельности(студент
преподаватель и т.д.) Пользователь[Person]... ЕЛК [Authentication System]
Единое информационное и сервисное пространство НИУ ВШЭ
ЕЛК[Authentication System]... Использует чат Zulip... Frontend Application [Container: ]
Браузерная, мобильная, декстопная версии Zulip
Frontend Application... Zulip Client [Component: Node.js, Axios, typescript]
Клиент для работы с API Zulip
Zulip Client... Keycloak [Authentication System]
Сервис авторизации
Keycloak... Получает токен
[HTTP OAuth 2.0]
Получает токен... Zulip Server [Component: Python]
Сервер Zulip
Zulip Server... Проверяет токен
[HTTP OAuth 2.0]
Проверяет токен... Запросы к API... Запросы к API... Получение данных
для авторизации Получение данных... Zulip Script [Component: Docker, Node.js, typescript]
Скрипт, синхронизирует состав учебных и проектных групп с каналами и группами Зулипа
Zulip Script... Внутренний вызов
для запросов к API Внутренний вызов... Google client [Software System]
Node.js библиотека для использования Google API
Google client... Запросы к API... Запросы к API... Duplications Detector [Component: Node.js, Express, typescript]
Скрипт для проверки дубликатов
среди ново зарегестр. пользователей Duplications Detector... Внутренний вызов
для запроса к API Внутренний вызов... Получение данных
для авторизации Получение данных... Google... Запросы по API
[JSON/HTTP]
Запросы по API... Запросы к API... Cabinet [Software System]
Платформа управления проектной работой
Cabinet... Cabinet Client [Container: Node.js, Axios, typescript]
Клиент для работы с API Кабинета
Cabinet Client... Zulip Cabinet-link [Component: Node.js, Express, typescript]
Служебный микросервис для Кабинета.
Zulip Cabinet-link... Outgoing Webhook Внутренний вызов
для запросов к API Внутренний вызов... Запросы к API... Rename stream bot [Component: Node.js, Express, typescript]
Бот, переименовывающий каналы по запросу пользователей Зулип
Rename stream bot... Text is not SVG - cannot display
Развертывание сервиса Zulip выполняется с помощью compose файла согласно документации .
Для развертывания компонента сервиса необходимо обратиться к соответствующей документации.