跳到主要内容

项目概览

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 75173教会管理仪表板
B1AppNext.js 16 + React 19 + MUI 73301面向公众的教会成员应用
LessonsAppNext.js 163501Lessons.church 前端
B1TransferReact + Vite--数据导入/导出工具
BrochureSitesStatic--教会静态宣传网站

移动应用

所有移动应用使用 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 依赖项使用。

npm 名称用途使用者
Helpers@churchapps/helpers基础工具(DateHelper、ApiHelper、CurrencyHelper 等)所有项目
ApiHelper@churchapps/apihelperExpress 服务器工具(auth middleware、DB helpers、AWS 集成)所有 API
AppHelper包含 6 个包的 WorkspaceReact 组件库所有 Web 应用
ContentProviderHelper@churchapps/content-provider-helperYouTube、Vimeo 和本地内容提供者FreeShow, FreePlay, Api

AppHelper 子包

AppHelper 项目是一个发布六个包的 monorepo workspace:

npm 名称
Core@churchapps/apphelper
Login@churchapps/apphelper-login
Donations@churchapps/apphelper-donations
Forms@churchapps/apphelper-forms
Markdown@churchapps/apphelper-markdown
Website@churchapps/apphelper-website

项目关系

Frontend Apps              Shared Libraries           Backend APIs
-------------- ---------------- ------------
B1Admin ──────┐
B1App ──────┤ @churchapps/helpers ◄───── Api
LessonsApp ──────┼──► @churchapps/apphelper LessonsApi
B1Mobile ──────┤ AskApi
FreeShow ──────┘ @churchapps/apihelper ◄────┘

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

后续步骤