Об этом проекте
Worship Presenter Web — это самодельный хаб, предназначенный для превращения порядка богослужения в готовые слайды. Он был создан для общины адвентистов седьмого дня, но адаптируется для любой церкви с похожим порядком службы, поскольку шаблоны слайдов — это данные, а не код.
Основной рабочий процесс принимает порядок богослужения — вставленный в веб-форму или отправленный через защищённый секретом вебхук от чат-бота — и создаёт три результата из единого наполненного плана слайдов: загружаемую PowerPoint-колоду для офлайн-использования, полноэкранный слайд-шоу в браузере и режим докладчика с двумя экранами с отдельным окном проектора. Это означает, что один и тот же макет управляет всеми четырьмя выводами (PowerPoint, веб-слайд-шоу, проектор и живой предпросмотр) без отдельного кода вёрстки для каждого формата.
Ключевые возможности:
- Приём порядка богослужения через веб-форму или вебхук, при этом нераспознанные строки отображаются, а не молча отбрасываются.
- Разрешение гимнов из локального корпуса из 695 гимнов, поиск по номеру и разворачивание в слайды с названием и текстом, с повтором припева после каждого куплета.
- 28 редактируемых шаблонов слайдов, хранящихся в реестре SQLite, с редактором холста для перемещения, изменения размера и стилизации элементов, а также возможность добавлять собственные текстовые поля и фигуры.
- Режим докладчика с текущим и следующим слайдом, миниатюрной лентой кадров, списком слайдов, сеткой для перехода к любому слайду, порядком богослужения и настоящим вторым окном, которое можно перетащить на проектор.
- Функция пустого экрана для затемнения проектора и восстановления без потери позиции.
- Выбираемые переходы (нет, обрезка, затухание, растворение, сдвиг), применяемые одинаково к колоде и браузеру.
- Поиск по Писанию, выводящий отрывки из KJV на проектор во время службы.
- Объявления с загрузкой изображений или URL из разрешённого списка.
- Учётные записи и роли с отдельными администраторскими и операторскими аккаунтами для каждого человека, ограниченным по скорости входом и отзываемыми сессиями.
Приложение поставляется с двумя стандартными корпусами: корпус сборника гимнов (695 гимнов из гимнала адвентистов седьмого дня) и корпус Библии KJV (66 книг, 1189 глав, 31 102 стиха). Оба включены в репозиторий, поэтому клон разрешает номера гимнов и ссылки на Писание без сетевого подключения при запуске. Корпуса сверяются с сохранёнными файлами при каждой загрузке.
Технические требования: Go 1.24 и Node.js 22 или новее. Хранение использует SQLite без отдельного сервера базы данных. Стек включает Go API, React SPA, построенный на Vite, и воркер PPTX. Быстрый старт включает клонирование репозитория, запуск npm install, npm run setup (который генерирует .env с новыми секретами, создаёт базу данных, заполняет реестр слайдов и выводит пароль администратора) и npm run dev для запуска Go API на порту 3000 и React SPA на порту 5173.
Проект включает каталог constitution с руководствами по обработке приватных данных, документацией по развёртыванию и журналом решений. Тест завершается ошибкой, если данные общины попадают в отслеживаемый файл, что защищает от случайной публикации чувствительной информации. Репозиторий начинается с единственного начального коммита с синтетическим примером общины, поскольку исходный частный репозиторий содержал реальные имена членов, фотографии узнаваемых людей, включая несовершеннолетних, скриншоты приватных переписок и действующий платёжный код.
Код лицензирован под MIT, но название Worship Presenter Web, аббревиатура WDI и иконка или словесный знак не покрываются лицензией MIT. Сторонний контент, включая корпус гимнов, покрыт отдельно в ATTRIBUTIONS.md. Проект поощряет адаптацию для других традиций и гимналов, поддерживая добавление дополнительных корпусов сборников песен рядом с поставляемым.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.