Аннотация
Документ содержит сведения об используемых языках программирования, стилях оформления, типах разметки, средствах компиляции и месте хранения исходного кода.
Языки программирования, стандарты оформления кода и форматы разметки, используемые в компонентах программного комплекса
Таблица 1 — Перечень компонентов и технологий программного комплекса
| Компонент | Язык |
|---|---|
| Backend (Серверная часть) | TypeScript 5.x (Среда выполнения Node.js 20) |
| Frontend (Клиентская часть) | CSS (Фреймворк TailwindCSS) |
| Система управления базами данных | PostgreSQL 16 (с расширением pgvector) |
| Система кэширования и очередей | Redis 7 |
| Веб-сервер/Прокси | Nginx 1.18+ |
| Контейнеризация | Docker, Docker Compose |
Перечень программного обеспечения, используемого в процессе разработки:
- Visual Studio Code (редактор кода):
- официальный сайт: https://code.visualstudio.com/;
- тип: бесплатный редактор с открытым исходным кодом;
- особенности: поддержка расширений, интеграция с Git, отладка.
- DBeaver (инструмент для работы с БД):
- официальный сайт: https://dbeaver.io/;
- тип: кроссплатформенное ПО с открытым исходным кодом;
- возможности: администрирование, визуальное проектирование схем, миграция данных.
Средства хранения исходного кода и инструменты компиляции
Состав функций
Технические средства хранения исходного кода и развёртывания программного комплекса размещены на арендуемых вычислительных ресурсах в облачной платформе Yandex Cloud. Сервер находится в центре обработки данных на территории Российской Федерации.
- Тип сервера: виртуальная машина (VM).
- Операционная система: Ubuntu 22.04 LTS.
- Доступ к серверу предоставляется по протоколу SSH с использованием криптографических ключей.
Развёртывание программного комплекса
Развёртывание системы выполняется в среде ОС Linux (Ubuntu 22.04) с использованием технологии контейнеризации Docker. Процесс включает подготовку серверного окружения, установку зависимостей и запуск контейнеров через Docker Compose.
Пошаговый алгоритм развёртывания:
Шаг 1. Подготовка сервера и установка системных утилит
- Обновите списки пакетов:
sudo apt update - Установите базовые утилиты:
sudo apt install curl wget gnupg2 software-properties-common ca-certificates apt-transport-https unzip unrar -y
Шаг 2. Установка среды выполнения Docker
- Добавьте GPG-ключ официального репозитория Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg - Добавьте репозиторий Docker:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - Обновите список пакетов и установите Docker Engine:
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io -y - Добавьте текущего пользователя в группу docker, чтобы избежать использования sudo:
sudo usermod -aG docker $USER - Примените изменения (перелогиньтесь или выполните):
newgrp docker - Проверьте установку:
docker --version
Шаг 3. Установка Docker Compose
- Скачайте последнюю версию Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose - Сделайте файл исполняемым:
sudo chmod +x /usr/local/bin/docker-compose - Проверьте установку:
docker-compose --version
Шаг 4. Загрузка конфигурации и запуск контейнеров
- Клонируйте репозиторий с конфигурацией (или скопируйте файлы):
git clone [URL_репозитория] /path/to/app cd /path/to/app - Запустите контейнеры:
docker-compose up -d - Проверьте статус контейнеров:
docker-compose ps
Таблица 2 — Состав и назначение контейнеров развёртывания системы
| Компонент | Контейнер | Назначение |
|---|---|---|
| База данных | postgres | Хранение пользовательских данных и векторов (pgvector) |
| Кэш и очереди | redis | Кэширование сессий и очередь задач BullMQ |
| Сервер приложений | backend | API на Node.js, бизнес-логика, интеграция с AI |
| Интерфейс | frontend | Веб-сервер Nginx внутри контейнера, отдающий статику React |
Компиляция исходного кода
Программное обеспечение для компиляции и интерпретации кода:
Таблица 3 — Языки программирования и инструменты сборки
| Язык программирования | Средства компиляции |
|---|---|
| TypeScript (Backend) | tsc (TypeScript Compiler) — транспиляция в JavaScript |
| TypeScript (Frontend) | Vite — сборка и минификация статических ресурсов (JS, CSS, HTML) |
| Dockerfile | docker build |
Используемые средства для написания кода — Visual Studio Code: https://code.visualstudio.com/.
Компиляция исходного кода компонентов программного комплекса выполняется автоматически внутри Docker-контейнеров при сборке (docker-compose build). Сборка происходит на серверах в Российской Федерации (Yandex Cloud).
Технические средства управления лицензионными ключами: активация, выпуск, распространение
Для активации, выпуска, распространения и управления лицензионными ключами программного комплекса специализированные технические средства не используются.
Расположение серверов
Разработка, хранение исходного кода, компиляция, тестирование и эксплуатация программного комплекса выполняются на серверах Yandex Cloud, расположенных на территории РФ.
Инфраструктура развёрнута в зоне доступности ru-central1. Точное местоположение ЦОД определяется согласно договору оферты Yandex Cloud и может находиться в Московской, Рязанской или Владимирской области.