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

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

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

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

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

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

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

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

cd Api
npm 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: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Запуск Prettier и ESLint с автоисправлением

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

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

npm run deploy-staging

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

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

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

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

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

# В каталоге библиотеки
cd Helpers
npm run build
npm link

# В каталоге API
cd ../Api
npm link @churchapps/helpers

Это позволяет тестировать изменения библиотеки на API без публикации в npm.

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