Установка
Это руководство проведет вас через процесс установки и настройки Integ API на вашей локальной машине.
Шаг 1: Клонирование репозитория
# Клонируйте репозиторий
git clone <repository-url>
cd integ-apiШаг 2: Установка зависимостей
# Установка всех npm зависимостей
npm installЭто установит все необходимые зависимости, включая:
- NestJS framework и модули
- TypeORM и PostgreSQL драйвер
- JWT и Passport для аутентификации
- Swagger для документации API
- И многое другое
Шаг 3: Установка Doppler CLI
Doppler используется для управления переменными окружения в разных средах.
macOS
# Используя Homebrew
brew install dopplerhq/cli/doppler
# Авторизация
doppler loginLinux
# Установка
curl -Ls https://cli.doppler.com/install.sh | sh
# Авторизация
doppler loginWindows
# Используя Scoop
scoop bucket add doppler https://github.com/DopplerHQ/scoop-doppler.git
scoop install doppler
# Авторизация
doppler loginШаг 4: Настройка Doppler
# Перейдите в директорию проекта
cd integ-api
# Установите проект и конфигурацию
doppler setupВыберите нужный проект и конфигурацию (local, dev или prod).
Шаг 5: Запуск локальной инфраструктуры
Проект использует Docker Compose для локальной разработки, включая PostgreSQL базу данных.
# Запуск PostgreSQL
npm run docker:up
# Проверка статуса контейнеров
docker psВы должны увидеть запущенный контейнер integ-api-db.
Шаг 6: Генерация environment файла
# Генерация environment.ts из Doppler
npm run generate:env:localЭтот скрипт:
- Получает все переменные из Doppler для конфигурации
local - Генерирует файл
src/environments/environment.ts - Файл используется в коде приложения
ВАЖНО
Файл environment.ts не должен коммититься в Git. Он генерируется автоматически для каждого окружения.
Шаг 7: Запуск миграций базы данных
# Применение всех миграций
npm run migration:runЭто создаст все необходимые таблицы в базе данных и автоматически создаст администратора с учетными данными из Doppler (ADMIN_EMAIL и ADMIN_PASSWORD).
Шаг 8: Запуск приложения
# Запуск 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Проверьте работоспособность:
# Проверка health endpoint
curl http://localhost:3000/health
# Ожидаемый ответ:
# {"status":"ok","info":{"database":{"status":"up"}}}Возможные проблемы
Порт уже занят
Если порт 3000 занят другим приложением:
- Измените переменную
PORTв Doppler - Перегенерируйте environment:
npm run generate:env:local - Перезапустите приложение
Ошибка подключения к базе данных
Если приложение не может подключиться к PostgreSQL:
- Проверьте, что Docker контейнер запущен:
docker ps - Проверьте переменные подключения в Doppler:
POSTGRES_HOSTPOSTGRES_PORTPOSTGRES_USERNAMEPOSTGRES_PASSWORDPOSTGRES_NAME
Doppler не авторизован
# Повторная авторизация
doppler logout
doppler login
doppler setupСледующие шаги
- Конфигурация - Подробная настройка переменных окружения
- Архитектура - Изучите архитектуру проекта
- API Guide - Начните работать с API