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

Веб-приложения

ChurchApps включает три веб-приложения, каждое из которых служит разной аудитории и цели. Они разделяют общую техническую основу -- React 19, TypeScript и Material-UI 7, но различаются инструментами сборки и целями развёртывания.

Обзор приложений

ПриложениеНазначениеФреймворкПорт разработки
B1AdminПанель администрирования церквиReact 19 + Vite + MUI 75173
B1AppПубличное приложение для членов церквиNext.js 16 + React 19 + MUI 73301
LessonsAppУправление учебным контентомNext.js 16 + React 193501

Общий технологический стек

Все три веб-приложения построены с использованием:

  • TypeScript -- Сквозная типобезопасность
  • React 19 -- Библиотека UI-компонентов
  • Material-UI 7 -- Дизайн-система и набор компонентов
  • React Query 5 -- Управление серверным состоянием

Общие компоненты

Приложения разделяют UI-компоненты и утилиты через семейство пакетов @churchapps/apphelper*:

ПакетНазначение
@churchapps/apphelperОсновные общие React-компоненты
@churchapps/apphelper-loginUI-компоненты аутентификации
@churchapps/apphelper-donationsФормы пожертвований
@churchapps/apphelper-formsКомпоненты конструктора форм
@churchapps/apphelper-markdownРендеринг markdown
@churchapps/apphelper-websiteКомпоненты сайта/CMS
Совет

Подробности о локальной разработке этих общих пакетов см. в документации AppHelper.

Скрипт postinstall

Каждое веб-приложение имеет скрипт postinstall, который копирует файлы локализации и CSS-ресурсы из @churchapps/apphelper в проект. Он запускается автоматически после npm install.

Информация

Если компоненты выглядят без стилей после установки зависимостей, возможно, скрипт postinstall не выполнился корректно. Вы можете запустить его вручную командой npm run postinstall.

Инструменты сборки

Приложения используют два разных инструмента сборки:

  • B1Admin использует Vite -- быстрый, современный сборщик, идеальный для одностраничных приложений
  • B1App и LessonsApp используют Next.js -- обеспечивая серверный рендеринг, маршрутизацию на основе файлов и оптимизированные продакшен-сборки