Документация для разработчиков
ChurchApps — это коллекция из примерно 20 проектов с открытым исходным кодом, которые вместе обеспечивают полноценную платформу управления церковью. Проекты охватывают бэкенд-API, веб-приложения, мобильные приложения, настольное приложение и общие библиотеки — все написаны на TypeScript. Этот раздел содержит всё необходимое для настройки локальной среды разработки и начала участия в проекте.
Архитектура в общих чертах
Проекты представляют собой независимые репозитории (не монорепозиторий). Общий код публикуется в npm под областью @churchapps/* и используется как обычные зависимости. Это означает, что вы можете работать над одним проектом, не клонируя всю экосистему.
Основные характеристики:
- Язык: TypeScript повсеместно
- Бэкенд: API на Node.js / Express, развёрнутые в AWS Lambda через Serverless Framework
- Веб: React 19 (Vite и Next.js), Material-UI 7
- Мобильная разработка: React Native с Expo
- База данных: MySQL 8.0, отдельная база данных для каждого модуля API
Что охватывает этот раздел
- Настройка -- Локальная среда разработки, предварительные требования и конфигурация
- Предварительные требования -- Необходимые инструменты и программное обеспечение
- Обзор проектов -- Все проекты на одной странице
- Переменные окружения -- Настройка файлов
.env
- API -- Локальная настройка основного API, инициализация базы данных и структура модулей
- Веб-приложения -- Запуск B1Admin, B1App и LessonsApp локально
- Мобильные приложения -- Сборка B1Mobile и других приложений Expo
- Общие библиотеки -- Работа с Helpers, ApiHelper и AppHelper
- Развёртывание -- Развёртывание API, веб-приложений и мобильных приложений
Сообщество и ресурсы
| Ресурс | Ссылка |
|---|---|
| Организация на GitHub | github.com/ChurchApps |
| Трекер задач | ChurchAppsSupport Issues |
| Сообщество в Slack | Присоединиться к Slack |
Самый быстрый способ начать участвовать — выбрать веб-приложение (например, B1Admin), направить его на staging API и начать вносить изменения во фронтенд. Настройка базы данных или API не требуется.