프로젝트 소개

Worship Presenter Web은 예배 순서표를 완성된 슬라이드로 변환하도록 설계된 자체 호스팅 허브입니다. 제칠일안식일예수재림교 회중을 위해 만들어졌지만, 슬라이드 템플릿이 코드가 아닌 데이터이므로 유사한 예배 순서를 따르는 어떤 교회에도 적용할 수 있습니다. 핵심 워크플로는 웹 양식에 붙여넣거나 챗봇의 비밀 게이트 웹훅으로 전달된 순서표를 받아 단일 하이드레이션된 슬라이드 계획에서 세 가지 출력물을 생성합니다: 오프라인 사용을 위한 다운로드 가능한 PowerPoint 덱, 전체 화면 브라우저 슬라이드쇼, 그리고 별도의 프로젝터 창이 있는 듀얼 스크린 발표자 모드입니다. 즉, 동일한 레이아웃이 네 가지 출력물(PowerPoint, 웹 슬라이드쇼, 프로젝터, 라이브 미리보기) 모두를 구동하며 형식별 레이아웃 코드가 없습니다. 주요 기능은 다음과 같습니다: - 웹 양식이나 웹훅을 통한 순서표 입력, 인식되지 않은 줄은 조용히 버리지 않고 표시합니다. - 695개의 찬송가로 구성된 로컬 코퍼스에서 찬송가를 번호로 조회하여 제목 및 가사 슬라이드로 확장하고, 각 절 뒤에 후렴구를 반복합니다. - SQLite 레지스트리에 저장된 28개의 편집 가능한 슬라이드 템플릿과 요소 이동, 크기 조정, 스타일링을 위한 캔버스 편집기, 그리고 사용자 정의 텍스트 상자와 도형 추가 기능을 제공합니다. - 현재 및 다음 슬라이드, 썸네일 필름스트립, 슬라이드 목록, 임의 슬라이드로 이동 그리드, 런 시트, 그리고 프로젝터로 끌 수 있는 실제 두 번째 창을 갖춘 발표자 모드. - 프로젝터를 검게 만들고 위치를 잃지 않고 복원하는 블랭크 화면 기능. - 선택 가능한 전환 효과(없음, 컷, 페이드, 디졸브, 푸시)가 덱과 브라우저에 동일하게 적용됩니다. - 예배 중 KJV 구절을 프로젝터에 표시하는 성경 찾아보기. - 이미지 업로드 또는 허용 목록 URL을 사용한 공지 전단지. - 개인별 관리자 및 운영자 계정, 속도 제한 로그인, 취소 가능한 세션을 지원하는 계정 및 역할. 애플리케이션에는 두 개의 기본 코퍼스가 포함되어 있습니다: 찬송가 코퍼스(제칠일안식일예수재림교 찬미가 695곡)와 KJV 성경 코퍼스(66권, 1,189장, 31,102절)입니다. 둘 다 저장소에 커밋되어 있으므로 클론은 부팅 시 네트워크 연결 없이 찬송가 번호와 성경 참조를 해석할 수 있습니다. 코퍼스는 부팅할 때마다 커밋된 파일에서 조정됩니다. 기술 요구 사항은 Go 1.24 및 Node.js 22 이상입니다. 저장소는 별도의 데이터베이스 서버 없이 SQLite를 사용합니다. 스택에는 Go API, Vite로 구축된 React SPA, PPTX 워커가 포함됩니다. 빠른 시작은 저장소를 클론하고, npm install, npm run setup(새 비밀번호로 .env를 생성하고, 데이터베이스를 만들고, 슬라이드 레지스트리를 시드하고, 관리자 비밀번호를 출력합니다), 그리고 npm run dev를 실행하여 포트 3000에서 Go API를, 포트 5173에서 React SPA를 시작하는 것입니다. 프로젝트에는 개인 데이터 처리 지침, 배포 문서, 결정 기록이 포함된 constitution 디렉토리가 포함되어 있습니다. 회중 데이터가 추적되는 파일에 도달하면 테스트가 실패하여 민감한 정보의 우발적 공개를 방지합니다. 저장소는 합성 예제 회중으로 단일 초기 커밋에서 시작합니다. 원래 비공개 저장소에는 실제 회원 이름, 미성년자를 포함한 식별 가능한 사람들의 사진, 개인 메시지 스크린샷, 결제 코드가 포함되어 있었기 때문입니다. 코드는 MIT 라이선스로 제공되지만, Worship Presenter Web이라는 이름, 약어 WDI, 아이콘이나 워드마크는 MIT 라이선스의 적용을 받지 않습니다. 찬송가 코퍼스를 포함한 타사 콘텐츠는 ATTRIBUTIONS.md에서 별도로 다룹니다. 이 프로젝트는 다른 전통과 찬송가에 맞게 적용하는 것을 장려하며, 기본 제공 코퍼스와 함께 추가 찬송가 코퍼스를 추가할 수 있도록 지원합니다.