用于活动、贡献和推广的政治捐赠者数据库
活动账本和合规记录
一个在 Back4app 上可投入生产的 政治捐赠者数据库后端,具有活动、捐赠者、贡献、合规代码和推广日志类。从一个架构中跟踪委员会名称、捐赠者资料、贡献金额、合规备注和推广历史。
活动数据库要点
此模板为您提供一个政治捐助者数据库后端,包含活动、捐助者、贡献、合规代码和外展日志记录,方便活动人员从一个结构化的来源进行工作。
- 活动分类帐 — 为每个活动建模,包括委员会名称、周期年份、联邦委员会ID、状态和所有者,以便每项贡献都与一个真实的委员会相关联。
- 贡献限额检查 — 将贡献金额、贡献日期、限额状态和收据编号放在一起,以便在捐赠提交之前进行审核。
- 合规代码审核 — 在提交需要二次审核时,将合规代码、审核状态、审核人和备注附加到贡献上。
- 外联跟进 — 存储 OutreachLog.contactChannel, outreachDate, result, followUpDue 和 createdBy 以保留通话、电子邮件、文本和事件历史记录。
- 访问感知操作符 — 使用 User.username, email, role 和 fullName 结合 ACL 和 CLP,使得活动工作人员、分析师和筹款人只能看到他们应该看到的数据。
概述:政治捐赠者数据库
政治捐赠者数据库中的截止日期通常不是可选的;结构化记录层将日期转化为警报而不是惊喜。小延误会迅速累积。在 Back4app 上,借助 Campaign、Donor、Contribution、ComplianceCode 和 OutreachLog,政治捐赠者数据库团队能够在仍然协作同一案例记录的同时执行职责分离。架构涵盖 User(username、email、role、fullName)、Campaign(committeeName、cycleYear、federalCommitteeId、status、owner)、Donor(fullName、employer、occupation、city、state、source)、Contribution(campaign、donor、amount、contributionDate、limitStatus、receiptNumber)、ComplianceCode(contribution、fecCode、reviewState、reviewedBy、notes)以及 OutreachLog(campaign、donor、contactChannel、outreachDate、result、followUpDue、createdBy),并内置了身份验证和工作流验证。连接您首选的前端,更快地进行发布。
最佳用途:
这个政治捐赠者数据库后端是如何组织的
政治捐赠者数据库不仅关乎速度;当有人问“给我看看你是如何知道这是真的。”时,它还关系到防御性。
使用此概述查看Campaign、Donor和Contribution是如何结合在一起的,然后再将工程时间承诺给特定客户端框架。
活动工作流程功能
这个中心中的每个技术卡片都使用相同的政治捐赠者数据库模式,包括 User、Campaign、Donor、Contribution、ComplianceCode 和 OutreachLog。
捐赠者资料
捐赠者存储全名、雇主、职业、城市、州和来源。
捐赠跟踪
捐赠链接一个活动、捐赠者、金额、捐赠日期、限制状态和收据编号。
合规代码记录
ComplianceCode 存储 fecCode、reviewState、reviewedBy 和 notes。
外联日志历史
OutreachLog 记录 Campaign、Donor、contactChannel、outreachDate、result 和 followUpDue。
为什么在 Back4app 上建立您的政治捐赠者账本?
Back4app 提供了用户、活动、捐赠和合规代码原语,使您的团队可以将精力集中在审查工作和外联上,而不是后台细节。
- •活动和所有者记录: 活动和用户类将 committeeName、federalCommitteeId、status 和 owner 保持在一个可查询的格式中。
- •捐赠和限额跟踪: Contribution.amount、contributionDate、limitStatus 和 receiptNumber 清楚地表明何时需要审查赠与。
- •合规代码工作流程: ComplianceCode.fecCode、reviewState、reviewedBy 和 notes 显示哪个捐赠被批准、标记或留待后续处理。
快速构建和迭代活动记录,在所有平台上使用一个后端合同。
竞选数据库的好处
一个将捐款、合规和外联工作集中在一个地方的政治捐赠者后端。
更快的限制检查
从 Contribution.amount、Contribution.contributionDate 和 Campaign.cycleYear 开始,而不是从零重建捐赠逻辑。
清晰的合规记录
使用 ComplianceCode.fecCode 和 ComplianceCode.reviewState 来跟踪审核结果和升级备注。
更好的捐赠者跟进
跟踪 OutreachLog.contactChannel 和 OutreachLog.result,以便下一个电话、电子邮件或事件能够反映之前的联系。
对敏感字段的有针对性的访问
将 ACL/CLP 与 User、Donor 和 ComplianceCode 类组合,使只有授权用户能够查看联系详情或审核者备注。
活动级别报告
联合查询 Contribution、Campaign 和 ComplianceCode,以按周期、committeeName 和 federalCommitteeId 汇总捐赠情况。
AI辅助启动
从一个结构化提示生成捐献者架构、验证流程和初始API处理程序。
Campaign技术栈
此政治捐赠者数据库后台模板包含一切。
活动实体图
政治捐助者数据库架构的实体关系模型。
涵盖用户、活动、捐赠者、捐赠、合规代码和外联日志的架构。
查看图表源
erDiagram
User ||--o{ Campaign : "owner"
User ||--o{ ComplianceCode : "reviewedBy"
User ||--o{ OutreachLog : "createdBy"
Campaign ||--o{ Contribution : "campaign"
Campaign ||--o{ OutreachLog : "campaign"
Donor ||--o{ Contribution : "donor"
Donor ||--o{ OutreachLog : "donor"
Contribution ||--o{ ComplianceCode : "contribution"
User {
String objectId PK
String username
String email
String password
String role
String fullName
Date createdAt
Date updatedAt
}
Campaign {
String objectId PK
String committeeName
Number cycleYear
String federalCommitteeId
String status
String ownerId FK
Date createdAt
Date updatedAt
}
Donor {
String objectId PK
String fullName
String email
String employer
String occupation
String city
String state
String source
Date createdAt
Date updatedAt
}
Contribution {
String objectId PK
String campaignId FK
String donorId FK
Number amount
Date contributionDate
String limitStatus
String receiptNumber
Date createdAt
Date updatedAt
}
ComplianceCode {
String objectId PK
String contributionId FK
String fecCode
String reviewState
String reviewedById FK
String notes
Date createdAt
Date updatedAt
}
OutreachLog {
String objectId PK
String campaignId FK
String donorId FK
String contactChannel
Date outreachDate
String result
Date followUpDue
String createdById FK
Date createdAt
Date updatedAt
}
活动数据流
用户登录、活动查找、贡献输入、合规代码审核和记录外展日志的典型运行流程。
查看图表源
sequenceDiagram
participant User
participant App as Political Donor Database App
participant Back4app as Back4app Cloud
User->>App: Sign in to the donor workspace
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Open campaign ledger
App->>Back4app: GET /classes/Campaign?include=owner&order=-updatedAt
Back4app-->>App: Campaign records
User->>App: Record a contribution
App->>Back4app: POST /classes/Contribution
Back4app-->>App: Contribution objectId
User->>App: Assign or verify an FEC compliance code
App->>Back4app: POST /classes/ComplianceCode
Back4app-->>App: ComplianceCode objectId
User->>App: Add outreach contact log
App->>Back4app: POST /classes/OutreachLog
Back4app-->>App: OutreachLog objectId字段手册
政治捐赠者架构中每个类的完整字段级参考。
| 字段 | 类型 | 描述 | 必填 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自动 |
| username | String | Operator login name | |
| String | Operator email address | ||
| password | String | Hashed password (write-only) | |
| role | String | Access role for the operator (e.g., admin, analyst, fundraiser) | |
| fullName | String | Display name for the operator | |
| createdAt | Date | Auto-generated creation timestamp | 自动 |
| updatedAt | Date | Auto-generated last-update timestamp | 自动 |
8 字段在 User 中
活动数据的权限
ACL 和 CLP 策略如何保护用户、活动、捐款、合规审查和外展日志。
捐赠者联系方式控制
限制对捐赠者电子邮件、雇主、职业、城市和州字段的读写访问,只有授权的分析师和筹款人员才能查看。
捐款完整性
仅限批准的用户和云代码可以在金额、捐款日期、来源或限制状态需要验证时创建或更正捐款记录。
合规审核记录
仅向需要归档或审计上下文的角色显示 ComplianceCode 笔记和审核者链接。
JSON 模式
准备好复制到 Back4app 的原始 JSON 模式定义,或作为实施参考使用。
{
"classes": [
{
"className": "User",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"username": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": true
},
"password": {
"type": "String",
"required": true
},
"role": {
"type": "String",
"required": true
},
"fullName": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Campaign",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"committeeName": {
"type": "String",
"required": true
},
"cycleYear": {
"type": "Number",
"required": true
},
"federalCommitteeId": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"owner": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Donor",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"fullName": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": false
},
"employer": {
"type": "String",
"required": false
},
"occupation": {
"type": "String",
"required": false
},
"city": {
"type": "String",
"required": false
},
"state": {
"type": "String",
"required": false
},
"source": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Contribution",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"campaign": {
"type": "Pointer",
"required": true,
"targetClass": "Campaign"
},
"donor": {
"type": "Pointer",
"required": true,
"targetClass": "Donor"
},
"amount": {
"type": "Number",
"required": true
},
"contributionDate": {
"type": "Date",
"required": true
},
"limitStatus": {
"type": "String",
"required": true
},
"receiptNumber": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "ComplianceCode",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"contribution": {
"type": "Pointer",
"required": true,
"targetClass": "Contribution"
},
"fecCode": {
"type": "String",
"required": true
},
"reviewState": {
"type": "String",
"required": true
},
"reviewedBy": {
"type": "Pointer",
"required": false,
"targetClass": "User"
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "OutreachLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"campaign": {
"type": "Pointer",
"required": true,
"targetClass": "Campaign"
},
"donor": {
"type": "Pointer",
"required": true,
"targetClass": "Donor"
},
"contactChannel": {
"type": "String",
"required": true
},
"outreachDate": {
"type": "Date",
"required": true
},
"result": {
"type": "String",
"required": true
},
"followUpDue": {
"type": "Date",
"required": false
},
"createdBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}使用 AI 代理构建
使用 Back4app AI 代理根据此模板生成一个真实的政治捐赠者数据库应用,包括前端、后端、身份验证、合规和外联流程。
在 Back4app 上创建一个安全的政治捐赠者数据库后端,具有以下确切的架构和行为。 架构: 1. 用户(使用 Back4app 内置):用户名,电子邮件,密码,角色,全名;objectId,createdAt,updatedAt(系统)。 2. 活动:委员会名称,周期年份,联邦委员会ID,状态,所有者(指向用户的指针);objectId,createdAt,updatedAt(系统)。 3. 捐赠者:全名,电子邮件,雇主,职业,城市,州,来源;objectId,createdAt,updatedAt(系统)。 4. 捐款:活动(指向活动的指针),捐赠者(指向捐赠者的指针),金额,捐款日期,限额状态,收据号码;objectId,createdAt,updatedAt(系统)。 5. 合规代码:捐款(指向捐款的指针),fec代码,审核状态,由谁审核(指向用户的指针),备注;objectId,createdAt,updatedAt(系统)。 6. 外联日志:活动(指向活动的指针),捐赠者(指向捐赠者的指针),联系方式,外联日期,结果,后续到期,由谁创建(指向用户的指针);objectId,createdAt,updatedAt(系统)。 安全性: - 限制编辑权限给分配给活动的已认证操作员。 - 将捐款和合规代码的写入视为审核的工作流条目。 - 仅向授权的活动工作人员展示捐赠者的联系信息和外联历史。 认证: - 注册,登录,登出。 行为: - 列出活动,添加捐赠者,创建捐款,评估捐款限额,分配FEC合规代码,记录外联后续。 交付: - 带有架构、CLP、ACL和支持捐赠者查找、捐款审核、合规标记和外联跟踪的用户界面的 Back4app 应用。
点击下面的按钮,使用预填充该模板提示的代理。
这是没有技术后缀的基本提示。您可以在之后调整生成的前端技术栈。
API 实验室
尝试 REST 和 GraphQL 端点对政治捐赠者架构进行测试。响应使用模拟数据,无需 Back4app 账户。
使用与此模板相同的架构。
选择您的技术栈
展开每个卡片以查看如何将活动、捐赠者和贡献与您选择的技术栈集成。
Flutter 政治捐赠者数据库后端
React 政治捐赠者数据库后端
React 原生 政治捐赠者数据库后端
Next.js 政治捐赠者数据库后端
JavaScript 政治捐赠者数据库后端
Android 政治捐赠者数据库后端
iOS 政治捐赠者数据库后端
Vue 政治捐赠者数据库后端
Angular 政治捐赠者数据库后端
GraphQL 政治捐赠者数据库后端
REST API 政治捐赠者数据库后端
PHP 政治捐赠者数据库后端
.NET 政治捐赠者数据库后端
您从每项技术中获得的内容
每个技术栈使用相同的政治捐赠者数据库架构和 API 合同。
统一的活动工作流数据
使用一个一致的架构管理用户、活动、捐赠者、贡献和外联参考。
贡献限制跟踪
存储金额、日期和限制状态,以便合规检查保持可见。
合规代码和审查支持
用 ComplianceCode 标记贡献并附上审核者备注。
筹款活动的外联日志历史
将每位捐赠者和活动的电话、电子邮件、短信和事件跟进备注保留绑定。
政治捐赠者堆栈比较
比较所有支持技术的设置速度、SDK 风格和 AI 支持。
| 框架 | 设置时间 | 政治捐赠者福利 | SDK 类型 | AI 支持 |
|---|---|---|---|---|
| 大约 5 分钟 | 移动和网页上用于活动审查的单一代码库。 | 类型化 SDK | 完整 | |
| 少于 5 分钟 | 快速网页仪表板用于捐赠者分析。 | 类型化 SDK | 完整 | |
| 约 3-7 分钟 | 跨平台移动应用程序用于外联记录。 | 类型化 SDK | 完整 | |
| 快速(5分钟)设置 | 服务器渲染的网络应用程序用于合规审查。 | 类型化SDK | 完整 | |
| 大约3-5分钟 | 轻量级网络集成用于捐助者搜索。 | 类型化SDK | 完整 | |
| 大约5分钟 | 原生Android应用程序用于现场外联。 | 类型化SDK | 完整 | |
| 5分钟以内 | 用于捐赠者备注的原生iOS应用。 | 输入的SDK | 完整 | |
| 约3–7分钟 | 用于活动融资跟踪的React网页UI。 | 输入的SDK | 完整 | |
| 快速(5分钟)设置 | 用于合规工作流程的企业网页应用。 | 输入的SDK | 完整 | |
| 2分钟以内 | 灵活的 GraphQL API,用于捐赠者智能。 | GraphQL API | 完整 | |
| 快速设置(2分钟) | 用于贡献追踪的 REST API 集成。 | REST API | 完整 | |
| 大约 3 分钟 | 用于外联操作的服务器端 PHP 后端。 | REST API | 完整 | |
| 大约 3–7 分钟 | .NET 后端用于竞选财务记录。 | 类型化 SDK | 完整 |
设置时间反映了使用此模板架构从项目启动到第一次活动或贡献查询的预期持续时间。
活动问题
关于使用该模板构建政治捐赠者数据库后端的常见问题。