{{ ::nonnda_full-schema.drawio.png?1000 |}} ===== Платформа ===== Описание частично, затрагивает только публичные части решения. ==== Фронт ===== === Landing === Посадочная страница с описанием платформы, с которой можно попасть в веб-интерфейсы администратора и пользователя. === Веб интерфейс пользователя === * система управления заявками * система бесед (взаимодействие с внутренним XMPP сервером через веб-интерфейс) * глобальный профиль пользователя Из глобального профиля можно перейти в пользовательские профили сервисов. ==== Бэкэнд ==== === Веб-api (REST) === Следующие сервисы доступны для построения фронт-решений: * заявки и управление ими * пользовательская информация * информация о сервисах * составление цепочек заявок из нескольких сервисов === XMPP-сервер === (ejabberd - jabber, mqtt broker & sip) Используется для экспресс-коммуникации и оповещения, а также для взаимодействия с ботом. Используется в том числе для технической поддержки уровня платформы. === Mail-сервер === Используется для не экстренного оповещения без использования продуктов компании, проверки учетных данных пользователей. === Синхронизатор БД сервисов === Используется для синхронизации данных сервисов для построения цепочек услуг. Синхронизация происходит от сервиса к платформе и не в обратную сторону, но по инициативе синхронизатора, обращающегося к бэкэнду каждого сервиса напрямую. === БД === Состоит из 2 частей: * Внутренняя БД платформы * Синхронизируемся с другими сервисами часть ===== Произвольный сервис на основе ShariX Open ===== ==== Фронт ==== === Landing === Посадочная страница с описанием платформы, с которой можно попасть в веб-интерфейсы администратора и пользователя. Это одна и та же точка входа с точки зрения пользователя. При наличии администраторских прав внутри личного кабинета отображаются дополнительные страницы. === Веб интерфейс пользователя === * система управления заявками * система бесед (взаимодействие с внутренним XMPP сервером через веб-интерфейс) Из профиля сервиса можно перейти на глобальный профиль ShariX. Осуществление заказов происходит через систему заявок (может быть - посредством модифицированного интерфейса для удобства) Информация о доступных сервисах получается через обращение к собственному web api сервиса, далее, через api backend-а при необходимости происходит обращение к web-api платформы. Далее, если необходимо, происходит обращение к иным сервисам (через их систему заявок). === Веб интерфейс администратора === * система управления заявками * система бесед (взаимодействие с внутренним XMPP сервером через веб-интерфейс) * управление доступом (реализуется через систему управления заявками) Локальный профиль сервиса управляется через web api сервиса, равно как и информация об услугах, тарифах и так далее. Веб-интерфейс администратора может отображаться по-разному в зависимости от административной роли (по отношению к сервису, партнеру сервиса или исполнителю). === Мобильное приложение для клиента === Используется для осуществления заказа и управления его статусом. Для получения техподдержки по заказу. Взаимодействует с web api и xmpp сервером. XMPP сервер - для связи клиента и исполнителя текстом или голосовыми и возможно срочной техподдержки. Также через приложение возможно управление доступом к ресурсам сервиса. Это также происходит через XMPP посредством бота, но не представляется пользователю штатно через интерфейс таким способом. === Мобильное приложение для исполнителя === Используется для поиска заказа, принятия и выполнения. Для получения техподдержки по заказу. Взаимодействует с web api и xmpp сервером. XMPP сервер - для связи клиента и исполнителя текстом или голосовыми и возможно срочной техподдержки. Также через приложение возможно управление доступностью ресурсами сервиса (онлайн или оффлайн). Это также происходит через XMPP посредством бота, но не представляется пользователю штатно через интерфейс таким способом. === Бот управления заявками === Взаимодействует с WEB-api сервиса и его XMPP-сервером. * бот оповещает о новых заявках * бот создает новые заявки на основе диалога * бот меняет статус заявки на основе диалога === Бот управления ресурсами === Бот управления ресурсами реализует логику доступа к ресурсам (обращаясь к web-api сервиса), а также реализует управление ресурсами, не поддерживающими протокол XMPP или MQTT, если такие у сервиса есть. ===== Бэкэнд ==== === Веб-api (REST) === Следующие сервисы доступны для построения фронт-решений: * заявки и управление ими * информация для обеспечения работы сервиса * управление ресурсами === Backend-api === Бэкэнд устроен таким образом, чтобы: * отдавать синхронизатору только те данные, которые подлежат синхронизации. * взаимодействовать с ресурсами сервиса (управлять доступом к ним) * отправлять уведомления через почту и xmpp-сервер * при необходимости построения цепочки услуг обращаться к веб-api сервиса и получать от него ответ для дальнейшей обработки * предоставлять все необходимое для запросов через web-api сервиса === XMPP-сервер === (ejabberd - jabber, mqtt broker & sip) * рассылка оповещений в веб-интерфейсы * оперативные диалоги в приложениях (с клиентами и исполнителями, а также для технической поддержки уровня сервиса или партнера) * взаимодействие с ботами Может быть использован с применением ПО компании, внешние клиенты только из внутренней сети. Используется для управления ресурсами (XMPP или MQTT). Логика реализуется через специального бота для управления ресурсами. === Mail-сервер === Используется для не экстренного оповещения без использования продуктов компании, проверки учетных данных пользователей. === БД === Состоит из 2 частей: * Внутренняя БД сервиса с дополнительными данными, нужными только данному локальному сервису, в том числе со своей системой обработки заявок. * Синхронизируемся с платформой часть