Skip to content

Установка

Это руководство проведет вас через процесс установки и настройки Integ API на вашей локальной машине.

Шаг 1: Клонирование репозитория

bash
# Клонируйте репозиторий
git clone <repository-url>
cd integ-api

Шаг 2: Установка зависимостей

bash
# Установка всех npm зависимостей
npm install

Это установит все необходимые зависимости, включая:

  • NestJS framework и модули
  • TypeORM и PostgreSQL драйвер
  • JWT и Passport для аутентификации
  • Swagger для документации API
  • И многое другое

Шаг 3: Установка Doppler CLI

Doppler используется для управления переменными окружения в разных средах.

macOS

bash
# Используя Homebrew
brew install dopplerhq/cli/doppler

# Авторизация
doppler login

Linux

bash
# Установка
curl -Ls https://cli.doppler.com/install.sh | sh

# Авторизация
doppler login

Windows

powershell
# Используя Scoop
scoop bucket add doppler https://github.com/DopplerHQ/scoop-doppler.git
scoop install doppler

# Авторизация
doppler login

Шаг 4: Настройка Doppler

bash
# Перейдите в директорию проекта
cd integ-api

# Установите проект и конфигурацию
doppler setup

Выберите нужный проект и конфигурацию (local, dev или prod).

Шаг 5: Запуск локальной инфраструктуры

Проект использует Docker Compose для локальной разработки, включая PostgreSQL базу данных.

bash
# Запуск PostgreSQL
npm run docker:up

# Проверка статуса контейнеров
docker ps

Вы должны увидеть запущенный контейнер integ-api-db.

Шаг 6: Генерация environment файла

bash
# Генерация environment.ts из Doppler
npm run generate:env:local

Этот скрипт:

  1. Получает все переменные из Doppler для конфигурации local
  2. Генерирует файл src/environments/environment.ts
  3. Файл используется в коде приложения

ВАЖНО

Файл environment.ts не должен коммититься в Git. Он генерируется автоматически для каждого окружения.

Шаг 7: Запуск миграций базы данных

bash
# Применение всех миграций
npm run migration:run

Это создаст все необходимые таблицы в базе данных и автоматически создаст администратора с учетными данными из Doppler (ADMIN_EMAIL и ADMIN_PASSWORD).

Шаг 8: Запуск приложения

bash
# Запуск dev сервера с hot reload
npm start

Приложение запустится на порту, указанном в переменной PORT (по умолчанию 3000).

Проверка установки

После успешного запуска вы должны увидеть в консоли:

🚀 Api is running on: http://localhost:3000/api
🚀 Reference (Public) is running on: http://localhost:3000/api/reference
🚀 Reference (Internal) is running on: http://localhost:3000/api/reference-full
🚀 Health endpoint: http://localhost:3000/health

Проверьте работоспособность:

bash
# Проверка health endpoint
curl http://localhost:3000/health

# Ожидаемый ответ:
# {"status":"ok","info":{"database":{"status":"up"}}}

Возможные проблемы

Порт уже занят

Если порт 3000 занят другим приложением:

  1. Измените переменную PORT в Doppler
  2. Перегенерируйте environment: npm run generate:env:local
  3. Перезапустите приложение

Ошибка подключения к базе данных

Если приложение не может подключиться к PostgreSQL:

  1. Проверьте, что Docker контейнер запущен: docker ps
  2. Проверьте переменные подключения в Doppler:
    • POSTGRES_HOST
    • POSTGRES_PORT
    • POSTGRES_USERNAME
    • POSTGRES_PASSWORD
    • POSTGRES_NAME

Doppler не авторизован

bash
# Повторная авторизация
doppler logout
doppler login
doppler setup

Следующие шаги