家譜研究
與 AI 代理一起建置
家譜研究後端

家譜研究應用程式後端範本
FamilyTree、FamilyNode、DocumentScan、DnaMatchLog 以及 ResearchNote 追蹤

一個生產就緒的 家譜研究後端 於 Back4app 用於 FamilyTree 紀錄、FamilyNode 親屬、DocumentScan 來源、DnaMatchLog 評論及 ResearchNote 發現。包括 ER 圖、領域指南、JSON 架構、API 沙盒,以及一個快速啟動的 AI 代理 提示。

家譜研究要點

此範本為您提供一個結合 FamilyTree、FamilyNode、DocumentScan、DnaMatchLog 和 ResearchNote 的家譜研究後端,讓您的團隊能夠組織血統證據和來源線索。

  1. FamilyTree 儀表板使用 treeName、originRegion、status 和 owner 為每個 FamilyTree 建模,以便每個血統工作區都能保持可追溯性。
  2. FamilyNode 血統追踪為每個 FamilyNode 記錄 fullName、relationship、birthDate、deathDate、sourceStatus 和 createdBy 以便清晰審查。
  3. DocumentScan 來源目錄儲存每個 DocumentScan 以標題、fileUrl、documentType、recordDate 和 uploadedBy 來提供來源支持的證據。
  4. DnaMatchLog 評審流程追蹤每個 DnaMatchLog,包括 kitId、matchName、sharedCm、matchStatus 和 reviewedBy,以進行 DNA 跟進。
  5. ResearchNote 證據筆記將每個 ResearchNote 連結到 FamilyTree 和可選的 relatedNode,以便發現結果保留在正確的樹枝上。

概述:家譜研究應用

健康的家譜研究流程有明確的階段、擁有者和退出標準——否則「進行中」就會變成黑洞。客戶能在你承諾的 ETA 中感受到這一點。 Back4app 錨定了 FamilyTree、FamilyNode、DocumentScan、DnaMatchLog 和 ResearchNote,以滿足需要截止日期、文件和通訊的家譜研究實踐,並在一個授權的工作區中進行。該架構涵蓋用戶(用戶名、電子郵件、角色)、FamilyTree(樹名、來源地區、狀態、擁有者)、FamilyNode(全名、關係、出生日期、死亡日期、來源狀態、創建者)、DocumentScan(標題、文件 URL、文件類型、記錄日期、上傳者)、DnaMatchLog(kitId、matchName、sharedCm、matchStatus、reviewedBy)和 ResearchNote(主題、正文、relatedNode、作者)。連接你首選的前端,開始以結構化的血統和來源鏈接捕捉家族歷史。

最適合:

家譜研究應用家譜工具文檔歸檔和掃描索引系統DNA 匹配審核門戶研究協調工作流程團隊選擇 BaaS 作為家系產品

在家譜研究模板中獲得的內容

如果家譜研究相關者無法在幾秒鐘內回答簡單問題,他們將會在會議上緩慢而昂貴地回答。

該中心突顯了 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 代理提示,無需信用卡

技術棧

這個家譜研究後端模板包含了一切。

前端
13+ 種技術
後端
Back4app
數據庫
MongoDB
認證
內建認證 + 會話
API
REST 和 GraphQL
即時性
Live Queries

家譜 ER 地圖

用於家譜研究後端架構的實體關係模型。

查看圖表來源
Mermaid
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匹配日誌和同步研究筆記。

查看圖表來源
Mermaid
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

田野指南

針對族譜研究架構中每個類別的完整田野級別參考。

字段類型描述必填
objectIdStringAuto-generated unique identifier自動
usernameStringStaff login name
emailStringStaff email address
passwordStringHashed password (write-only)
roleStringRole of the user (e.g., researcher, reviewer, admin)
createdAtDateAuto-generated creation timestamp自動
updatedAtDateAuto-generated last-update timestamp自動

7 欄位在 User

角色權限和訪問

ACL 和 CLP 策略如何保護用戶、家族樹、家族節點、掃描、DNA 日誌和研究筆記。

員工登錄保護

僅對經過身份驗證的員工使用用戶類別,角色值如研究員、審閱員和管理員。

家族樹記錄的來源完整性

使用 Cloud Code 驗證,以便 FamilyTree、FamilyNode 和 ResearchNote 條目在保存之前包括預期的 treeName、fullName、sourceStatus 或 body。

範圍性血統可見性

限制讀取,使研究團隊僅能查看他們有權檢閱的 FamilyTree 分支、DocumentScan 文件和 DnaMatchLog 項目。

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
        },
        "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 AI 代理
準備構建
在 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匹配記錄和筆記審核的前端。

按下下面的按鈕以打開帶有此模板提示的代理,提示已預填。

這是沒有技術後綴的基本提示。您可以在之後調整生成的前端堆疊。

在幾分鐘內部署每月 50 個免費提示無需信用卡

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 查詢的預期持續時間。

家譜問題

有關使用此模板構建家譜研究後端的常見問題。

當業務量增長時,譜系研究實踐如何保持入庫質量?
家譜研究團隊應如何建模客戶、事項和內部交接,以消除歧義?
這個家譜研究CRM層能否隨著新的事項類型和接收渠道而增長?
我如何使用Flutter查詢家譜和掃描?
我如何使用Next.js Server Actions管理家譜研究訪問?
React本地緩存家譜數據嗎?
我如何防止未授權的掃描訪問?
在 Android 上顯示家譜的最佳方式是什麼?
文件掃描工作流程如何從頭到尾運作?
哪些類別支持這個家譜研究模板?

受到全球開發者的信賴

與 Back4app 模板一起,加入更快交付家譜研究產品的團隊

G2 Users Love Us Badge

準備好構建您的家譜研究應用程序了嗎?

在幾分鐘內開始您的家譜研究項目。無需信用卡。

選擇技術