Modèle de back-end d'application de recherche généalogique __PH0__
Suivi de FamilyTree, FamilyNode, DocumentScan, DnaMatchLog et ResearchNote
Un back-end de recherche généalogique prêt à la production sur Back4app pour les enregistrements FamilyTree, les parents FamilyNode, les sources DocumentScan, les évaluations DnaMatchLog et les résultats ResearchNote. Comprend le diagramme ER, le guide des champs, le schéma JSON, le bac à sable API, et un prompt Agent IA pour un démarrage rapide.
Leçons à tirer de la recherche généalogique
Ce modèle vous offre un backend de recherche généalogique avec FamilyTree, FamilyNode, DocumentScan, DnaMatchLog, et ResearchNote afin que votre équipe puisse organiser les preuves de lignée et les sources.
- Tableau de bord FamilyTree — Modélisez chaque FamilyTree avec treeName, originRegion, status, et owner afin que chaque espace de travail de lignée reste traçable.
- Suivi de lignée FamilyNode — Enregistrez chaque FamilyNode avec fullName, relationship, birthDate, deathDate, sourceStatus, et createdBy pour une revue claire.
- Catalogue des sources DocumentScan — Stockez chaque DocumentScan avec title, fileUrl, documentType, recordDate, et uploadedBy pour des preuves soutenues par des sources.
- Flux d'examen de DnaMatchLog — Suivez chaque DnaMatchLog avec kitId, matchName, sharedCm, matchStatus et reviewedBy pour le suivi de l'ADN.
- Notes de preuve ResearchNote — Liez chaque ResearchNote à un FamilyTree et un optional relatedNode afin que les découvertes restent attachées à la bonne branche.
Aperçu : Application de recherche généalogique
Un pipeline de recherche généalogique sain a des étapes claires, des responsables et des critères de sortie - sinon, « en cours » devient un trou noir. Les clients le ressentent dans le délai que vous promettez. Back4app ancre FamilyTree, FamilyNode, DocumentScan, DnaMatchLog et ResearchNote pour des pratiques de recherche généalogique qui ont besoin de délais, de documents et de communications dans un espace de travail autorisé. Le schéma couvre Utilisateur (nom d'utilisateur, e-mail, rôle), FamilyTree (treeName, originRegion, status, owner), FamilyNode (fullName, relationship, birthDate, deathDate, sourceStatus, createdBy), DocumentScan (title, fileUrl, documentType, recordDate, uploadedBy), DnaMatchLog (kitId, matchName, sharedCm, matchStatus, reviewedBy) et ResearchNote (subject, body, relatedNode, author). Connectez votre frontend préféré et commencez à capturer l'histoire familiale avec des liens de lignée et de source structurés.
Meilleur pour :
Ce que vous obtenez dans le modèle de recherche en généalogie
Si les parties prenantes de la recherche en généalogie ne peuvent pas répondre à des questions simples en quelques secondes, elles les répondront lors de réunions — lentement et de manière coûteuse.
Le hub met en avant FamilyTree, FamilyNode et DocumentScan afin que vous puissiez comparer les piles clients contre les mêmes entités, champs et relations.
Ensemble de fonctionnalités de l'application de généalogie
Chaque carte technologique dans ce hub utilise le même schéma de généalogie avec User, FamilyTree, FamilyNode, DocumentScan, DnaMatchLog et ResearchNote.
Comptes utilisateurs et rôles
L'utilisateur stocke le nom d'utilisateur, l'e-mail, le mot de passe et le rôle.
Enregistrements FamilyTree et FamilyNode
FamilyTree garde treeName, originRegion, status et owner, tandis que FamilyNode garde fullName et relationship.
Registre des sources de DocumentScan
DocumentScan capture le titre, le fileUrl, le documentType et la recordDate.
Revues DnaMatchLog
DnaMatchLog stocke kitId, matchName, sharedCm et matchStatus.
Pourquoi construire votre backend de recherche généalogique avec Back4app ?
Back4app vous fournit des primitives FamilyTree, FamilyNode, DocumentScan, DnaMatchLog et ResearchNote afin que votre équipe puisse se concentrer sur la révision des preuves plutôt que sur le fonctionnement de la base de données.
- •Structure FamilyTree et FamilyNode: Les classes FamilyTree et FamilyNode stockent treeName, originRegion, fullName, relationship et sourceStatus dans un format interrogeable.
- •DocumentScan et contrôle des sources: Les enregistrements DocumentScan conservent ensemble title, fileUrl, documentType, recordDate et uploadedBy afin que chaque source reste attachée au bon arbre.
- •Révision de l'ADN et pistes de notes: Les enregistrements DnaMatchLog et ResearchNote conservent kitId, matchName, sharedCm, matchStatus, subject et relatedNode pour que les examinateurs puissent suivre chaque comparaison.
Construisez et itérez rapidement sur les flux de travail généalogiques avec un seul contrat backend sur toutes les plateformes.
Avantages de la recherche en généalogie
Un backend de recherche en généalogie qui vous aide à garder vos pistes de source et vos notes de lignée organisées.
Configuration de recherche plus rapide
Commencez à partir d'un schéma complet User, FamilyTree, FamilyNode, DocumentScan, DnaMatchLog et ResearchNote plutôt que de le définir à partir de zéro.
Dossiers familiaux liés à des sources
Liez chaque FamilyNode à sourceStatus, birthDate, deathDate et createdBy pour une attribution plus claire.
Traçabilité des scans et des notes
Utilisez les champs DocumentScan comme title, fileUrl, documentType, et recordDate, puis connectez les entrées ResearchNote au bon FamilyNode.
Traçabilité des revues ADN
Utilisez les champs DnaMatchLog comme kitId, matchName, sharedCm et matchStatus pour documenter le travail de suivi.
Accès contrôlé aux notes de lignée sensibles
Utilisez ACL et CLP afin que seuls les utilisateurs autorisés puissent modifier les entrées FamilyTree, FamilyNode, DocumentScan et ResearchNote.
Stockage des preuves chronologiques
Stockez createdAt, updatedAt, recordDate, et reviewedBy à travers les classes sans aplatir la trace de recherche.
Prêt à lancer votre application de recherche généalogique ?
Laissez l'Agent IA Back4app structurer votre backend de recherche généalogique et générer les workflows FamilyTree, FamilyNode, DocumentScan, DnaMatchLog et ResearchNote à partir d'une seule invite.
Gratuit pour commencer — 50 invites d'Agent IA/mois, sans carte de crédit requise
Technologie Stack
Tout inclus dans ce modèle de backend de recherche généalogique.
Carte ER de généalogie
Modèle de relation d'entité pour le schéma backend de recherche en généalogie.
Schéma couvrant les utilisateurs, les arbres généalogiques, les nœuds familiaux, les scans de documents, les journaux de correspondance ADN, et les notes de recherche.
Voir la source du diagramme
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
}
Flux d'intégration de généalogie
Flux d'exécution typique pour la connexion, le chargement du tableau de bord FamilyTree, la création de FamilyNode, le téléchargement de DocumentScan, la révision de DnaMatchLog et la synchronisation de ResearchNote.
Voir la source du diagramme
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 ResearchNoteGuide de terrain
Référence complète au niveau des champs pour chaque classe dans le schéma de recherche en généalogie.
| Champ | Type | Description | Requis |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Auto |
| 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 | Auto |
| updatedAt | Date | Auto-generated last-update timestamp | Auto |
7 champs dans User
Permissions de rôle et accès
Comment la stratégie ACL et CLP sécurise les utilisateurs, les arbres généalogiques, les nœuds de famille, les scans, les journaux ADN et les notes de recherche.
Protection de la connexion du personnel
Utilisez la classe User uniquement pour le personnel authentifié, avec des valeurs de rôle telles que chercheur, examinateur et administrateur.
Intégrité de la source pour les enregistrements d'arbres
Utilisez la validation Cloud Code pour que les entrées FamilyTree, FamilyNode et ResearchNote incluent le treeName, fullName, sourceStatus ou body attendus avant l'enregistrement.
Visibilité de lignée limitée
Limiter les lectures afin que les équipes de recherche puissent uniquement voir les branches FamilyTree, les fichiers DocumentScan et les entrées DnaMatchLog qu'elles sont autorisées à examiner.
Schéma JSON
Définition de schéma JSON brute prête à être copiée dans Back4app ou utilisée comme référence d'implémentation.
{
"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
}
}
}
]
}Construire avec l'Agent IA
Utilisez l'Agent IA Back4app pour générer une véritable application de recherche généalogique à partir de ce modèle, y compris le frontend, le backend, l'authentification et les flux FamilyTree, FamilyNode, DocumentScan, DnaMatchLog et ResearchNote.
Créez un backend d'application de recherche généalogique sur Back4app avec ce schéma et ce comportement exacts. Schéma : 1. Utilisateur (utiliser le profil d'authentification intégré de Back4app) : nom d'utilisateur (String, requis), e-mail (String, requis), mot de passe (String, requis), rôle (String, requis) ; objectId, createdAt, updatedAt (système). 2. ArbreGenealogique : nomDeLArbre (String, requis), régionDOrigine (String, optionnelle), statut (String, requis), propriétaire (Pointeur vers Utilisateur, requis) ; objectId, createdAt, updatedAt (système). 3. NoeudDeFamille : arbre (Pointeur vers ArbreGenealogique, requis), nomComplet (String, requis), relation (String, requis), dateDeNaissance (Date, optionnelle), dateDeDécès (Date, optionnelle), statutSource (String, requis), crééPar (Pointeur vers Utilisateur, requis) ; objectId, createdAt, updatedAt (système). 4. NumérisationDeDocument : arbre (Pointeur vers ArbreGenealogique, requis), titre (String, requis), urlDuFichier (String, requis), typeDeDocument (String, requis), dateDeDossier (Date, optionnelle), téléchargéPar (Pointeur vers Utilisateur, requis) ; objectId, createdAt, updatedAt (système). 5. JournalDeCorrespondanceADN : arbre (Pointeur vers ArbreGenealogique, requis), idDuKit (String, requis), nomDeCorrespondance (String, requis), cmPartagés (Nombre, requis), statutDeCorrespondance (String, requis), examinéPar (Pointeur vers Utilisateur, optionnelle) ; objectId, createdAt, updatedAt (système). 6. NoteDeRecherche : arbre (Pointeur vers ArbreGenealogique, requis), sujet (String, requis), corps (String, requis), noeudLié (Pointeur vers NoeudDeFamille, optionnelle), auteur (Pointeur vers Utilisateur, requis) ; objectId, createdAt, updatedAt (système). Sécurité : - Seuls les utilisateurs authentifiés peuvent créer des noeuds d'arbre, des numérisations, des notes et des journaux ADN. - Les propriétaires d'arbres et les réviseurs peuvent mettre à jour le contenu de l'arbre ; restreindre les numérisations de documents à leur téléchargeur ou à un rôle d'administrateur. - Protéger les informations personnelles identifiables (PII) et les notes d'histoire familiale avec des ACL basées sur les rôles et des permissions de classe. Auth : - Inscription, connexion, déconnexion. Comportement : - Gérer les arbres familiaux, ajouter des noeuds de personnes, attacher des numérisations de documents, examiner les correspondances ADN et rédiger des notes de recherche. Livraison : - Application Back4app avec schéma, ACL, CLP ; frontend pour les arbres familiaux, les numérisations de documents, les journaux de correspondance ADN et la révision des notes.
Appuyez sur le bouton ci-dessous pour ouvrir l'Agent avec cette invite de modèle pré-remplie.
Ceci est l'invite de base sans suffixe technologique. Vous pouvez adapter la pile frontend générée par la suite.
Sandbox API
Essayez les points de terminaison REST et GraphQL contre le schéma de recherche généalogique. Les réponses utilisent des données fictives et ne nécessitent pas de compte Back4app.
Utilise le même schéma que ce modèle.
Choisissez votre technologie
Développez chaque carte pour voir comment intégrer FamilyTree, FamilyNode et DocumentScan avec votre pile choisie.
Flutter Recherche de généalogie Backend
React Recherche de généalogie Backend
React Natif Recherche de généalogie Backend
Next.js Recherche de généalogie Backend
JavaScript Recherche de généalogie Backend
Android Recherche de généalogie Backend
iOS Recherche de généalogie Backend
Vue Recherche de généalogie Backend
Angular Recherche de généalogie Backend
GraphQL Recherche de généalogie Backend
REST API Recherche de généalogie Backend
PHP Recherche de généalogie Backend
.NET Recherche de généalogie Backend
Ce que vous obtenez avec chaque technologie
Chaque pile utilise le même schéma de backend de recherche généalogique et les contrats d'API.
Structure de données généalogiques unifiée
Gérez User, FamilyTree, FamilyNode, DocumentScan, DnaMatchLog et ResearchNote avec un schéma cohérent.
Dossiers familiaux liés aux sources
Attachez des valeurs sourceStatus, fileUrl et recordDate à chaque entrée d'arbre et scan.
Flux de révision des correspondances ADN
Suivez kitId, matchName, sharedCm, matchStatus et reviewedBy dans le cadre du processus de révision.
Conception de champ d'abord chronologique
Stockez birthDate, deathDate, recordDate, createdAt et updatedAt pour que les lignes du temps restent lisibles.
API REST/GraphQL pour la généalogie
Intégrer les données de l'arbre généalogique, du scan de documents et des correspondances ADN avec des API flexibles.
Comparaison des piles de généalogie
Comparez la vitesse de configuration, le style SDK et le support de l'IA parmi toutes les technologies prises en charge.
| Cadre | Temps de configuration | Avantage de la recherche généalogique | Type de SDK | Support IA |
|---|---|---|---|---|
| Environ 5 min | Base de code unique pour la recherche généalogique sur mobile et web. | SDK typé | Complet | |
| Moins de 5 minutes | Tableau de bord de recherche rapide pour la révision de l'arbre généalogique. | SDK typé | Complet | |
| ~3–7 min | Application mobile multiplateforme pour le travail de généalogie sur le terrain. | SDK tapé | Complet | |
| Configuration rapide (5 min) | Application web rendue par le serveur pour les archives de recherche. | SDK tapé | Complet | |
| ~3–5 min | Intégration web légère pour la navigation dans les arbres généalogiques. | SDK tapé | Complet | |
| Environ 5 min | Application Android native pour une revue généalogique sur place. | SDK tapé | Complet | |
| Moins de 5 minutes | Application iOS native pour l'accès aux archives familiales. | SDK tapé | Complet | |
| ~3–7 min | Interface web Reactive pour les notes de recherche et les scans. | SDK tapé | Complet | |
| Configuration rapide (5 min) | Application web d'entreprise pour la gestion de la lignée. | SDK tapé | Complet | |
| Moins de 2 min | API GraphQL flexible pour la recherche en généalogie. | API GraphQL | Complet | |
| Configuration rapide (2 min) | Intégration REST API pour les enregistrements d'arbre généalogique. | REST API | Complet | |
| ~3 min | Backend PHP côté serveur pour les flux de travail d'archivage. | REST API | Complet | |
| ~3–7 min | Backend .NET pour les équipes de recherche en généalogie. | SDK tapé | Complet |
Le temps de configuration reflète la durée attendue depuis le démarrage du projet jusqu'à la première requête FamilyTree ou DocumentScan utilisant ce schéma de modèle.
Questions de généalogie
Questions courantes concernant la construction d'un backend de recherche en généalogie avec ce modèle.
Prêt à créer votre application de recherche en généalogie?
Commencez votre projet de recherche en généalogie en quelques minutes. Pas de carte de crédit requise.