Локальная настройка API
Это руководство поможет вам настроить API ChurchApps для локальной разработки. Вы клонируете репозиторий, настроите подключения к базе данных, инициализируете схему и запустите сервер разработки с горячей перезагрузкой.
Перед началом работы
- Установите Node.js 22+, Git и MySQL 8.0+ -- см. Предварительные требования
- Создайте пользователя MySQL с правами на создание баз данных
- Ознакомьтесь со справочником переменных окружения для настройки API
Пошаговая настройка
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.
Связанные статьи
- База данных -- Понимание архитектуры «одна БД на модуль»
- Структура модулей -- Организация контроллеров, репозиториев и моделей
- Общие библиотеки -- Работа с
@churchapps/helpersи@churchapps/apihelper