Документация, содержащая описание функциональных характеристик экземпляра программного обеспечения, предоставленного для проведения экспертной проверки
Титульные данные
| Поле | Значение |
|---|
| Наименование ПО | Inventions |
| Условное обозначение / версия | 1.0 |
| Правообладатель | ООО «ДИТЕКС» |
| Дата документа | 15.06.2026 |
| Назначение экземпляра | Экземпляр для проведения экспертной проверки в целях включения в реестр российского ПО |
1. Назначение и решаемые задачи
Программное обеспечение Inventions предназначено для поддержки процессов управления продуктовым портфелем организации: ведение продуктов и гипотез, аналитические представления, учёт ресурсов, интеграция с внешними системами учёта задач (Jira) и аутентификации (Яндекс OAuth).
1.1. Задачи, которые решает программа
| № | Задача | Результат для пользователя |
|---|
| 1 | Централизованный учёт продуктов портфеля | Единый веб-интерфейс со списком и карточками продуктов |
| 2 | Управление гипотезами и их проверкой | Создание, просмотр и детализация гипотез с таймлайном и метриками |
| 3 | Аналитика по продуктам и гипотезам | Графики, показатели, агрегированные данные (контур TimescaleDB) |
| 4 | Интеграция с Jira | Синхронизация задач, вход по PAT, серверные запросы к трекеру |
| 5 | Аутентификация и управление доступом | Регистрация, вход, сессии, роли, внешние аккаунты |
| 6 | Фоновая синхронизация и обогащение данных | Очереди Bull/BullMQ, кэш Redis |
| 7 | Мониторинг работоспособности | Health-checks, корреляция запросов, алерты в лог |
2. Затрачиваемые ресурсы для работы
2.1. Серверная часть (экспертный стенд)
| Ресурс | Минимум | Рекомендуется |
|---|
| CPU | 2 vCPU | 4 vCPU |
| RAM | 6 ГБ (с БД и Redis) | 12 ГБ |
| Диск | 30 ГБ | 80 ГБ SSD |
| Сеть | Доступ к реестру образов; при интеграциях — к Jira/OAuth | Выделенный сегмент |
2.2. Клиентская часть (рабочее место пользователя)
| Ресурс | Требование |
|---|
| Браузер | Актуальная версия Chrome, Firefox, Edge или Safari |
| Разрешение экрана | От 1280×720 |
| Сеть | HTTP-доступ к хосту с развёрнутым frontend |
2.3. Внешние зависимости
| Сервис | Назначение | Обязательность |
|---|
| PostgreSQL / TimescaleDB | Хранение данных | Обязателен |
| Redis | Очереди, кэш, rate limiting | Обязателен |
| Jira | Интеграция с задачами | Опционально (для проверки интеграций) |
| Яндекс OAuth | Внешний вход | Опционально |
| Сервис декомпозиции | Маршрут /api/decomposition/ | По составу поставки |
3. Входная и выходная информация
3.1. Входная информация
| Источник | Тип данных | Описание |
|---|
| Пользователь (веб-формы) | Текст, числа, даты, файлы | Продукты, гипотезы, настройки, учётные данные |
| Jira API | JSON (задачи, проекты) | Синхронизация и обогащение задач |
| Яндекс OAuth | Токены, профиль | Аутентификация |
| База данных | Реляционные записи | Чтение/запись через Prisma |
3.2. Выходная информация
| Потребитель | Тип данных | Описание |
|---|
| Браузер пользователя | HTML, JSON (REST) | Страницы UI, ответы API |
| PostgreSQL / TimescaleDB | Записи, агрегаты | Сохранённые сущности и аналитика |
| Jira API | HTTP-запросы | Обновление/чтение задач (в объёме реализации) |
| Журналы | Текстовые логи | События, алерты, correlation id |
| Экспорт аналитики | По реализации модуля analytics | Выгрузки (Parquet и др.) |
4. Архитектурный состав подсистем
| Подсистема | Реализация | Назначение |
|---|
| Веб-клиент | frontend/apps/webapp | UI, маршрутизация, вызовы REST |
| Сервер приложений | backend/apps/core-backend | HTTP API, очереди, аналитика |
| Хранение данных | PostgreSQL/TimescaleDB, Prisma | Схемы users, analytics, sync |
| Кэш и очереди | Redis, Bull/BullMQ | Фоновые задачи, кэш, ограничение частоты |
| Адаптеры трекеров | tracker-adapters | HTTP к Jira с circuit breaker |
| Мониторинг | MonitoringModule | Health, алерты, OpenTelemetry (опц.) |
5. Функциональные характеристики веб-клиента
5.1. Аутентификация
- Маршрут
/login: внутренний вход/регистрация, Jira PAT, Яндекс OAuth.
5.2. Основные функции
| Функция | Маршрут | Описание |
|---|
| Портфель продуктов | /(private)/(products)/ | Список продуктов, связь с Jira |
| Карточка продукта | /products/[id]/ | Сводка, финансовая аналитика, статус |
| Гипотезы | /products/[id]/hypotheses/ | Список и детализация гипотез |
| Аналитика | /analytics/ | Аналитические представления |
| Ресурсы | /resources/ | Раздел ресурсов |
| Настройки | /settings/ | Профиль, смена пароля |
6. Функциональные характеристики сервера приложений (core-backend)
6.1. HTTP API
- Платформа: NestJS, TypeScript; валидация Zod; Swagger на
/api.
- Сессии: access/refresh в httpOnly-cookie.
6.2. Контроллеры
| Модуль | Путь | Назначение |
|---|
| Auth | auth | Регистрация, вход, refresh, выход |
| Auth / Jira | auth/jira | Вход по Jira PAT |
| Auth / Яндекс | auth/yandex | OAuth |
| User | user | Данные пользователя |
| Jira | jira | Запросы к Jira |
| Integration | integration | Интеграционные операции |
| Health | health | Liveness и readiness |
6.3. Фоновые процессы
- AnalyticsModule — запросы аналитики, кэш, BullMQ-воркер.
- QueuesModule — обогащение, DLQ, cron синхронизации.
7. Ограничения экспертного экземпляра
- Состав образов, теги и наличие внешних микросервисов для доменных маршрутов (
/api/products, /api/hypotheses и др.) определяются актом поставки.
- Производительность зависит от ресурсов СУБД, Redis и параметров пулов Prisma.
- Полный перечень REST-операций — в Swagger развёрнутого backend.
Документ подготовлен ООО «ДИТЕКС» в соответствии с п. 2.1.4 методических рекомендаций ФГИС «Реестры ПО» (акцент на задачах, функциях, назначении, ресурсах, вводных и выходных данных).