Архитектура приложений¶
Система MONO построена на модульной архитектуре, где функциональность может гибко расширяться через различные типы приложений. Понимание этой архитектуры поможет эффективно использовать возможности платформы.
Компоненты системы¶
graph LR
MONO["🏢 MONO Кооператив"]
subgraph "Рабочие столы / Приложения"
WS1["👤 Стол пайщика"]
WS2["👥 Стол совета"]
WS3["👑 Стол председателя"]
WSX["📦 Дополнительные столы<br/>(из мини-приложений)"]
end
subgraph "Мини-приложения"
APP1["📋 Повестка совета"]
APP2["👥 Реестр пайщиков"]
APP3["📄 Реестр документов"]
APP4["💰 Реестр платежей"]
APP5["🗣️ Реестр собраний"]
APPX["⚙️ Другие мини-приложения"]
end
subgraph "Утилиты (фоновые)"
UTIL1["⏰ Автоснятие повесток"]
UTIL2["🤖 QUOTTER<br/>(управление ресурсами)"]
end
subgraph "Платежные провайдеры"
PAY1["📱 QR-pay<br/>(базовый)"]
PAY2["💳 ЮКасса"]
PAYX["💰 Другие провайдеры"]
end
MONO --> WS1
MONO --> WS2
MONO --> WS3
MONO --> WSX
WS2 --> APP1
WS2 --> APP2
WS2 --> APP3
WS2 --> APP4
WS2 --> APP5
WSX --> APPX
MONO --> UTIL1
MONO --> UTIL2
MONO --> PAY1
MONO --> PAY2
MONO --> PAYX
Рабочие столы¶
Рабочий стол — это композитное приложение, представляющее собой специализированный интерфейс для выполнения определённых задач. Каждый рабочий стол состоит из одного или нескольких мини-приложений, организованных в единую рабочую среду.
Примеры рабочих столов:
-
Стол пайщика — базовый интерфейс для всех участников кооператива
-
Стол совета — специализированный интерфейс для управленческих задач
-
Стол председателя — административный интерфейс с максимальными правами
Мини-приложения¶
Мини-приложения — это специализированные модули, которые обеспечивают конкретную функциональность внутри рабочих столов. В текущей версии MONO мини-приложения встроены в рабочие столы и представлены как отдельные разделы меню.
Примеры мини-приложений в столе совета:
-
Повестка совета
-
Реестр пайщиков
-
Реестр документов
-
Реестр платежей
-
Реестр собраний
Виджеты¶
Виджеты — это элементы интерфейса, из которых состоят мини-приложения. В настоящее время виджеты не выделены как отдельные компоненты, но архитектурно они составляют базовые строительные блоки пользовательского интерфейса.
Утилиты¶
Утилиты — это специальный тип мини-приложений, которые работают в фоновом режиме без собственного пользовательского интерфейса. Управление утилитами осуществляется только через конфигурацию, а их функциональность исполняется автоматически.
Примеры утилит:
Автоматическое снятие вопроса с повестки Утилита автоматически снимает вопросы с повестки собраний совета через 3 дня после их создания, если решение по вопросу не принято. Это помогает поддерживать актуальность повесток и предотвращает накопление неактуальных вопросов. Срок, через который вопрос снимается с повестки, можно настроить в настройках утилиты.
QUOTTER — робот управления ресурсами Автоматизированная система тонкой настройки членских взносов за электронный документооборот. QUOTTER выполняет следующие функции:
-
Мониторинг динамики расходов вычислительных ресурсов аккаунта кооператива
-
Автоматическое пополнение ресурсов при необходимости
-
Ежедневное пополнение минимум на 5 AXON для обеспечения бесперебойной работы
-
Дополнительные пополнения при снижении уровня доступных ресурсов ниже указанного минимума
Платежные провайдеры¶
Платежные провайдеры — это специализированные сервисы, которые интегрируются в логику управления входящими платежами. Они предоставляют возможность генерировать платежные ордера и автоматически обрабатывать поступающие платежи.
Доступные платежные провайдеры:
ЮКасса Интеграция с сервисом ЮКасса позволяет:
-
Автоматизированно принимать входящие платежи
-
Автоматически увеличивать стоимость взноса на сумму комиссий
-
Генерировать безопасные платежные ссылки
-
Обрабатывать возвраты средств
QR-pay (базовое приложение) Базовый платежный провайдер, который включён в MONO по умолчанию:
-
Генерация QR-кодов для оплаты через банковские приложения
-
Поддержка Системы быстрых платежей (СБП)
-
Автоматическое распознавание входящих платежей
-
Интеграция с основными банками России
Типы приложений¶
graph LR
subgraph "Внутренние приложения"
INT1["🏠 ПК ВОСХОД"]
INT2["📦 Прямой доступ к БД"]
INT3["⚡ Высокая производительность"]
INT4["🔄 Автообновления"]
end
subgraph "Внешние приложения"
EXT1["🌐 Сторонние разработчики"]
EXT2["🔒 Только через API"]
EXT3["🛡️ Изолированное выполнение"]
end
subgraph "Контроль доступа"
DATA1["🔐 Внутреннее API MONO"]
DATA2["🔐 API с ограничениями"]
end
subgraph "Базы данных"
DB1["💾 База данных кооператива"]
DB2["💾 Распределенная база данных (блокчейн)"]
end
INT1 --> DATA1
INT2 --> DATA1
INT3 --> DATA1
INT4 --> DATA1
EXT1 --> DATA2
EXT2 --> DATA2
EXT3 --> DATA2
DATA1 --> DB1
DATA2 --> DB1
DB1 --> DB2
Внутренние приложения¶
Внутренние приложения поставляются в тесной интеграции с MONO от ПК "ВОСХОД". Они имеют прямой доступ к внутренним API и данным системы, что обеспечивает максимальную производительность и функциональность.
Характеристики внутренних приложений:
-
Глубокая интеграция с ядром MONO
-
Прямой доступ к базе данных кооператива
-
Высокая производительность
-
Автоматические обновления вместе с основной системой
-
Техническая поддержка от ПК "ВОСХОД"
Внешние приложения¶
Внешние приложения работают из внешних источников через единый центр аутентификации по API, без прямого доступа к внутренним данным MONO-кооператива. Это обеспечивает дополнительный уровень безопасности и позволяет интегрировать решения от сторонних разработчиков.
Важно: На текущий момент внешние приложения недоступны, но функциональность для разработчиков планируется к реализации в будущих версиях MONO.
Планируемые возможности внешних приложений:
-
Изолированное выполнение в безопасной среде
-
Доступ только к авторизованным данным через API
-
Возможность разработки сторонними компаниями
Связанные разделы:
- Витрина приложений — интерфейс управления приложениями