Описание технических средств хранения исходного текста и объектного кода программного обеспечения, а также технических средств компиляции исходного текста в объектный код программного обеспечения «ТехКаталист ИИ / TechCatalyst AI» 1. Общие сведения Настоящий документ содержит описание технических средств хранения исходного текста и объектного кода программы для ЭВМ «ТехКаталист ИИ / TechCatalyst AI», а также технических средств компиляции исходного текста в объектный код программного обеспечения. Программа для ЭВМ «ТехКаталист ИИ / TechCatalyst AI» представляет собой веб-приложение и серверную программную платформу, разработанную с использованием TypeScript, Next.js, React, Node.js, Prisma ORM и PostgreSQL. Рабочее наименование репозитория: techcatalyst-admin-panel. 2. Технические средства хранения исходного текста Исходный текст программного обеспечения хранится в Git-репозитории правообладателя. Основные категории исходных файлов: 1. исходный код frontend-компонентов; 2. исходный код страниц пользовательского и административного интерфейса; 3. исходный код backend API-маршрутов; 4. исходный код серверных библиотек и вспомогательных модулей; 5. схема базы данных Prisma; 6. seed-скрипты и вспомогательные скрипты; 7. конфигурационные файлы сборки и запуска; 8. техническая и эксплуатационная документация. Основные директории и файлы исходного текста: 1. src/app — страницы приложения, маршруты Next.js и API Routes; 2. src/components — React-компоненты пользовательского интерфейса; 3. src/lib — серверные и прикладные библиотеки; 4. src/types — TypeScript-типы; 5. src/utils — вспомогательные функции; 6. prisma/schema.prisma — схема базы данных; 7. prisma/seed.ts и prisma/seed-pricing.ts — seed-скрипты; 8. scripts — вспомогательные скрипты; 9. package.json — описание npm-скриптов и зависимостей; 10. package-lock.json — зафиксированные версии npm-зависимостей; 11. next.config.js — конфигурация Next.js; 12. tsconfig.json — конфигурация TypeScript; 13. tailwind.config.ts — конфигурация Tailwind CSS; 14. postcss.config.js — конфигурация PostCSS; 15. vercel.json, ecosystem.config.json, deploy — файлы и материалы развертывания. Доступ к репозиторию предоставляется уполномоченным лицам правообладателя. Для контроля изменений используется система контроля версий Git, позволяющая фиксировать историю изменений, автора изменений, дату, время, ветки, теги и контрольные идентификаторы коммитов. URL удаленного репозитория указывается при финальной подготовке пакета документов. 3. Технические средства хранения объектного кода и сборочных артефактов Объектный код и сборочные артефакты формируются в процессе сборки программного обеспечения. Для серверной сборки Next.js результат сборки размещается в директории: .next В состав сборочных артефактов входят: 1. скомпилированные серверные модули Next.js; 2. клиентские JavaScript-бандлы; 3. CSS-артефакты; 4. служебные manifest-файлы Next.js; 5. оптимизированные статические ресурсы; 6. служебные файлы маршрутизации; 7. сгенерированный Prisma Client; 8. иные файлы, необходимые для запуска приложения в Node.js-окружении. При статической сборке с параметром BUILD_STATIC=true результат может формироваться как статический экспорт Next.js. Такая сборка используется только для сценариев, где это совместимо с функциональностью приложения, поскольку backend API-маршруты требуют серверного окружения. Сборочные артефакты не являются основным местом хранения исходного текста. Основным источником достоверной версии программы является Git-репозиторий с исходным кодом и зафиксированными зависимостями. 4. Технические средства компиляции и сборки Компиляция исходного текста в объектный код и сборочные артефакты выполняется средствами Node.js, npm, Next.js, TypeScript, SWC, React и Prisma. Основные средства компиляции и сборки: 1. Node.js — среда исполнения JavaScript / TypeScript-приложения; 2. npm — менеджер пакетов и средство запуска сценариев сборки; 3. Next.js 14 — framework для сборки frontend и backend частей приложения; 4. TypeScript — язык разработки и средство статической типизации; 5. SWC, используемый Next.js, — средство трансформации и компиляции TypeScript / JavaScript; 6. React 18 — библиотека построения пользовательского интерфейса; 7. Prisma ORM — средство генерации Prisma Client и работы со схемой базы данных; 8. Tailwind CSS и PostCSS — средства обработки CSS; 9. tsx — средство запуска TypeScript-скриптов в процессе разработки и обслуживания. 5. Сценарии сборки Сценарии сборки и запуска определены в файле package.json. Основные npm-сценарии: 1. npm run dev — запуск приложения в режиме разработки на порту 3001; 2. npm run build — основная production-сборка Next.js; 3. npm run build:static — статическая сборка с параметром BUILD_STATIC=true; 4. npm run start — запуск production-сборки Next.js; 5. npm run lint — запуск проверки Next.js / ESLint; 6. npm run export — статическая сборка с параметром BUILD_STATIC=true; 7. npm run db:seed — запуск seed-скрипта Prisma. Основная команда для компиляции и формирования сборочных артефактов: npm run build При выполнении указанной команды Next.js выполняет трансформацию и сборку TypeScript / React-кода, формирует серверные и клиентские сборочные артефакты, оптимизирует ресурсы и подготавливает приложение к запуску в production-режиме. 6. Порядок воспроизведения сборки Типовой порядок воспроизведения сборки: 1. получить исходный код из Git-репозитория правообладателя; 2. установить Node.js совместимой версии; 3. установить npm-зависимости командой npm install; 4. настроить переменные окружения, необходимые для работы приложения; 5. при необходимости сгенерировать Prisma Client; 6. выполнить production-сборку командой npm run build; 7. запустить собранное приложение командой npm run start; 8. проверить доступность пользовательских и административных маршрутов; 9. проверить доступность API-маршрутов и интеграций. 7. Конфигурация сборки Конфигурация Next.js хранится в файле next.config.js. Конфигурация предусматривает: 1. обычную серверную сборку Next.js для работы пользовательского интерфейса и API-маршрутов; 2. условную статическую сборку при установке переменной BUILD_STATIC=true; 3. настройку обработки изображений; 4. параметры TypeScript и ESLint для сценариев сборки. Конфигурация TypeScript хранится в файле tsconfig.json. Список зависимостей и их версий хранится в файлах package.json и package-lock.json, что позволяет воспроизводить окружение сборки и контролировать используемые версии библиотек. 8. Хранение конфигураций и секретов Конфигурационные файлы, необходимые для сборки и запуска приложения, хранятся в репозитории без production-секретов. Секреты и чувствительные параметры не должны храниться в исходном коде и депонируемых материалах. К таким параметрам относятся: 1. API-ключи внешних провайдеров; 2. пароли; 3. токены доступа; 4. приватные ключи; 5. production-строки подключения к базам данных; 6. персональные данные клиентов; 7. коммерчески чувствительные данные. Переменные окружения передаются приложению через защищенные средства среды исполнения, CI/CD, hosting-платформы или серверной инфраструктуры правообладателя. 9. Итоговое описание Исходный текст программы для ЭВМ «ТехКаталист ИИ / TechCatalyst AI» хранится в Git-репозитории правообладателя. Объектный код и сборочные артефакты формируются в процессе сборки средствами Node.js, npm, Next.js, TypeScript, SWC, React, Prisma, Tailwind CSS и PostCSS. Основной командой компиляции и сборки является npm run build. Результат серверной сборки размещается в директории .next и используется для запуска приложения в production-окружении командой npm run start. ИП Борисов Иван Анатольевич ИНН 575307745402 ОГРНИП 320574900010615 Подпись: __________________ / Борисов И.А. / Дата: __________________