계보 연구
AI 에이전트로 구축
가계도 연구 백엔드

가계도 연구 앱 백엔드 템플릿
FamilyTree, FamilyNode, DocumentScan, DnaMatchLog 및 ResearchNote 추적

생산 준비가 완료된 가계도 연구 백엔드 on Back4app for FamilyTree 기록, FamilyNode 친척, DocumentScan 출처, DnaMatchLog 리뷰 및 ResearchNote 발견. ER 다이어그램, 필드 가이드, JSON 스키마, API 샌드박스 및 빠른 부트를 위한 AI 에이전트 프롬프트가 포함됩니다.

계보 연구 요약

이 템플릿은 FamilyTree, FamilyNode, DocumentScan, DnaMatchLog 및 ResearchNote로 구성된 계보 연구 백엔드를 제공하여 팀이 혈통 증거와 출처를 정리할 수 있도록 합니다.

  1. FamilyTree 대시보드각 FamilyTree를 treeName, originRegion, status 및 owner로 모델링하여 모든 혈통 작업 공간이 추적 가능하도록 합니다.
  2. FamilyNode 혈통 추적각 FamilyNode를 fullName, relationship, birthDate, deathDate, sourceStatus 및 createdBy로 기록하여 명확한 검토를 가능하게 합니다.
  3. DocumentScan 출처 카탈로그각 DocumentScan을 title, fileUrl, documentType, recordDate 및 uploadedBy로 저장하여 출처 기반 증거를 제공합니다.
  4. DnaMatchLog 검토 흐름DNA 후속 조치를 위해 kitId, matchName, sharedCm, matchStatus 및 reviewedBy로 각 DnaMatchLog를 추적하십시오.
  5. ResearchNote 증거 노트각 ResearchNote를 FamilyTree 및 선택적 relatedNode에 연결하여 발견 사항이 올바른 분기에 연결되도록 합니다.

개요: 계보 연구 앱

건강한 계보 연구 파이프라인은 명확한 단계, 소유자 및 완료 기준을 가지고 있어야 합니다. 그렇지 않으면 '진행 중'이 검은 구멍이 됩니다. 고객은 당신이 약속하는 ETA에서 이를 느낍니다. Back4app는 마감일, 문서 및 커뮤니케이션이 필요한 계보 연구 관행을 위해 FamilyTree, FamilyNode, DocumentScan, DnaMatchLog 및 ResearchNote를 고정합니다. 스키마는 User(사용자 이름, 이메일, 역할), FamilyTree(트리 이름, 출신 지역, 상태, 소유자), FamilyNode(전체 이름, 관계, 생일, 사망일, 출처 상태, 생성자), DocumentScan(제목, 파일 URL, 문서 유형, 기록일, 업로드자), DnaMatchLog(kitId, matchName, sharedCm, matchStatus, reviewedBy) 및 ResearchNote(주제, 본문, relatedNode, 저자)를 포함합니다. 선호하는 프론트엔드를 연결하고 구조화된 혈통 및 출처 링크로 가족 역사를 캡처하기 시작하십시오.

최고의 사용처:

계보 연구 애플리케이션가계도 문서화 도구아카이브 및 스캔 색인 시스템DNA 매치 검토 포털연구 조정 워크플로우팀이 BaaS를 계보 제품으로 선택하는 중

가계 연구 템플릿에서 얻는 것

가계 연구 이해관계자가 몇 초 안에 간단한 질문에 답할 수 없다면, 그들은 회의에서 — 느리고 비싸게 — 답할 것입니다.

허브는 FamilyTree, FamilyNode 및 DocumentScan을 강조하여 클라이언트 스택을 동일한 엔터티, 필드 및 관계에 대해 비교할 수 있도록 합니다.

족보 앱 기능 세트

이 허브의 모든 기술 카드는 User, FamilyTree, FamilyNode, DocumentScan, DnaMatchLog 및 ResearchNote와 동일한 계보 스키마를 사용합니다.

사용자 계정 및 역할

사용자는 사용자 이름, 이메일, 비밀번호 및 역할을 저장합니다.

가계도 및 가족 노드 기록

가계도는 treeName, originRegion, status 및 owner를 유지하며, 가족 노드는 fullName 및 관계를 유지합니다.

문서 스캔 원본 레지스트리

문서 스캔은 제목, 파일 URL, 문서 유형 및 기록 날짜를 캡처합니다.

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 매치 로그 및 연구 노트 스키마에서 시작합니다.

소스에 연결된 가족 기록

각 가족 노드를 소스 상태, 생년월일, 사망일 및 작성자로 연결하여 보다 명확한 저작권을 확보합니다.

스캔 및 노트 추적 가능성

제목, 파일 URL, 문서 유형 및 기록 날짜와 같은 DocumentScan 필드를 사용한 다음, ResearchNote 항목을 올바른 가족 노드에 연결합니다.

DNA 검토 추적 가능성

kitId, matchName, sharedCm 및 matchStatus와 같은 DnaMatchLog 필드를 사용하여 후속 작업을 문서화합니다.

민감한 혈통 노트에 대한 제어된 접근

ACL 및 CLP를 사용하여 승인된 사용자만 가족 트리, 가족 노드, 문서 스캔 및 연구 노트 항목을 편집할 수 있도록 합니다.

연대기적 증거 저장

클래스 간에 research trail을 평탄화하지 않고 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
    }

계보 통합 흐름

로그인, FamilyTree 대시보드 로딩, FamilyNode 생성, DocumentScan 업로드, DnaMatchLog 검토 및 ResearchNote 동기화의 일반적인 실행 흐름입니다.

다이어그램 소스 보기
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 스키마

Back4app에 복사하거나 구현 참조로 사용할 수 있는 원시 JSON 스키마 정의.

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. FamilyTree: 트리 이름 (문자열, 필수), 기원 지역 (문자열, 선택 사항), 상태 (문자열, 필수), 소유자 (사용자에 대한 포인터, 필수); objectId, createdAt, updatedAt (시스템).
3. FamilyNode: 트리 (FamilyTree에 대한 포인터, 필수), 전체 이름 (문자열, 필수), 관계 (문자열, 필수), 생일 (날짜, 선택 사항), 사망일 (날짜, 선택 사항), 출처 상태 (문자열, 필수), 작성자 (사용자에 대한 포인터, 필수); objectId, createdAt, updatedAt (시스템).
4. DocumentScan: 트리 (FamilyTree에 대한 포인터, 필수), 제목 (문자열, 필수), 파일 URL (문자열, 필수), 문서 유형 (문자열, 필수), 기록 날짜 (날짜, 선택 사항), 업로드한 사람 (사용자에 대한 포인터, 필수); objectId, createdAt, updatedAt (시스템).
5. DnaMatchLog: 트리 (FamilyTree에 대한 포인터, 필수), 키트 ID (문자열, 필수), 매치 이름 (문자열, 필수), 공유 cm (숫자, 필수), 매치 상태 (문자열, 필수), 검토한 사람 (사용자에 대한 포인터, 선택 사항); objectId, createdAt, updatedAt (시스템).
6. ResearchNote: 트리 (FamilyTree에 대한 포인터, 필수), 주제 (문자열, 필수), 본문 (문자열, 필수), 관련 노드 (FamilyNode에 대한 포인터, 선택 사항), 저자 (사용자에 대한 포인터, 필수); 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을 저장합니다.

REST/GraphQL APIs for genealogy

유연한 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전체

설정 시간은 이 템플릿 스키마를 사용하여 프로젝트 부트스트랩부터 첫 번째 FamilyTree 또는 DocumentScan 쿼리까지의 예상 지속 시간을 반영합니다.

계보 질문

이 템플릿으로 계보 연구 백엔드를 구축하는 것에 대한 일반적인 질문들.

계보 연구 관행은 볼륨이 증가함에 따라 어떻게 수집 품질을 높게 유지하나요?
가계도 연구 팀은 모호함 없이 클라이언트, 사건 및 내부 인수인계를 어떻게 모델링해야 합니까?
이 유전자 연구 CRM 계층은 새로운 사건 유형 및 수집 채널과 함께 성장할 수 있습니까?
Flutter를 사용하여 패밀리 트리 및 스캔에 대한 쿼리를 어떻게 실행합니까?
Next.js Server Actions으로 유전자 연구 접근을 어떻게 관리합니까?
React Native는 유전자 데이터를 오프라인에서 캐시할 수 있습니까?
무단 스캔 접근을 어떻게 방지하나요?
Android에서 가족 트리를 보여주는 가장 좋은 방법은 무엇인가요?
문서 스캔 워크플로우는 어떻게 작동하나요?
이 계보 연구 템플릿을 구동하는 클래스는 무엇인가요?

전 세계 개발자들이 신뢰합니다.

Back4app 템플릿을 사용하여 조상 연구 제품을 더 빨리 발송하는 팀에 참여하세요.

G2 Users Love Us Badge

조상 연구 앱을 구축할 준비가 되셨습니까?

몇 분 안에 조상 연구 프로젝트를 시작하세요. 신용 카드 필요 없음.

기술 선택