跳到主要内容

API

ChurchApps API 是一个模块化单体 -- 一个为六个不同的模块提供服务的单一代码库,每个模块都有自己的数据库。这种架构为您提供了微服务的组织优势(清晰的边界、独立的数据存储)以及单一部署的操作简洁性。

模块

模块用途
会员人员、团体、家庭、权限
出席服侍、会议、签到记录
内容页面、部分、元素、流媒体
奉献捐赠、基金、支付处理
消息传递对话、通知、电子邮件
任务任务、计划、分配

技术栈

  • 运行时: Node.js 22.x 与 TypeScript(ES 模块)
  • 框架: Express
  • 依赖注入: Inversify(基于装饰器的路由)
  • 数据库: MySQL -- 每个模块一个数据库,各自有自己的连接池
  • 认证: 通过 CustomAuthProvider 的基于 JWT 的认证
  • 部署: 通过 Serverless Framework v3 的 AWS Lambda

端口

协议端口描述
HTTP8084主 REST API
WebSocket8087实时套接字连接

Lambda 函数

部署到 AWS 时,API 作为四个 Lambda 函数运行:

  • web -- 处理所有 HTTP 请求
  • socket -- 管理 WebSocket 连接
  • timer15Min -- 每 15 分钟运行一次用于电子邮件通知
  • timerMidnight -- 每天运行一次用于摘要电子邮件和维护任务

共享库

API 依赖于两个共享的 ChurchApps 包:

信息

API 使用 ES 模块(package.json 中的 "type": "module")。请确保您的导入使用 ES 模块语法。

在此部分