Skip to main content

Компоненты

Основные компоненты системы

Интерфейс пользователя

Main UI

Главный интерфейс пользователя, реализованный на Vue.js. Он обеспечивает доступ к основным функциональным возможностям системы для конечных пользователей. Этот интерфейс включает такие модули, как управление бизнес-процессами, задачами, документооборотом, аналитикой и др.

Account UI

Интерфейс авторизации, регистрации, смены пароля, подтверждения почты, реализованный на Vue.js. Этот модуль позволяет пользователям управлять своими учетными записями и контролировать процесс аутентификации, включая интеграцию с внешними провайдерами OAuth2 и SSO решениями, такими как Visary ID.


API Gateway

API шлюз, который объединяет все микросервисы в единую точку доступа для внешних запросов. Это упрощает маршрутизацию и позволяет централизованно управлять безопасностью.


Services

Web Applications

  • Identity: Аутентификация и авторизация с использованием OpenID Connect (OIDC) и OAuth 2.0.
  • Main API: Работа с бизнес-объектами платформы.
  • Workflow: Управление бизнес-процессами.
  • User Profile: Управление профилями пользователей.
  • File Storage: Хранение и управление файлами.
  • BI: Бизнес-аналитика для создания отчетов и дашбордов.
  • Calendar: Управление событиями и календарями.
  • Notification: Отправка уведомлений пользователям.
  • Audit: Аудит изменений данных.
  • Email: Отправка email-сообщений.
  • Tracker: Управление задачами.
  • Office: Работа с текстовыми документами, таблицами и PDF-файлами.
  • Signature: Создание цифровых подписей.
  • Notes: Создание пользовательских заметок.

Workers (Фоновые сервисы)

  • Preview Worker: Генерация превью картинок для загружаемых файлов.
  • File Indexer: Индексация файлов с использованием OCR для распознавания текста.

Data Storage Services

Redis

Используется как key-value хранилище для:

  • Кэширования данных (распределенный кэш).
  • Хранения настроек.
  • Управления фоновой системой заданий (с использованием Hangfire).
  • Для хранения Saga (State Machine Sagas).

PostgreSQL

Реляционная база данных, используемая для хранения всех бизнес-данных платформы. Основные компоненты системы взаимодействуют с базой данных через Entity Framework Core.

Event Bus

Шина событий, построенная на RabbitMQ or Kafka, используется для асинхронного обмена сообщениями между микросервисами системы.


Monitoring

  • Prometheus: Система мониторинга, которая собирает метрики с микросервисов и узлов системы для последующего анализа.
  • Grafana: Инструмент для визуализации данных мониторинга, позволяет строить дашборды для отслеживания состояния системы.