家系図研究アプリバックエンドテンプレート
FamilyTree、FamilyNode、DocumentScan、DnaMatchLog、ResearchNoteの追跡
家系図研究バックエンドの本番環境準備完了 Back4app 用: FamilyTree レコード、FamilyNode 親戚、DocumentScan ソース、DnaMatchLog レビュー、ResearchNote 発見。ER図、フィールドガイド、JSONスキーマ、APIサンドボックス、および迅速なブートストラップ用のAIエージェントプロンプトが含まれています。
系譜研究の要点
このテンプレートは、ファミリーツリー、ファミリーノード、ドキュメントスキャン、DNAマッチログ、およびリサーチノートを使用した系譜研究のバックエンドを提供し、チームが系譜の証拠とソースのトレイルを整理できるようにします。
- ファミリーツリーのダッシュボード作成 — 各ファミリーツリーにtreeName、originRegion、status、およびownerをモデル化し、すべての系譜ワークスペースを追跡可能にします。
- ファミリーノードの系譜追跡 — 各ファミリーノードをfullName、relationship、birthDate、deathDate、sourceStatus、およびcreatedByで記録し、明確にレビューします。
- ドキュメントスキャンのソースカタログ — 各ドキュメントスキャンをtitle、fileUrl、documentType、recordDate、およびuploadedByで保存し、ソースに基づいた証拠を提供します。
- DnaMatchLogレビューフロー — DNAフォローアップのために、kitId、matchName、sharedCm、matchStatus、およびreviewedByで各DnaMatchLogを追跡します。
- ResearchNoteの証拠メモ — 各ResearchNoteをFamilyTreeおよびオプションのrelatedNodeにリンクし、調査結果が正しい枝に付随するようにします。
概要: 系譜研究アプリ
健全な系譜研究パイプラインには明確な段階、オーナー、終了基準があります。さもなければ「進行中」はブラックホールになってしまいます。顧客はあなたが約束するETAでそれを感じます。Back4appは、締切、文書、通信が1つの許可されたワークスペース内に必要な系譜研究の慣行のためにFamilyTree、FamilyNode、DocumentScan、DnaMatchLog、ResearchNoteを固定します。スキーマはUser(username、email、role)、FamilyTree(treeName、originRegion、status、owner)、FamilyNode(fullName、relationship、birthDate、deathDate、sourceStatus、createdBy)、DocumentScan(title、fileUrl、documentType、recordDate、uploadedBy)、DnaMatchLog(kitId、matchName、sharedCm、matchStatus、reviewedBy)、およびResearchNote(subject、body、relatedNode、author)をカバーします。あなたの好みのフロントエンドを接続し、構造化された系譜とソースリンクで家族の歴史を捉え始めましょう。
ベスト:
系譜研究テンプレートで得られるもの
系譜研究の関係者が数秒以内に簡単な質問に答えられない場合、彼らは会議で時間をかけて高額で答えることになる。
ハブはFamilyTree、FamilyNode、DocumentScanを強調し、クライアントスタックを同じエンティティ、フィールド、関係に対して比較できるようにします。
系譜アプリ機能セット
このハブ内のすべての技術カードは、User、FamilyTree、FamilyNode、DocumentScan、DnaMatchLog、および ResearchNote と同じ系譜スキーマを使用しています。
ユーザーアカウントとロール
ユーザーはユーザー名、メール、パスワード、およびロールを保存します。
FamilyTreeおよびFamilyNodeレコード
FamilyTreeはtreeName、originRegion、status、およびownerを保持し、FamilyNodeはfullNameとrelationshipを保持します。
DocumentScan ソースレジストリ
DocumentScan はタイトル、fileUrl、documentType、および recordDate をキャプチャします。
DnaMatchLog レビュー
DnaMatchLog は kitId、matchName、sharedCm、および matchStatus を保存します。
なぜ Back4app で系譜研究のバックエンドを構築するのか?
Back4app は FamilyTree、FamilyNode、DocumentScan、DnaMatchLog、および ResearchNote プリミティブを提供し、あなたのチームがデータベースの配管ではなく証拠のレビューに集中できるようにします。
- •FamilyTree と FamilyNode の構造: FamilyTree と FamilyNode クラスは、treeName、originRegion、fullName、relationship、および sourceStatus をクエリ可能な形式で保存します。
- •DocumentScan とソース管理: DocumentScan レコードは、title、fileUrl、documentType、recordDate、および uploadedBy をまとめて保持し、各ソースが正しい木に付属するようにします。
- •DNA レビューとノートトレイル: DnaMatchLog と ResearchNote レコードは、kitId、matchName、sharedCm、matchStatus、subject、および relatedNode を保持し、レビューアが各比較を追跡できるようにします。
1 つのバックエンド契約で全てのプラットフォーム上で系譜ワークフローを迅速に構築・反復できます。
系譜研究の利点
ソーストレイルと系譜ノートを整理するのに役立つ系譜研究バックエンド。
より迅速な研究設定
ゼロから定義するのではなく、完全なUser、FamilyTree、FamilyNode、DocumentScan、DnaMatchLog、ResearchNoteスキーマから始めます。
ソースリンクされた家族記録
各FamilyNodeをsourceStatus、birthDate、deathDate、およびcreatedByに結びつけて、より明確な帰属を実現します。
スキャンとノートのトレーサビリティ
タイトル、fileUrl、documentType、recordDateなどのDocumentScanフィールドを使用し、ResearchNoteエントリを正しいFamilyNodeに接続します。
DNAレビューのトレーサビリティ
kitId、matchName、sharedCm、matchStatusなどのDnaMatchLogフィールドを使用して、フォローアップ作業を文書化します。
敏感な系譜ノートへの制御されたアクセス
ACLとCLPを使用して、認可されたユーザーのみがFamilyTree、FamilyNode、DocumentScan、およびResearchNoteエントリを編集できるようにします。
時間的証拠ストレージ
研究の経路をフラット化することなく、クラス間でcreatedAt、updatedAt、recordDate、reviewedByを保存します。
系譜研究アプリを立ち上げる準備はできましたか?
Back4app AIエージェントに系譜研究のバックエンドをスキャフォールドさせ、FamilyTree、FamilyNode、DocumentScan、DnaMatchLog、ResearchNoteのワークフローを一つのプロンプトから生成させます。
無料で開始 — 月50件のAIエージェントプロンプト、クレジットカード不要
テクノロジースタック
この系譜研究バックエンドテンプレートに含まれるすべて。
系譜 ER マップ
系譜研究バックエンドスキーマのためのエンティティ関係モデル。
ユーザー、ファミリーツリー、ファミリーノード、ドキュメントスキャン、DNA マッチログ、リサーチノートをカバーするスキーマ。
図のソースを表示
erDiagram
User ||--o{ FamilyTree : "owner"
User ||--o{ FamilyNode : "createdBy"
User ||--o{ DocumentScan : "uploadedBy"
User ||--o{ DnaMatchLog : "reviewedBy"
User ||--o{ ResearchNote : "author"
FamilyTree ||--o{ FamilyNode : "tree"
FamilyTree ||--o{ DocumentScan : "tree"
FamilyTree ||--o{ DnaMatchLog : "tree"
FamilyTree ||--o{ ResearchNote : "tree"
FamilyNode ||--o{ ResearchNote : "relatedNode"
User {
String objectId PK
String username
String email
String password
String role
Date createdAt
Date updatedAt
}
FamilyTree {
String objectId PK
String treeName
String originRegion
String status
String ownerId FK
Date createdAt
Date updatedAt
}
FamilyNode {
String objectId PK
String treeId FK
String fullName
String relationship
Date birthDate
Date deathDate
String sourceStatus
String createdById FK
Date createdAt
Date updatedAt
}
DocumentScan {
String objectId PK
String treeId FK
String title
String fileUrl
String documentType
Date recordDate
String uploadedById FK
Date createdAt
Date updatedAt
}
DnaMatchLog {
String objectId PK
String treeId FK
String kitId
String matchName
Number sharedCm
String matchStatus
String reviewedById FK
Date createdAt
Date updatedAt
}
ResearchNote {
String objectId PK
String treeId FK
String subject
String body
String relatedNodeId FK
String authorId FK
Date createdAt
Date updatedAt
}
系図統合フロー
サインイン、FamilyTreeダッシュボードのロード、FamilyNodeの作成、DocumentScanのアップロード、DnaMatchLogのレビュー、ResearchNoteの同期における典型的なランタイムフロー。
図のソースを表示
sequenceDiagram
participant User
participant App as Genealogy Research App
participant Back4app as Back4app Cloud
User->>App: Sign in
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Open family tree dashboard
App->>Back4app: GET /classes/FamilyTree?include=owner&order=-updatedAt
Back4app-->>App: Tree list and owner pointers
User->>App: Add a FamilyNode to a tree
App->>Back4app: POST /classes/FamilyNode
Back4app-->>App: FamilyNode objectId
User->>App: Upload a DocumentScan and review DNA matches
App->>Back4app: POST /classes/DocumentScan
App->>Back4app: GET /classes/DnaMatchLog?include=reviewedBy&order=-createdAt
Back4app-->>App: Scan record and match log entries
App->>Back4app: Live update family tree changes
Back4app-->>App: Subscription event for FamilyNode and ResearchNoteフィールドガイド
系図研究スキーマ内のすべてのクラスに対する完全なフィールドレベルの参照。
| フィールド | タイプ | 説明 | 必須 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自動 |
| username | String | Staff login name | |
| String | Staff email address | ||
| password | String | Hashed password (write-only) | |
| role | String | Role of the user (e.g., researcher, reviewer, admin) | |
| createdAt | Date | Auto-generated creation timestamp | 自動 |
| updatedAt | Date | Auto-generated last-update timestamp | 自動 |
7 の User フィールド
役割の権限とアクセス
ACL と CLP 戦略がユーザー、家系図、家族ノード、スキャン、DNA ログ、および研究ノートをどのように保護するか。
スタッフログイン保護
認証されたスタッフのみに User クラスを使用し、研究者、レビュアー、管理者などの役割の値を持たせます。
ツリー記録のソース整合性
保存前に FamilyTree、FamilyNode、および ResearchNote エントリが期待される treeName、fullName、sourceStatus、または body を含むように Cloud Code 検証を使用します。
スコープ付き系譜の可視性
リサーチチームが承認されたFamilyTreeの枝、DocumentScanファイル、DnaMatchLogエントリのみを閲覧できるように、読み取りを制限します。
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
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "FamilyTree",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"treeName": {
"type": "String",
"required": true
},
"originRegion": {
"type": "String",
"required": false
},
"status": {
"type": "String",
"required": true
},
"owner": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "FamilyNode",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"tree": {
"type": "Pointer",
"required": true,
"targetClass": "FamilyTree"
},
"fullName": {
"type": "String",
"required": true
},
"relationship": {
"type": "String",
"required": true
},
"birthDate": {
"type": "Date",
"required": false
},
"deathDate": {
"type": "Date",
"required": false
},
"sourceStatus": {
"type": "String",
"required": true
},
"createdBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "DocumentScan",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"tree": {
"type": "Pointer",
"required": true,
"targetClass": "FamilyTree"
},
"title": {
"type": "String",
"required": true
},
"fileUrl": {
"type": "String",
"required": true
},
"documentType": {
"type": "String",
"required": true
},
"recordDate": {
"type": "Date",
"required": false
},
"uploadedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "DnaMatchLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"tree": {
"type": "Pointer",
"required": true,
"targetClass": "FamilyTree"
},
"kitId": {
"type": "String",
"required": true
},
"matchName": {
"type": "String",
"required": true
},
"sharedCm": {
"type": "Number",
"required": true
},
"matchStatus": {
"type": "String",
"required": true
},
"reviewedBy": {
"type": "Pointer",
"required": false,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "ResearchNote",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"tree": {
"type": "Pointer",
"required": true,
"targetClass": "FamilyTree"
},
"subject": {
"type": "String",
"required": true
},
"body": {
"type": "String",
"required": true
},
"relatedNode": {
"type": "Pointer",
"required": false,
"targetClass": "FamilyNode"
},
"author": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}AIエージェントで構築
Back4app AIエージェントを使用して、このテンプレートから実際の系譜研究アプリを生成します。フロントエンド、バックエンド、認証、およびFamilyTree、FamilyNode、DocumentScan、DnaMatchLog、ResearchNoteフローを含みます。
Back4appでこの正確なスキーマと動作を持つ系図研究アプリのバックエンドを作成します。 スキーマ: 1. ユーザー (Back4app の組み込み認証プロファイルを使用): ユーザー名 (文字列, 必須), メール (文字列, 必須), パスワード (文字列, 必須), 役割 (文字列, 必須); objectId, createdAt, updatedAt (システム). 2. ファミリーツリー: ツリー名 (文字列, 必須), 起源地域 (文字列, 任意), 状態 (文字列, 必須), 所有者 (ユーザーへのポインタ, 必須); objectId, createdAt, updatedAt (システム). 3. ファミリーノード: ツリー (ファミリーツリーへのポインタ, 必須), 氏名 (文字列, 必須), 関係 (文字列, 必須), 生年月日 (日付, 任意), 死亡日 (日付, 任意), ソースステータス (文字列, 必須), 作成者 (ユーザーへのポインタ, 必須); objectId, createdAt, updatedAt (システム). 4. ドキュメントスキャン: ツリー (ファミリーツリーへのポインタ, 必須), タイトル (文字列, 必須), ファイルURL (文字列, 必須), ドキュメントタイプ (文字列, 必須), 記録日 (日付, 任意), アップロード者 (ユーザーへのポインタ, 必須); objectId, createdAt, updatedAt (システム). 5. DNAマッチログ: ツリー (ファミリーツリーへのポインタ, 必須), キットID (文字列, 必須), マッチ名 (文字列, 必須), 共有cm (数値, 必須), マッチステータス (文字列, 必須), レビュー者 (ユーザーへのポインタ, 任意); objectId, createdAt, updatedAt (システム). 6. 研究ノート: ツリー (ファミリーツリーへのポインタ, 必須), 主題 (文字列, 必須), 本文 (文字列, 必須), 関連ノード (ファミリーノードへのポインタ, 任意), 著者 (ユーザーへのポインタ, 必須); objectId, createdAt, updatedAt (システム). セキュリティ: - 認証されたユーザーのみがツリーノード、スキャン、ノート、およびDNAログを作成できます。 - ツリーの所有者とレビュー担当者はツリーの内容を更新できます。文書スキャンはアップローダーまたは管理者役割に制限します。 - PIIと家族歴のノートは役割ベースのACLとクラス権限で保護します。 認証: - サインアップ、ログイン、ログアウト。 動作: - ファミリーツリーを管理し、人物ノードを追加し、ドキュメントスキャンを添付し、DNAマッチをレビューし、研究ノートを書くことができます。 提供: - スキーマ、ACL、CLPを持つBack4appアプリ; ファミリーツリー、ドキュメントスキャン、DNAマッチログ、ノートレビューのためのフロントエンド。
下のボタンを押して、このテンプレートのプロンプトが事前入力された状態でエージェントを開いてください。
これは技術の接尾辞なしの基本プロンプトです。生成されたフロントエンドスタックは後で適応できます。
APIサンドボックス
GraphQLエンドポイントを系図研究スキーマに対して試してください。応答はモックデータを使用し、Back4appアカウントを必要としません。
このテンプレートと同じスキーマを使用します。
テクノロジーを選択
各カードを展開して、選択したスタックでFamilyTree、FamilyNode、およびDocumentScanを統合する方法を確認してください。
Flutter系譜研究バックエンド
React系譜研究バックエンド
Reactネイティブ系譜研究バックエンド
Next.js系譜研究バックエンド
JavaScript系譜研究バックエンド
Android系譜研究バックエンド
iOS系譜研究バックエンド
Vue系譜研究バックエンド
Angular系譜研究バックエンド
GraphQL系譜研究バックエンド
REST API系譜研究バックエンド
PHP系譜研究バックエンド
.NET系譜研究バックエンド
各テクノロジーで得られるもの
すべてのスタックは同じ系譜調査バックエンドスキーマとAPI契約を使用します。
統一された系譜データ構造
ユーザー、FamilyTree、FamilyNode、DocumentScan、DnaMatchLog、およびResearchNoteを一貫したスキーマで管理します。
ソースリンクされた家族記録
各ツリーエントリおよびスキャンにsourceStatus、fileUrl、およびrecordDateの値を添付します。
DNAマッチレビューの流れ
レビュープロセスの一環として kitId、matchName、sharedCm、matchStatus、および reviewedBy を追跡します。
年代順のフィールドデザイン
タイムラインが読みやすくなるように、birthDate、deathDate、recordDate、createdAt、および updatedAt を保存します。
REST/GraphQL API for genealogy
家系図、文書スキャン、およびDNAマッチデータを柔軟なAPIで統合します。
系譜スタック比較
サポートされているすべての技術にわたって、セットアップ速度、SDKスタイル、およびAIサポートを比較します。
| フレームワーク | セットアップ時間 | 系図研究の利点 | SDKタイプ | AIサポート |
|---|---|---|---|---|
| 約5分 | モバイルとウェブの系図研究用の単一コードベース。 | 型指定SDK | フル | |
| 5分未満 | 家系図レビューのための迅速な研究ダッシュボード。 | 型指定SDK | フル | |
| 約3〜7分 | フィールド系譜作業のためのクロスプラットフォームモバイルアプリ。 | 型付きSDK | フル | |
| 迅速な(5分)セットアップ | 研究アーカイブ用のサーバー生成ウェブアプリ。 | 型付きSDK | フル | |
| 約3〜5分 | 家系図閲覧のための軽量ウェブ統合。 | 型付きSDK | フル | |
| 約5分 | 現地の系譜レビュー用のネイティブ Android アプリ。 | タイプされたSDK | フル | |
| 5分未満 | 家族のアーカイブアクセス用のネイティブ iOS アプリ。 | タイプされたSDK | フル | |
| 約3〜7分 | 研究ノートとスキャンのための Reactive ウェブUI。 | タイプされたSDK | フル | |
| 迅速な(5分)セットアップ | 系譜管理のためのエンタープライズウェブアプリ。 | タイプされたSDK | フル | |
| 2分未満 | 系譜研究用の柔軟な GraphQL API。 | GraphQL API | フル | |
| 迅速な(2分)設定 | 家系図記録のための REST API 統合。 | REST API | フル | |
| 約3分 | アーカイブワークフロー用のサーバーサイド PHP バックエンド。 | REST API | フル | |
| ~3–7 分 | 系譜研究チームのための .NET バックエンド。 | 入力された SDK | フル |
セットアップ時間は、このテンプレートスキーマを使用したプロジェクトのブートストラップから最初のFamilyTreeまたはDocumentScanクエリまでの予想される期間を示します。
系譜の質問
このテンプレートを使った系譜研究バックエンドの構築に関する一般的な質問。