B1 Admin
B1Admin -- панель администрирования церкви -- одностраничное React-приложение, построенное на Vite и Material-UI. Сотрудники церкви используют его для управления людьми, группами, посещаемостью, пожертвованиями, контентом и многим другим.
Перед началом работы
- Установите Node.js 22+ и Git -- см. Предварительные требования
- Настройте цель API (staging или локальный) -- см. Переменные окружения
Настройка
1. Клонирование репозитория
git clone https://github.com/ChurchApps/B1Admin.git
2. Установка зависимостей
cd B1Admin
npm install
3. Настройка переменных окружения
cp dotenv.sample.txt .env
Откройте .env и настройте API-эндпоинты. Вы можете направить их на staging API или на ваш локальный экземпляр API.
4. Запуск сервера разработки
npm start
Это запускает сервер разработки Vite. Приложение будет доступно в вашем браузере с включённой горячей заменой модулей.
Ключевые переменные окружения
| Переменная | Описание |
|---|---|
REACT_APP_STAGE | Название окружения (напр., local, staging, prod) |
PORT | Порт сервера разработки (по умолчанию: 3101) |
REACT_APP_*_API | URL API-эндпоинтов для каждого модуля |
Скрипт postinstall копирует файлы локализации и CSS из @churchapps/apphelper. Если компоненты выглядят без стилей, выполните npm run postinstall вручную.
Основные команды
| Команда | Описание |
|---|---|
npm start | Запуск сервера разработки Vite |
npm run build | Продакшен-сборка через Vite |
npm run test | Запуск сквозных тестов с Playwright |
npm run lint | Запуск ESLint с автоисправлением |
Технологический стек
- React 19 с TypeScript
- Vite для инструментов сборки и сервера разработки
- Material-UI 7 для UI-компонентов
- React Query 5 для управления серверным состоянием
- Пакеты
@churchapps/apphelper*для общих компонентов
Развёртывание
Продакшен-сборки развёртываются в S3 + CloudFront:
npm run buildгенерирует статические ресурсы- Ресурсы синхронизируются с S3-бакетом
- Запускается инвалидация CloudFront для обслуживания новой версии
Подробные инструкции по развёртыванию см. в руководстве Развёртывание веб-приложений.