Документация, содержащая описание технических средств хранения исходного текста и объектного кода программного обеспечения, а также технических средств компиляции исходного текста в объектный код программного обеспечения
Титульные данные
| Поле | Значение |
|---|---|
| Наименование ПО | 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 (или эквивалент) | Хранение репозитория, управление доступом, резервное копирование |
| ОС сервера GitLab | Linux |
| 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/cli | 11.x | Сборка backend (nest build) |
| Next.js | 16.x | Сборка frontend (next build), SWC/webpack |
| tsup | 8.5.1 | Сборка shared-пакетов |
| Prisma CLI | 7.5.0 | Генерация клиента БД (prisma generate) |
| pnpm | 9.0.0 | Управление зависимостями монорепозитория |
| Turbo | ^2.4.4 | Оркестрация задач build |
| Docker + Kaniko | — | Формирование production-образов в GitLab CI |
5.2. Последовательность компиляции
pnpm install— установка зависимостей поpnpm-lock.yaml.pnpm turbo build— сборка shared-пакетов, затем backend и frontend.- Backend:
nest build→ каталогdist/. - Frontend:
next build→ каталог.next/(режимstandalone). Dockerfile.backend/Dockerfile.frontend— упаковка объектного кода в образы.- 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 заполняются перед подачей заявления в реестр.