家譜研究應用程式後端範本
FamilyTree、FamilyNode、DocumentScan、DnaMatchLog 以及 ResearchNote 追蹤
一個生產就緒的 家譜研究後端 於 Back4app 用於 FamilyTree 紀錄、FamilyNode 親屬、DocumentScan 來源、DnaMatchLog 評論及 ResearchNote 發現。包括 ER 圖、領域指南、JSON 架構、API 沙盒,以及一個快速啟動的 AI 代理 提示。
家譜研究要點
此範本為您提供一個結合 FamilyTree、FamilyNode、DocumentScan、DnaMatchLog 和 ResearchNote 的家譜研究後端,讓您的團隊能夠組織血統證據和來源線索。
- FamilyTree 儀表板 — 使用 treeName、originRegion、status 和 owner 為每個 FamilyTree 建模,以便每個血統工作區都能保持可追溯性。
- FamilyNode 血統追踪 — 為每個 FamilyNode 記錄 fullName、relationship、birthDate、deathDate、sourceStatus 和 createdBy 以便清晰審查。
- DocumentScan 來源目錄 — 儲存每個 DocumentScan 以標題、fileUrl、documentType、recordDate 和 uploadedBy 來提供來源支持的證據。
- DnaMatchLog 評審流程 — 追蹤每個 DnaMatchLog,包括 kitId、matchName、sharedCm、matchStatus 和 reviewedBy,以進行 DNA 跟進。
- ResearchNote 證據筆記 — 將每個 ResearchNote 連結到 FamilyTree 和可選的 relatedNode,以便發現結果保留在正確的樹枝上。
概述:家譜研究應用
健康的家譜研究流程有明確的階段、擁有者和退出標準——否則「進行中」就會變成黑洞。客戶能在你承諾的 ETA 中感受到這一點。 Back4app 錨定了 FamilyTree、FamilyNode、DocumentScan、DnaMatchLog 和 ResearchNote,以滿足需要截止日期、文件和通訊的家譜研究實踐,並在一個授權的工作區中進行。該架構涵蓋用戶(用戶名、電子郵件、角色)、FamilyTree(樹名、來源地區、狀態、擁有者)、FamilyNode(全名、關係、出生日期、死亡日期、來源狀態、創建者)、DocumentScan(標題、文件 URL、文件類型、記錄日期、上傳者)、DnaMatchLog(kitId、matchName、sharedCm、matchStatus、reviewedBy)和 ResearchNote(主題、正文、relatedNode、作者)。連接你首選的前端,開始以結構化的血統和來源鏈接捕捉家族歷史。
最適合:
在家譜研究模板中獲得的內容
如果家譜研究相關者無法在幾秒鐘內回答簡單問題,他們將會在會議上緩慢而昂貴地回答。
該中心突顯了 FamilyTree、FamilyNode 和 DocumentScan,您可以據此比較客戶堆疊對相同實體、字段和關係。
家譜應用功能集
此中心中的每個技術卡片使用相同的家譜架構,包括 User、FamilyTree、FamilyNode、DocumentScan、DnaMatchLog 和 ResearchNote。
用戶帳號與角色
用戶儲存用戶名、電子郵件、密碼及角色。
家族樹和家族節點記錄
家族樹保留樹名、來源區域、狀態及擁有者,而家族節點保留全名和關係。
DocumentScan 來源註冊
DocumentScan 捕捉標題、fileUrl、文檔類型和記錄日期。
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,方便審查人員跟蹤每個比較。
快速在所有平台上通過單一後端合同構建和迭代家譜工作流程。
家譜研究好處
一個家譜研究後端,幫助您保持來源追蹤和血統備註的組織。
更快的研究設置
從完備的用戶、家譜、家庭節點、文件掃描、DNA匹配日誌及研究筆記架構開始,而不是從零開始定義。
來源鏈接的家庭記錄
將每個家庭節點與sourceStatus、birthDate、deathDate和createdBy掛鈎,以便更清晰地歸屬。
掃描和記錄可追溯性
使用DocumentScan字段,如title、fileUrl、documentType和recordDate,然後將ResearchNote條目連接到正確的家庭節點。
DNA審查可追溯性
使用DnaMatchLog字段,如kitId、matchName、sharedCm和matchStatus來記錄後續工作。
對敏感血統筆記的受控訪問
使用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
}
族譜整合流程
典型運行流程:登錄、載入家庭樹儀表板、創建家庭節點、上傳文件掃描、審閱DNA匹配日誌和同步研究筆記。
查看圖表來源
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 日誌和研究筆記。
員工登錄保護
僅對經過身份驗證的員工使用用戶類別,角色值如研究員、審閱員和管理員。
家族樹記錄的來源完整性
使用 Cloud Code 驗證,以便 FamilyTree、FamilyNode 和 ResearchNote 條目在保存之前包括預期的 treeName、fullName、sourceStatus 或 body。
範圍性血統可見性
限制讀取,使研究團隊僅能查看他們有權檢閱的 FamilyTree 分支、DocumentScan 文件和 DnaMatchLog 項目。
JSON 架構
原始 JSON 架構定義,準備複製到 Back4app 或用作實施參考。
{
"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. 文件掃描:樹 (指向家譜樹的指針,必填),標題 (字串,必填),文件鏈接 (字串,必填),文件類型 (字串,必填),記錄日期 (日期,選填),上傳者 (指向用戶的指針,必填);objectId,createdAt,updatedAt (系統)。 5. DNA匹配記錄:樹 (指向家譜樹的指針,必填),工具包ID (字串,必填),匹配名稱 (字串,必填),共享CM (數字,必填),匹配狀態 (字串,必填),審核者 (指向用戶的指針,選填);objectId,createdAt,updatedAt (系統)。 6. 研究筆記:樹 (指向家譜樹的指針,必填),主題 (字串,必填),內容 (字串,必填),相關節點 (指向家譜節點的指針,選填),作者 (指向用戶的指針,必填);objectId,createdAt,updatedAt (系統)。 安全性: - 只有經過身份驗證的用戶才能創建樹節點、掃描、筆記和DNA記錄。 - 樹的擁有者和審核者可以更新樹內容;限制文檔掃描僅限於其上傳者或管理員角色。 - 使用基於角色的ACL和類別權限保護PII和家族歷史筆記。 認證: - 註冊、登錄、登出。 行為: - 管理家譜樹,添加人員節點,附加文檔掃描,審核DNA匹配並撰寫研究筆記。 交付: - Back4app 應用,包含架構、ACL、CLP;家譜樹、文檔掃描、DNA匹配記錄和筆記審核的前端。
按下下面的按鈕以打開帶有此模板提示的代理,提示已預填。
這是沒有技術後綴的基本提示。您可以在之後調整生成的前端堆疊。
API 沙盒
在家譜研究架構上嘗試 REST 和 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,以便時間線保持可讀。
GraphQL 的 REST API 用於家譜
通過靈活的 API 整合家譜、文件掃描和 DNA 比對數據。
家譜棧比較
比較所有支持技術的設置速度、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 | 完整 |
設置時間反映從專案啟動到使用此範本架構進行第一次 FamillyTree 或 DocumentScan 查詢的預期持續時間。
家譜問題
有關使用此模板構建家譜研究後端的常見問題。