프로젝트 소개

ChurchPresenter는 교회를 위해 설계된 무료 오픈소스 예배 프레젠테이션 소프트웨어입니다. Compose Multiplatform(JVM 전용)으로 제작되어 Windows, macOS, Linux에서 실행되며, 예배를 발표하기 위한 방해 없는 플랫폼을 제공합니다. 주요 기능은 다음과 같습니다: - **오프라인 우선 아키텍처**: 모든 데이터가 로컬에 저장되어 인터넷 의존 없이 안정성을 보장합니다. - **다중 디스플레이 지원**: 프레젠터 출력을 두 번째 모니터에 표시하거나 NDI/OMT를 통해 네트워크로 스트리밍할 수 있습니다. - **성경 통합**: 성경 번역본(eBible, Zefania, Beblia)을 다운로드하고 관리하며, 음성-참조 감지를 위한 내장 조회 엔진을 제공합니다. - **찬양 라이브러리**: 코드 표기, 조옮김, 전용 변환 도구로 찬양을 관리합니다. - **미디어 지원**: 비디오, 이미지, 프레젠테이션(PPTX, PPT, Keynote, PDF)을 타이밍과 애니메이션과 함께 재생합니다. - **모바일 제어**: 종단간 암호화 릴레이를 통해 휴대폰을 페어링하여 원격 제어합니다. - **통합**: Planning Center Online과 예배 계획을 연동하고 Blackmagic ATEM 스위처를 제어합니다. - **사용자 정의**: 9가지 색상 구성, 타이포그래피, 도형 스케일, 그리고 애니메이션 하단 자막용 Lottie 생성기를 제공합니다. ## 아키텍처 프로젝트는 모듈식이며, 각 모듈은 Gradle 빌드 구성 요소입니다: - `settings`: 저장된 설정 및 마이그레이션. - `diagnostics`: Sentry 및 PII 스크러빙을 통한 충돌 보고. - `planning-center`: Planning Center Online용 OAuth 클라이언트. - `bible-formats`: 성경 형식 다운로드 및 변환. - `bible`: 로드된 성경 번역본 및 검색. - `song-chords`: 코드 문법 및 조옮김. - `calendar`: 월간 예배 계획. - `songlibrary`: 찬양 라이브러리 관리. - `converter`: 찬양/성경 형식 변환기. - `companion-satellite`: Bitfocus Companion Satellite 프로토콜. - `ndi`: NDI 소스 및 수신기. - `omt`: Open Media Transport. - `atem`: Blackmagic ATEM 프로토콜. - `theme`: 시각적 디자인 시스템. - `core-models`: 공유 데이터 모델. - `bible-engine`: 음성-참조 감지. - `lottieGenerator`: Lottie 오버레이 생성기. - `crossword`: 십자말풀이 제작. - `presentation-engine`: PPTX/PPT/Keynote/PDF 파싱. ## 빌드 및 실행 저장소를 복제하고(서브모듈 없음) Gradle로 빌드합니다: ```bash git clone https://github.com/ChurchPresenter/ChurchPresenter ./gradlew :composeApp:run # macOS/Linux .\gradlew.bat :composeApp:run # Windows ``` 앱은 카메라 캡처를 위해 ffmpeg를 번들로 포함하며, 빌드 시 다운로드됩니다. 개발 시 `CHURCHPRESENTER_FORCE_DEV_WINDOW=true`로 대체 창을 강제할 수 있습니다. 그래픽 백엔드는 `CHURCHPRESENTER_RENDER_API`(예: OPENGL, DIRECT3D, METAL)로 선택할 수 있습니다. ## 문서 - `DEVELOPMENT_GUIDE.md`: 코딩 표준 및 워크플로. - `DOCS_README.md`: 빠른 참조. - `BUILD_INSTALLERS.md`: 설치 프로그램 빌드. - `QUICK_START_INSTALLERS.md`: 빠른 시작. 커밋 전에 코드 품질 검사를 위해 `./cleanup_check.sh`를 실행하세요.