Modello Backend per App di Ricerca Genealogica __PH0__
tracciamento di FamilyTree, FamilyNode, DocumentScan, DnaMatchLog e ResearchNote
Un backend di ricerca genealogica pronto per la produzione su Back4app per registri FamilyTree, parenti di FamilyNode, fonti DocumentScan, recensioni di DnaMatchLog e risultati di ResearchNote. Include diagramma ER, guida al campo, schema JSON, sandbox API e un prompt AI Agent per un rapido bootstrap.
Principali insegnamenti dalla ricerca genealogica
Questo modello ti offre un backend di ricerca genealogica con FamilyTree, FamilyNode, DocumentScan, DnaMatchLog e ResearchNote affinché il tuo team possa organizzare le prove di linea e i percorsi delle fonti.
- Dashboard di FamilyTree — Modella ogni FamilyTree con treeName, originRegion, status e owner affinché ogni spazio di lavoro genealogico rimanga tracciabile.
- Tracciamento di linea FamilyNode — Registra ogni FamilyNode con fullName, relationship, birthDate, deathDate, sourceStatus e createdBy per una chiara revisione.
- Catalogo delle fonti DocumentScan — Memorizza ogni DocumentScan con title, fileUrl, documentType, recordDate e uploadedBy per prove supportate da fonti.
- Flusso di revisione DnaMatchLog — Traccia ogni DnaMatchLog con kitId, matchName, sharedCm, matchStatus e reviewedBy per il follow-up del DNA.
- Note di ricerca evidenze — Collega ogni ResearchNote a un FamilyTree e a un optional relatedNode in modo che i risultati rimangano attaccati al ramo giusto.
Panoramica: App di Ricerca Genealogica
Un pipeline di ricerca genealogica sana ha fasi chiare, proprietari e criteri di uscita—altrimenti “in corso” diventa un buco nero. I clienti lo sentono nell'ETA che prometti. Back4app ancorano FamilyTree, FamilyNode, DocumentScan, DnaMatchLog e ResearchNote per pratiche di ricerca genealogica che necessitano di scadenze, documenti e comunicazioni in un spazio di lavoro con permessi. Lo schema copre Utente (username, email, ruolo), FamilyTree (treeName, originRegion, status, owner), FamilyNode (fullName, relationship, birthDate, deathDate, sourceStatus, createdBy), DocumentScan (title, fileUrl, documentType, recordDate, uploadedBy), DnaMatchLog (kitId, matchName, sharedCm, matchStatus, reviewedBy) e ResearchNote (subject, body, relatedNode, author). Collega il tuo frontend preferito e inizia a catturare la storia familiare con una linea di discendenza strutturata e link alle fonti.
Migliore per:
Cosa ottieni nel modello di ricerca genealogica
Se i soggetti interessati nella ricerca genealogica non riescono a rispondere a domande semplici in pochi secondi, le risponderanno durante le riunioni — lentamente e costosamente.
L'hub mette in evidenza FamilyTree, FamilyNode e DocumentScan in modo da poter confrontare le stack client contro le stesse entità, campi e relazioni.
Set di funzionalità dell'app genealogica
Ogni scheda tecnologica in questo hub utilizza lo stesso schema genealogico con User, FamilyTree, FamilyNode, DocumentScan, DnaMatchLog e ResearchNote.
Account utente e ruoli
L'utente memorizza nome utente, email, password e ruolo.
Registrazioni FamilyTree e FamilyNode
FamilyTree conserva treeName, originRegion, status e owner, mentre FamilyNode conserva fullName e relationship.
Registro delle sorgenti di DocumentScan
DocumentScan cattura titolo, fileUrl, tipo di documento e data di registrazione.
Revisioni DnaMatchLog
DnaMatchLog memorizza kitId, matchName, sharedCm e matchStatus.
Perché costruire il backend della tua ricerca genealogica con Back4app?
Back4app ti offre FamilyTree, FamilyNode, DocumentScan, DnaMatchLog e ResearchNote, così il tuo team può concentrarsi sulla revisione delle prove invece che sulla gestione del database.
- •Struttura di FamilyTree e FamilyNode: Le classi FamilyTree e FamilyNode memorizzano treeName, originRegion, fullName, relationship e sourceStatus in un formato interrogabile.
- •DocumentScan e controllo delle fonti: I registri DocumentScan mantengono insieme title, fileUrl, documentType, recordDate e uploadedBy affinché ogni fonte rimanga collegata all'albero giusto.
- •Revisione del DNA e percorsi di note: I registri DnaMatchLog e ResearchNote conservano kitId, matchName, sharedCm, matchStatus, subject e relatedNode affinché i revisori possano seguire ogni confronto.
Costruisci e itera rapidamente sui flussi di lavoro genealogici con un contratto backend unico su tutte le piattaforme.
Vantaggi della ricerca genealogica
Un backend di ricerca genealogica che ti aiuta a mantenere le tracce delle sorgenti e i appunti di linea organizzati.
Impostazione della ricerca più veloce
Inizia da uno schema completo per User, FamilyTree, FamilyNode, DocumentScan, DnaMatchLog e ResearchNote anziché definirlo da zero.
Registrazioni familiari collegate a fonti
Collega ogni FamilyNode a sourceStatus, birthDate, deathDate e createdBy per una chiara attribuzione.
Tracciabilità della scansione e delle note
Utilizza i campi di DocumentScan come title, fileUrl, documentType e recordDate, quindi collega le voci di ResearchNote al FamilyNode corretto.
Tracciabilità della revisione del DNA
Utilizza i campi di DnaMatchLog come kitId, matchName, sharedCm e matchStatus per documentare il lavoro di follow-up.
Accesso controllato a note di lignaggio sensibili
Utilizza ACL e CLP affinché solo gli utenti autorizzati possano modificare le voci di FamilyTree, FamilyNode, DocumentScan e ResearchNote.
Archiviazione delle prove cronologiche
Archivia createdAt, updatedAt, recordDate e reviewedBy tra classi senza appiattire il percorso di ricerca.
Pronto a lanciare la tua app di ricerca genealogica?
Lascia che l'agente AI di Back4app crei la struttura del tuo backend di ricerca genealogica e generi flussi di lavoro FamilyTree, FamilyNode, DocumentScan, DnaMatchLog e ResearchNote da un solo prompt.
Gratis per iniziare — 50 prompt AI Agent/mese, nessuna carta di credito necessaria
Stack tecnologico
Tutto incluso in questo modello di backend per la ricerca genealogica.
Mappa ER della genealogia
Modello di relazione entità per lo schema di backend della ricerca genealogica.
Schema che copre utenti, alberi familiari, nodi familiari, scansioni di documenti, registri di corrispondenze DNA e note di ricerca.
Visualizza sorgente diagramma
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
}
Flusso di integrazione genealogica
Flusso di runtime tipico per l'accesso, caricamento del dashboard di FamilyTree, creazione di FamilyNode, caricamento di DocumentScan, revisione di DnaMatchLog e sincronizzazione di ResearchNote.
Visualizza sorgente diagramma
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 ResearchNoteGuida dei campi
Riferimento completo a livello di campo per ogni classe nello schema di ricerca genealogica.
| Campo | Tipo | Descrizione | Richiesto |
|---|---|---|---|
| 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 campi in User
Permessi di ruolo e accesso
Come la strategia ACL e CLP protegge utenti, alberi genealogici, nodi familiari, scansioni, registri DNA e note di ricerca.
Protezione accesso staff
Utilizzare la classe Utente solo per il personale autenticato, con valori di ruolo come ricercatore, revisore e amministratore.
Integrità della fonte per i record degli alberi
Utilizzare la validazione Cloud Code in modo che le voci FamilyTree, FamilyNode e ResearchNote includano il treeName, fullName, sourceStatus o body attesi prima del salvataggio.
Visibilità della linea di scoping
Limita le letture in modo che i team di ricerca possano visualizzare solo i rami del FamilyTree, i file DocumentScan e le voci del DnaMatchLog a cui sono autorizzati a accedere.
Schema JSON
Definizione dello schema JSON grezzo pronta da copiare in Back4app o utilizzare come riferimento per l'implementazione.
{
"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
}
}
}
]
}Costruisci con l'Agente AI
Utilizza l'Agente AI di Back4app per generare una vera app di ricerca genealogica da questo modello, inclusi frontend, backend, auth e flussi di FamilyTree, FamilyNode, DocumentScan, DnaMatchLog e ResearchNote.
Crea un backend per un'app di ricerca genealogica su Back4app con questo schema e comportamento esatti. Schema: 1. Utente (usa il profilo di autenticazione integrato di Back4app): nome utente (Stringa, richiesto), email (Stringa, richiesto), password (Stringa, richiesto), ruolo (Stringa, richiesto); objectId, createdAt, updatedAt (sistema). 2. AlberoGenealogico: nomeAlbero (Stringa, richiesto), regioneDiOrigine (Stringa, opzionale), stato (Stringa, richiesto), proprietario (Puntatore a Utente, richiesto); objectId, createdAt, updatedAt (sistema). 3. NodoFamiliare: albero (Puntatore a AlberoGenealogico, richiesto), nomeCompleto (Stringa, richiesto), relazione (Stringa, richiesto), dataDiNascita (Data, opzionale), dataDiMorte (Data, opzionale), statoSorgente (Stringa, richiesto), creatoDa (Puntatore a Utente, richiesto); objectId, createdAt, updatedAt (sistema). 4. ScansioneDocumento: albero (Puntatore a AlberoGenealogico, richiesto), titolo (Stringa, richiesto), urlFile (Stringa, richiesto), tipoDocumento (Stringa, richiesto), dataRegistrazione (Data, opzionale), caricatoDa (Puntatore a Utente, richiesto); objectId, createdAt, updatedAt (sistema). 5. RegistroCorrispondenzaDna: albero (Puntatore a AlberoGenealogico, richiesto), kitId (Stringa, richiesto), nomeCorrispondenza (Stringa, richiesto), cmCondivisi (Numero, richiesto), statoCorrispondenza (Stringa, richiesto), esaminatoDa (Puntatore a Utente, opzionale); objectId, createdAt, updatedAt (sistema). 6. NotaDiRicerca: albero (Puntatore a AlberoGenealogico, richiesto), soggetto (Stringa, richiesto), testo (Stringa, richiesto), nodoCorrelato (Puntatore a NodoFamiliare, opzionale), autore (Puntatore a Utente, richiesto); objectId, createdAt, updatedAt (sistema). Sicurezza: - Solo utenti autenticati possono creare nodi dell'albero, scansioni, note e registri DNA. - I proprietari degli alberi e i revisori possono aggiornare il contenuto dell'albero; limita le scansioni dei documenti al loro caricatore o a un ruolo di amministratore. - Proteggi le informazioni personali e le note sulla storia familiare con ACL basate su ruoli e permessi di classe. Autenticazione: - Registrazione, accesso, disconnessione. Comportamento: - Gestisci alberi genealogici, aggiungi nodi di persone, allega scansioni di documenti, esamina corrispondenze DNA e scrivi note di ricerca. Consegna: - App Back4app con schema, ACL, CLP; frontend per alberi genealogici, scansioni di documenti, registri di corrispondenza DNA e revisione delle note.
Premi il pulsante sottostante per aprire l'Agente con questo prompt del modello già compilato.
Questo è il prompt base senza un suffisso tecnologico. Puoi adattare il stack frontend generato successivamente.
API Sandbox
Prova le REST e gli endpoint GraphQL contro lo schema di ricerca genealogica. Le risposte utilizzano dati fittizi e non richiedono un account Back4app.
Utilizza lo stesso schema di questo modello.
Scegli la tua tecnologia
Espandi ogni scheda per vedere come integrare FamilyTree, FamilyNode e DocumentScan con il tuo stack scelto.
Backend di ricerca genealogica Flutter
Backend di ricerca genealogica React
Backend di ricerca genealogica React Nativo
Backend di ricerca genealogica Next.js
Backend di ricerca genealogica JavaScript
Backend di ricerca genealogica Android
Backend di ricerca genealogica iOS
Backend di ricerca genealogica Vue
Backend di ricerca genealogica Angular
Backend di ricerca genealogica GraphQL
Backend di ricerca genealogica REST API
Backend di ricerca genealogica PHP
Backend di ricerca genealogica .NET
Cosa ottieni con ogni tecnologia
Ogni stack utilizza lo stesso schema di backend di ricerca genealogica e contratti API.
Struttura dati genealogici unificata
Gestisci Utente, FamilyTree, FamilyNode, DocumentScan, DnaMatchLog e ResearchNote con uno schema coerente.
Record familiari collegati a fonti
Allega valori sourceStatus, fileUrl e recordDate a ciascun elemento dell'albero e scansione.
Flusso di revisione del corrispondenza DNA
Tieni traccia di kitId, matchName, sharedCm, matchStatus e reviewedBy come parte del processo di revisione.
Design del campo cronologico-prima
Memorizza birthDate, deathDate, recordDate, createdAt e updatedAt affinché le cronologie rimangano leggibili.
REST/GraphQL API per genealogia
Integra dati dell'albero genealogico, scansione di documenti e corrispondenza del DNA con API flessibili.
Confronto Stack Genealogico
Confronta la velocità di installazione, lo stile SDK e il supporto AI tra tutte le tecnologie supportate.
| Framework | Tempo di Installazione | Vantaggio della ricerca genealogica | Tipo di SDK | Supporto IA |
|---|---|---|---|---|
| Circa 5 min | Un'unica base di codice per la ricerca genealogica su mobile e web. | SDK tipizzato | Completo | |
| Meno di 5 minuti | Dashboard di ricerca rapida per la revisione dell'albero genealogico. | SDK tipizzato | Completo | |
| ~3–7 min | App mobile multipiattaforma per il lavoro di genealogia sul campo. | SDK digitato | Completo | |
| Impostazione rapida (5 min) | App web renderizzata dal server per archivi di ricerca. | SDK digitato | Completo | |
| ~3–5 min | Integrazione web leggera per la navigazione dell'albero genealogico. | SDK digitato | Completo | |
| Circa 5 min | App nativa Android per revisione genealogica in loco. | SDK Digitato | Completo | |
| Meno di 5 minuti | App nativa iOS per accesso all'archivio familiare. | SDK Digitato | Completo | |
| ~3–7 min | Interfaccia web Reactiva per note di ricerca e scansioni. | SDK Digitato | Completo | |
| Installazione rapida (5 min) | Applicazione web enterprise per la gestione della parentela. | SDK Digitato | Completo | |
| Meno di 2 minuti | API flessibile di GraphQL per la ricerca genealogica. | GraphQL API | Completo | |
| Impostazione rapida (2 min) | Integrazione di REST API per registri genealogici. | REST API | Completo | |
| ~3 minuti | Backend di PHP lato server per flussi di lavoro di archiviazione. | REST API | Completo | |
| ~3–7 min | .NET backend per i team di ricerca genealogica. | SDK digitato | Completo |
Il tempo di configurazione riflette la durata prevista dal avvio del progetto alla prima query FamilyTree o DocumentScan utilizzando questo schema di template.
Domande di genealogia
Domande comuni sulla creazione di un backend di ricerca genealogica con questo modello.
Pronto per costruire la tua app di ricerca genealogica?
Inizia il tuo progetto di ricerca genealogica in pochi minuti. Nessuna carta di credito richiesta.