Перейти к основному содержимому

Локальная настройка API

Это руководство поможет вам настроить API ChurchApps для локальной разработки. Вы клонируете репозиторий, настроите подключения к базе данных, инициализируете схему и запустите сервер разработки с горячей перезагрузкой.

Перед началом работы

Пошаговая настройка

1. Клонирование репозитория

git clone https://github.com/ChurchApps/Api.git

2. Установка зависимостей

Проект использует Yarn (защита блокирует npm install):

cd Api
yarn install

3. Настройка переменных окружения

cp .env.sample .env

Откройте .env и настройте строки подключения к MySQL. Каждому модулю нужно собственное подключение к базе данных в следующем формате:

mysql://root:password@localhost:3306/dbname

Вам понадобятся строки подключения для всех шести баз данных модулей (membership, attendance, content, giving, messaging, doing).

4. Инициализация баз данных

npm run initdb

Эта команда автоматически создаёт все шесть баз данных и их таблицы.

Совет

Вы можете инициализировать базу данных отдельного модуля командой npm run initdb -- --module=membership (или attendance, content, giving, messaging, doing).

5. Запуск сервера разработки

npm run dev

API запускается с горячей перезагрузкой по адресу http://localhost:8084.

Основные команды

КомандаОписание
npm run devЗапуск сервера разработки с горячей перезагрузкой (tsx watch)
npm run buildОчистка, компиляция TypeScript и копирование ресурсов
npm run testЗапуск тестов с Jest (включая покрытие)
npm run test:watchЗапуск тестов в режиме наблюдения
npm run lintЗапуск ESLint с автоисправлением (ESLint — единственный форматер)

Развёртывание на staging

Для развёртывания в staging-окружении:

npm run deploy-staging

Эта команда выполняет продакшен-сборку, а затем развёртывание через Serverless Framework.

Предупреждение

Убедитесь, что ваши AWS-учётные данные настроены перед запуском команды развёртывания.

Локальная разработка библиотек

Если вам нужно разрабатывать общую библиотеку (@churchapps/helpers или @churchapps/apihelper) одновременно с API, создайте её в рабочем пространстве Packages и добавьте временный Yarn portal в API:

# В рабочем пространстве Packages
yarn build

# В каталоге API
yarn link ../Packages/helpers
# ... тестирование ...
yarn unlink ../Packages/helpers && yarn install

Это позволяет тестировать изменения библиотеки на API без публикации в npm. Дополнительную информацию см. в разделе Общие библиотеки — и никогда не фиксируйте разрешение portal, которое ссылка записывает в package.json.

Связанные статьи