Документация, содержащая описание технических средств хранения исходного текста и объектного кода программного обеспечения, а также технических средств компиляции исходного текста в объектный код программного обеспечения

Титульные данные

ПолеЗначение
Наименование ПОInventions
Условное обозначение / версия1.0
ПравообладательООО «ДИТЕКС»
Дата документа15.06.2026
НазначениеМатериалы для включения сведений о ПО в реестр российского программного обеспечения (экспертная проверка)

1. Назначение документа

Настоящий документ подготовлен в соответствии с п. 1.2 и п. 2.1.2.1 методических рекомендаций по работе с ФГИС «Реестры программ для ЭВМ и баз данных» и содержит описание:

  • технических средств хранения исходного текста программного обеспечения Inventions;
  • технических средств хранения объектного кода;
  • технических средств компиляции (трансляции) исходного текста в объектный код;
  • адреса нахождения указанных технических средств на территории Российской Федерации.

Документ одновременно выполняет функцию письма правообладателя с описанием места хранения исходных материалов разработки (программирование, конфигурирование, документирование) и средств сборки, как того требует п. 2.1.2.1 методических рекомендаций.

2. Общие сведения о программном обеспечении

ПараметрЗначение
НаименованиеInventions
Версия1.0
ПравообладательООО «ДИТЕКС»
АрхитектураМонорепозиторий: веб-клиент, сервер приложений, общие пакеты
Языки исходного текстаTypeScript, JavaScript (конфигурация), SQL (миграции Prisma), JSON, YAML, SCSS
Объектный кодJavaScript (Node.js), клиентский JavaScript (браузер), Docker-образы
Формат поставки эксплуатационного экземпляраDocker-образы из реестра контейнеров

2.1. Характер компиляции

Исходный текст ПО Inventions написан преимущественно на языке TypeScript. В отличие от программ, исходный текст которых исполняется напрямую (например, чистый JavaScript или PHP без этапа трансляции), для Inventions предусмотрен обязательный этап трансляции (компиляции) исходного текста в объектный код JavaScript с последующей упаковкой в Docker-образы.

Компиляция (трансляция) исходного кода выполняется на серверах непрерывной интеграции и сборки, расположенных на территории Российской Федерации (см. раздел 7).

3. Технические средства хранения исходного текста

3.1. Место и способ хранения

Вид деятельностиСредство храненияОписание
Программирование (backend, frontend, shared)Git-репозиторий на сервере GitLabЦентрализованное версионирование исходных текстов монорепозитория inventions
Проектирование и документированиеТот же репозиторий (docs/)Архитектурные описания, ADR, эксплуатационная документация
Конфигурирование сборки и развёртыванияРепозиторий (корень, docker/)Dockerfile.*, docker-compose.yml, .gitlab-ci.yml
Локальная разработкаРабочие станции разработчиковКлоны репозитория; синхронизация через Git

Исходные тексты хранятся на собственном или арендованном сервере системы контроля версий (GitLab). Сгенерированные артефакты (node_modules/, dist/, .next/, .env) в репозиторий не включаются (см. .gitignore).

3.2. Программное обеспечение серверов хранения исходного кода

КомпонентНазначение
GitLab (или эквивалент)Хранение репозитория, управление доступом, резервное копирование
ОС сервера GitLabLinux
GitКлиентский протокол доступа к репозиторию

3.3. Состав и форматы исходных текстов

КомпонентРасположениеТипы файлов
Сервер приложенийbackend/apps/core-backend/src/.ts
Веб-клиентfrontend/apps/webapp/src/.tsx, .ts, .scss
Схема БДshared/database/prisma/schema.prisma, SQL-миграции
Общая валидацияshared/validation/src/.ts
Документация для реестраdocs/registry-expert/.md

3.4. Идентификация версий исходного текста

  • Git-коммиты и теги;
  • ветки разработки и релизные ветки по внутреннему регламенту ООО «ДИТЕКС»;
  • контроль целостности — криптографические хеши коммитов Git.

4. Технические средства хранения объектного кода

Под объектным кодом понимаются исполняемые артефакты, полученные в результате трансляции исходного текста, а также готовые к эксплуатации Docker-образы.

4.1. Промежуточные артефакты сборки

КомпонентКаталогСодержание
Backend (inventions-backend)backend/apps/core-backend/dist/JavaScript-модули; точка входа dist/main.js
Shared-пакетыshared/*/dist/Скомпилированные .js/.mjs, .d.ts
Frontend (web)frontend/apps/webapp/.next/Бандлы Next.js, каталог standalone/
Prisma Clientпосле prisma generateСгенерированный код доступа к БД

Промежуточные артефакты создаются при сборке и не хранятся в Git.

4.2. Основное хранилище объектного кода поставки

Готовые Docker-образы публикуются в реестре контейнеров (переменная HUB):

ОбразИмяСодержание
Backend${HUB}/inventions/backend/next:<тег>Node.js 20, dist/main.js, production-зависимости
Frontend${HUB}/inventions/frontend/web:<тег>Node.js 22, Next.js standalone, nginx, статика

Теги формируются в GitLab CI (.gitlab-ci.yml): CI_COMMIT_REF_NAME, latest.

4.3. Хранение на узле эксплуатации

При развёртывании (docker compose pull && docker compose up) объектный код хранится в локальном хранилище Docker на хосте заказчика или экспертной организации.

5. Технические средства компиляции исходного текста в объектный код

5.1. Перечень программных средств компиляции (трансляции)

СредствоВерсияНазначение
Node.js≥ 18 (в образах: 20 — backend, 22 — frontend)Среда выполнения компиляторов и сборщиков
TypeScript (tsc)5.7.3Трансляция .ts/.tsx в JavaScript
@nestjs/cli11.xСборка backend (nest build)
Next.js16.xСборка frontend (next build), SWC/webpack
tsup8.5.1Сборка shared-пакетов
Prisma CLI7.5.0Генерация клиента БД (prisma generate)
pnpm9.0.0Управление зависимостями монорепозитория
Turbo^2.4.4Оркестрация задач build
Docker + KanikoФормирование production-образов в GitLab CI

5.2. Последовательность компиляции

  1. pnpm install — установка зависимостей по pnpm-lock.yaml.
  2. pnpm turbo build — сборка shared-пакетов, затем backend и frontend.
  3. Backend: nest build → каталог dist/.
  4. Frontend: next build → каталог .next/ (режим standalone).
  5. Dockerfile.backend / Dockerfile.frontend — упаковка объектного кода в образы.
  6. GitLab CI (Kaniko) — публикация образов в реестр HUB.

Подробные команды локальной сборки — в разделе 8.

5.3. Лицензионные ключи средств разработки и сборки

Для компиляции используются свободно распространяемые инструменты (Node.js, TypeScript, pnpm, Turbo, NestJS CLI, Next.js, Docker) на основании открытых лицензий (MIT, Apache 2.0 и аналогичные). Отдельные коммерческие лицензионные ключи для этапа компиляции не требуются.

Хранение лицензионных ключей разработческих сред (при использовании коммерческих IDE) осуществляется в контуре ООО «ДИТЕКС» и к исходному коду в репозитории не относится.

6. Схема потоков хранения и компиляции

7. Адрес нахождения технических средств (территория Российской Федерации)

Категория средствАдрес нахожденияПодтверждающий документ
Хранение исходного текста (GitLab)_________________________ (регион РФ, полный почтовый адрес или адрес ЦОД)_________________________ (договор аренды, пользовательское соглашение облачного провайдера с указанием адреса размещения серверов в РФ)
Компиляция исходного кода (GitLab CI / runners)__________________________________________________
Хранение объектного кода (реестр Docker-образов)__________________________________________________

Примечание. При использовании облачной инфраструктуры серверы должны быть расположены на территории Российской Федерации (п. 2.1.2.1 методических рекомендаций). К настоящему документу прилагается подтверждающий документ по выбору правообладателя (договор аренды, лицензионное соглашение с адресом размещения серверов и т.п.).

8. Локальная сборка (воспроизведение процесса компиляции)

pnpm install
pnpm build
pnpm turbo build --filter=inventions-backend
pnpm turbo build --filter=web
docker build -f Dockerfile.backend -t inventions-backend:local .
docker build -f Dockerfile.frontend -t inventions-frontend:local .

9. Соответствие составу материалов для экспертизы

МатериалНазначение
Настоящий документОписание средств хранения и компиляции (п. 1.2, 2.1.2.1)
01-instruktsiya-po-ustanovke.mdРазвёртывание экспертного экземпляра
Доступ к репозиторию или архивПроверка исходных текстов
Docker-образы из HUBПроверка объектного кода в составе поставки

Документ подготовлен ООО «ДИТЕКС» по состоянию монорепозитория Inventions. Адреса и реквизиты подтверждающих документов в разделе 7 заполняются перед подачей заявления в реестр.