政治的寄付者DB
AIエージェントで構築
政治寄付者データベースバックエンド

キャンペーン、寄付、アウトリーチ用の政治寄付者データベース
キャンペーン台帳とコンプライアンス記録

プロダクション-ready 政治寄付者データベースバックエンド on Back4app、キャンペーン、寄付者、寄付、コンプライアンスコード、およびアウトリーチログクラスを備えています。委員会名、寄付者プロフィール、寄付額、コンプライアンスノート、およびアウトリーチ履歴を1つのスキーマから追跡します。

キャンペーンデータベースの要点

このテンプレートは、キャンペーン、寄付者、寄付、コンプライアンスコード、およびアウトリーチログのレコードを持つ政治寄付者データベースのバックエンドを提供し、キャンペーンスタッフが1つの構造化されたソースから作業できるようにします。

  1. キャンペーン台帳各キャンペーンをcommitteeName、cycleYear、federalCommitteeId、status、およびownerでモデル化し、すべての寄付が実際の委員会に付随するようにします。
  2. 寄付限度チェックContribution.amount、contributionDate、limitStatus、およびreceiptNumberを一緒に保管し、寄付が前に進む前に確認できるようにします。
  3. コンプライアンスコードのレビューファイリングに再確認が必要な場合、ContributionにComplianceCode.fecCode、reviewState、reviewedBy、およびnotesを添付します。
  4. アウトリーチフォローアップOutreachLog.contactChannel、outreachDate、result、followUpDue、createdByを保存して、電話、メール、テキスト、イベントの履歴を保持します。
  5. アクセス対応オペレーターユーザー.username、email、role、fullNameをACLおよびCLPとともに使用して、キャンペーンスタッフ、アナリスト、ファンドレイザーが必要なデータだけを表示できるようにします。

概要: 政治的寄付者データベース

政治的寄付者データベースの締切はほとんどがオプショナルではなく、構造化された記録層は日付を驚きではなくアラートに変えます。小さな遅延が急速に重なります。Back4app上のキャンペーン、寄付者、寄付、コンプライアンスコード、OutreachLogを使用すると、政治的寄付者データベースチームは、同じケースレコードで協力しながら職務の分離を強制できます。スキーマは、ユーザー (username、email、role、fullName)、キャンペーン (committeeName、cycleYear、federalCommitteeId、status、owner)、寄付者 (fullName、employer、occupation、city、state、source)、寄付 (campaign、donor、amount、contributionDate、limitStatus、receiptNumber)、コンプライアンスコード (contribution、fecCode、reviewState、reviewedBy、notes)、およびOutreachLog (campaign、donor、contactChannel、outreachDate、result、followUpDue、createdBy) をカバーし、認証とワークフローの検証が組み込まれています。好みのフロントエンドを接続して、より早く出荷してください。

最適:

キャンペーンファイナンス研究ツール貢献制限追跡アプリコンプライアンスコードレビューワークフロー資金調達 outreach ログシステム委員会ダッシュボード規制された記録のために BaaS を選択するチーム

この政治的寄付者データベースのバックエンドの構成

政治的寄付者データベースは速度だけでなく、「それが真実であることをどう知っていたのか見せて」と誰かに尋ねられたときに防御可能性についても関係している。

特定のクライアントフレームワークに工数をコミットする前に、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、recieptNumberは、贈り物のレビューが必要な時期を明確に示します。
  • コンプライアンスコードワークフロー: ComplianceCode.fecCode、reviewState、reviewedBy、およびnotesは、どの寄付が承認されたか、フラグが付けられたか、またはフォローアップのために残されたかを示します。

すべてのプラットフォームで1つのバックエンド契約を使ってキャンペーンレコードを迅速に構築し、反復します。

キャンペーンドータベースの利点

寄付、コンプライアンス、アウトリーチ作業を1か所にまとめる政治寄付者のバックエンド。

より迅速な制限チェック

寄付ロジックをゼロから再構築するのではなく、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アシストのブートストラップ

1つの構造化されたプロンプトから寄付者スキーマ、バリデーションフロー、およびスターターAPIハンドラを生成します。

あなたの政治寄付者データベースを立ち上げる準備はできましたか?

Back4app AIエージェントにあなたの政治寄付者バックエンドをスキャフォールドさせ、1つのプロンプトからキャンペーン、寄付、コンプライアンスコード、およびアウトリーチログのワークフローを生成させましょう。

開始は無料 — 月あたり50のAIエージェントプロンプト、クレジットカード不要

キャンペーンテクノロジースタック

この政治寄付者データベースバックエンドテンプレートに含まれるすべて。

フロントエンド
13以上の技術
バックエンド
Back4app
データベース
MongoDB
認証
組み込みの認証 + セッション
API
REST と GraphQL
リアルタイム
Live Queries

キャンペーンエンティティ図

政治寄付者データベーススキーマのためのエンティティ関係モデル。

図表ソースを表示
Mermaid
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
    }

キャンペーンデータフロー

ユーザーサインイン、キャンペーン検索、寄付入力、コンプライアンスコードレビュー、アウトリーチログのログ記録のための典型的なランタイムフロー。

図表ソースを表示
Mermaid
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

フィールドガイド

政治的寄付者スキーマの各クラスに関する完全なフィールドレベルの参照。

フィールドタイプ説明必須
objectIdStringAuto-generated unique identifier自動
usernameStringOperator login name
emailStringOperator email address
passwordStringHashed password (write-only)
roleStringAccess role for the operator (e.g., admin, analyst, fundraiser)
fullNameStringDisplay name for the operator
createdAtDateAuto-generated creation timestamp自動
updatedAtDateAuto-generated last-update timestamp自動

8 フィールドが User にあります

キャンペーンデータへの権限

ACLおよびCLP戦略がどのようにユーザー、キャンペーン、寄付、コンプライアンスレビュー、およびアウトリーチログを保護するか。

寄付者の連絡先管理

寄付者のメール、雇用主、職業、都市、および州のフィールドへの読み取りおよび編集アクセスを制限し、認可された分析者および資金調達者のみがそれらを表示できるようにします。

寄付の整合性

金額、寄付日、ソース、または制限ステータスの検証が必要な場合、承認されたユーザーとCloud Codeのみが寄付記録を作成または修正できます。

コンプライアンスレビューのトレイル

ComplianceCode のメモとレビューワーリンクは、ファイリングまたは監査のコンテキストが必要な役割にのみ表示されます。

JSON スキーマ

生の 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 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、UIを持つBack4appアプリ。

下のボタンを押して、このテンプレートプロンプトが事前に入力されたエージェントを開きます。

これは技術サフィックスなしの基本プロンプトです。生成されたフロントエンドスタックを後で適応させることができます。

数分でデプロイ月に50件の無料プロンプトクレジットカード不要

APIラボ

政治寄付者スキーマに対してRESTおよびGraphQLエンドポイントを試します。レスポンスはモックデータを使用し、Back4appアカウントは必要ありません。

プレイグラウンドを読み込んでいます...

このテンプレートと同じスキーマを使用します。

スタックを選択

各カードを展開して、選択したスタックとキャンペーン、寄付者、寄付を統合する方法を確認してください。

Flutter 政治寄付者データベースバックエンド

React 政治寄付者データベースバックエンド

React ネイティブ 政治寄付者データベースバックエンド

Next.js 政治寄付者データベースバックエンド

JavaScript 政治寄付者データベースバックエンド

Android 政治寄付者データベースバックエンド

iOS 政治寄付者データベースバックエンド

Vue 政治寄付者データベースバックエンド

Angular 政治寄付者データベースバックエンド

GraphQL 政治寄付者データベースバックエンド

REST API 政治寄付者データベースバックエンド

PHP 政治寄付者データベースバックエンド

.NET 政治寄付者データベースバックエンド

各テクノロジーで得られるもの

すべてのスタックは同じ政治的寄付者データベーススキーマとAPI契約を使用します。

統一されたキャンペーンワークフローデータ

ユーザー、キャンペーン、寄付者、寄付、およびアウトリーチ参照を1つの一貫したスキーマで管理します。

寄付限度額の追跡

金額、日付、および限度額のステータスを保存し、コンプライアンスチェックが常に見えるようにします。

コンプライアンスコードとレビューサポート

コンプライアンスコードで寄付をタグ付けし、レビューノートを添付します。

ファンドレイザーのアウトリーチログ履歴

各寄付者とキャンペーンに関連付けられた電話、電子メール、テキスト、イベントのフォローアップノートを保持します。

政治的寄付者スタックの比較

すべてのサポートされている技術にわたって、セットアップ速度、SDKスタイル、およびAIサポートを比較します。

フレームワークセットアップ時間政治献金者の利点SDKタイプAIサポート
約5分モバイルとウェブのキャンペーンレビュー用の単一コードベース。タイプされたSDK完全
5分未満寄付者分析のための高速ウェブダッシュボード。タイプされたSDK完全
約3~7分アウトリーチログ用のクロスプラットフォームモバイルアプリ。タイプされたSDK完全
迅速な(5分)セットアップコンプライアンスレビュー用のサーバーレンダリングウェブアプリ。型付きSDK完全
約3〜5分寄付者検索用の軽量ウェブ統合。型付きSDK完全
約5分フィールドアウトリーチ用のネイティブAndroidアプリ。型付きSDK完全
5分未満寄付者ノート用のネイティブ iOS アプリ。Typed SDK完全
約3~7分キャンペーンファイナンス追跡用の React 的なWeb UI。Typed SDK完全
迅速な(5分)セットアップコンプライアンスワークフロー用のエンタープライズWebアプリ。Typed SDK完全
2分未満寄付者インテリジェンスのための柔軟な GraphQL API。GraphQL API完全
迅速な(2分)セットアップ寄付トラッキングのための REST API 統合。REST API完全
約3分アウトリーチ業務のためのサーバーサイド PHP バックエンド。REST API完全
約3~7分.NET のキャンペーンファイナンス記録のバックエンド。型付きSDK完全

セットアップ時間は、このテンプレートスキーマを使用したプロジェクトのブーツストラップから最初のキャンペーンまたは貢献クエリまでの期待される期間を反映しています。

キャンペーンに関する質問

このテンプレートを使用して政治的寄付者データベースバックエンドを構築する際の一般的な質問。

政治寄付者データベース内のどのクライアントの瞬間が、非公式なノートではなく構造化されたキャプチャに値しますか?
どの政治的寄付者データベースのワークフローが構造化タスクと自由形式のノートのどちらから最も利益を得るか?
日々の作業を遅くすることなく、政治的寄付者データベースの報告フィールドを追加する最良の方法は?
Flutterを使用して、寄付と制限ステータスをどのように表示しますか?
Next.js Server Actionsでコンプライアンスコードをどのように管理しますか?
Reactネイティブは、オフラインでアプローチログをキャッシュできますか?
不正な寄付編集を防ぐにはどうすればよいですか?
Androidでキャンペーン記録を表示する最善の方法は何ですか?
アウトリーチワークフローはどのように機能しますか?

世界中の開発者に信頼されています

Back4app テンプレートを使って政治的寄付者製品をより早く出荷するチームに参加しよう

G2 Users Love Us Badge

政治的寄付者データベースアプリを作る準備はできていますか?

数分であなたの政治的寄付者プロジェクトを始めましょう。クレジットカードは不要です。

テクノロジーを選択