본문으로 건너뛰기

프로젝트 개요

ChurchApps는 ChurchApps GitHub 조직 아래에 게시된 약 20개의 독립적인 저장소로 구성됩니다. 이 페이지는 카테고리별로 구성된 모든 프로젝트의 완전한 인벤토리를 프레임워크, 포트, 관계와 함께 제공합니다.

시작하기 전에

백엔드 API

모든 API는 Node.js, Express, TypeScript로 빌드되고 Serverless Framework를 통해 AWS Lambda에 배포됩니다.

프로젝트목적개발 포트데이터베이스
Api회원, 참석, 컨텐츠, 헌금, 메시징, 할 일을 다루는 핵심 모듈형 모놀리스8084모듈별 개별 MySQL 데이터베이스 (6개 총)
LessonsApiLessons.church 백엔드--단일 lessons MySQL 데이터베이스
AskApiOpenAI 기반 AI 쿼리 도구----
정보

핵심 Api 프로젝트는 모듈형 모놀리스입니다. 각 모듈(회원, 참석, 컨텐츠, 헌금, 메시징, 할 일)은 자신의 데이터베이스를 가지고 있으며 /membership 또는 /giving 같은 하위 경로에서 액세스 가능합니다. 프로덕션에서는 API Gateway 뒤의 개별 Lambda 함수로 노출됩니다.

웹 앱

프로젝트프레임워크개발 포트목적
B1AdminReact 19 + Vite + MUI 75173교회 관리 대시보드
B1AppNext.js 16 + React 19 + MUI 73301Public 교회 회원 앱
LessonsAppNext.js 163501Lessons.church 프론트엔드
B1TransferReact + Vite--데이터 임포트/익스포트 유틸리티
BrochureSitesStatic--정적 교회 브로셔 웹사이트

모바일 앱

모든 모바일 앱은 Expo를 사용한 React Native를 사용합니다.

프로젝트목적주요 버전
B1MobileiOS 및 Android용 교회 회원 앱Expo 54, React Native 0.81
B1Checkin체크인 키오스크 앱Expo
LessonsScreenAndroid TV 수업 표시Expo
FreePlay컨텐츠 재생 (TV OS 포함)Expo
FreeShowRemoteFreeShow의 모바일 원격 제어Expo

데스크톱

프로젝트스택목적
FreeShowElectron 37 + Svelte 3 + Vite프레젠테이션 및 예배 소프트웨어

공유 라이브러리

공유 코드는 @churchapps 스코프 아래 npm에 게시됩니다. 이들은 위 프로젝트들에 의해 일반 npm 의존성으로 소비됩니다.

패키지npm 이름목적사용
Helpers@churchapps/helpers기본 유틸리티 (DateHelper, ApiHelper, CurrencyHelper 등)모든 프로젝트
ApiHelper@churchapps/apihelperExpress 서버 유틸리티 (인증 미들웨어, DB 헬퍼, AWS 통합)모든 API
AppHelper6개 패키지를 가진 워크스페이스React 컴포넌트 라이브러리모든 웹 앱
ContentProviderHelper@churchapps/content-provider-helperYouTube, Vimeo, 로컬 컨텐츠 공급자FreeShow, FreePlay, Api

AppHelper 부 패키지

AppHelper 프로젝트는 6개 패키지를 게시하는 모노레포 워크스페이스입니다:

패키지npm 이름
Core@churchapps/apphelper
Login@churchapps/apphelper-login
Donations@churchapps/apphelper-donations
Forms@churchapps/apphelper-forms
Markdown@churchapps/apphelper-markdown
Website@churchapps/apphelper-website

프로젝트 관계

프론트엔드 앱              공유 라이브러리           백엔드 API
-------------- ---------------- ------------
B1Admin ──────┐
B1App ──────┤ @churchapps/helpers ◄───── Api
LessonsApp ──────┼──► @churchapps/apphelper LessonsApi
B1Mobile ──────┤ AskApi
FreeShow ──────┘ @churchapps/apihelper ◄────┘

모든 프론트엔드 앱은 @churchapps/helpers에 의존합니다. 웹 앱은 추가로 @churchapps/apphelper 패키지에 의존합니다. 모든 백엔드 API는 @churchapps/helpers@churchapps/apihelper 모두에 의존합니다.

다음 단계