跳到主要内容

项目概览

ChurchApps 由大约 20 个独立的仓库组成,全部发布在 ChurchApps GitHub 组织 下。本页面提供按类别组织的所有项目的完整清单,以及它们的框架、端口和关系。

开始之前

后端 API

所有 API 均使用 Node.js、Express 和 TypeScript 构建,并通过 Serverless Framework 部署到 AWS Lambda。

项目用途开发端口数据库
Api涵盖 membership、attendance、content、giving、messaging 和 doing 的核心模块化单体8084每个模块一个独立的 MySQL 数据库(共 6 个)
LessonsApiLessons.church 后端--单个 lessons MySQL 数据库
AskApi由 OpenAI 驱动的 AI 查询工具----
信息

核心 Api 项目是一个模块化单体。每个模块(membership、attendance、content、giving、messaging、doing)都有自己的数据库,可通过子路径(如 /membership/giving)访问。在生产环境中,它们作为 API Gateway 后面的独立 Lambda 函数公开。

Web 应用

项目框架开发端口用途
B1AdminReact 19 + Vite + MUI 73101教会管理仪表板
B1AppNext.js 16 + React 19 + MUI 73301面向公众的教会成员应用
LessonsAppNext.js 163501Lessons.church 前端
B1TransferReact + Vite--数据导入/导出工具
BrochureSites静态--教会静态宣传网站

移动应用

所有移动应用使用 React Native 配合 Expo。

项目用途关键版本
B1MobileiOS 和 Android 教会成员应用Expo 54、React Native 0.81
B1Checkin签到亭应用Expo
LessonsScreenAndroid TV 课程显示Expo
FreePlay内容播放(包括 TV OS)Expo
FreeShowRemoteFreeShow 的移动遥控器Expo

桌面

项目技术栈用途
FreeShowElectron 37 + Svelte 3 + Vite演示和敬拜软件

共享库

共享代码发布到 npm 的 @churchapps 作用域下,并由上述项目作为常规 npm 依赖项使用。所有共享包位于单个仓库中——Packages——作为 Yarn 工作区管理并使用 changesets 发布。

用途使用者
@churchapps/helpers基础工具和共享 TypeScript 接口(DateHelper、ApiHelper、CurrencyHelper 等)所有项目
@churchapps/apihelperExpress 服务器工具(认证、基础控制器、数据库访问、AWS 集成)所有 API
@churchapps/apphelperReact 组件库,包含用于登录、捐赠、表单、markdown 和网站构建的子路径模块所有 Web 应用
@churchapps/content-providers第三方内容提供商抽象(Lessons.church、Planning Center、Dropbox 等)Api、B1Admin、B1App、FreePlay
@churchapps/integration-sdkB1.church 集成工具包:Webhook、REST 客户端、OAuth外部集成开发者
@churchapps/textingSMS 提供商抽象Api

参阅 共享库 了解工作区设置和发布工作流程。

项目关系

前端应用              共享库                  后端 API
-------------- ---------------- -----------
B1Admin ──────┐
B1App ──────┤ @churchapps/helpers ◄─── Api
LessonsApp ──────┼──► @churchapps/apphelper LessonsApi
B1Mobile ──────┤ AskApi
FreeShow ──────┘ @churchapps/apihelper ◄──┘

所有前端应用依赖于 @churchapps/helpers。Web 应用还额外依赖于 @churchapps/apphelper 包。所有后端 API 同时依赖于 @churchapps/helpers@churchapps/apihelper

后续步骤