Plantilla de Backend de Aplicación de Investigación Genealógica __PH0__
Seguimiento de FamilyTree, FamilyNode, DocumentScan, DnaMatchLog y ResearchNote
Un backend de investigación genealógica listo para producción en Back4app para registros de FamilyTree, familiares de FamilyNode, fuentes de DocumentScan, revisiones de DnaMatchLog, y hallazgos de ResearchNote. Incluye diagrama ER, guía de campos, esquema JSON, sandbox de API, y un prompt de Agente de IA para un arranque rápido.
Conclusiones de la Investigación Genealógica
Esta plantilla te ofrece un backend de investigación genealógica con FamilyTree, FamilyNode, DocumentScan, DnaMatchLog y ResearchNote para que tu equipo pueda organizar la evidencia de linaje y los senderos de fuentes.
- Panel de control de FamilyTree — Modela cada FamilyTree con treeName, originRegion, status y owner para que cada espacio de trabajo de linaje se mantenga rastreable.
- Seguimiento del linaje de FamilyNode — Registra cada FamilyNode con fullName, relationship, birthDate, deathDate, sourceStatus y createdBy para una revisión clara.
- Catálogo de fuentes de DocumentScan — Almacena cada DocumentScan con title, fileUrl, documentType, recordDate y uploadedBy para evidencia respaldada por fuentes.
- Flujo de revisión de DnaMatchLog — Rastrear cada DnaMatchLog con kitId, matchName, sharedCm, matchStatus y reviewedBy para el seguimiento de ADN.
- Notas de evidencia de ResearchNote — Vincula cada ResearchNote a un FamilyTree y un relatedNode opcional para que los hallazgos permanezcan adjuntos a la rama correcta.
Descripción general: Aplicación de investigación genealógica
Un flujo de trabajo de investigación genealógica saludable tiene etapas claras, propietarios y criterios de salida; de lo contrario, “en progreso” se convierte en un agujero negro. Los clientes lo sienten en el ETA que prometes. Back4app ancla FamilyTree, FamilyNode, DocumentScan, DnaMatchLog y ResearchNote para prácticas de investigación genealógica que necesitan plazos, documentos y comunicaciones en un espacio de trabajo con permisos. El esquema cubre Usuario (username, email, role), FamilyTree (treeName, originRegion, status, owner), FamilyNode (fullName, relationship, birthDate, deathDate, sourceStatus, createdBy), DocumentScan (title, fileUrl, documentType, recordDate, uploadedBy), DnaMatchLog (kitId, matchName, sharedCm, matchStatus, reviewedBy) y ResearchNote (subject, body, relatedNode, author). Conecta tu frontend preferido y comienza a capturar la historia familiar con linaje estructurado y enlaces a fuentes.
Mejor para:
Lo que obtienes en la plantilla de Investigación Genealógica
Si los interesados en la investigación genealógica no pueden responder preguntas simples en segundos, las responderán en reuniones — lentamente y de manera costosa.
El centro destaca FamilyTree, FamilyNode y DocumentScan para que pueda comparar pilas de clientes contra las mismas entidades, campos y relaciones.
Conjunto de características de la aplicación de genealogía
Cada tarjeta de tecnología en este hub utiliza el mismo esquema genealógico con Usuario, ÁrbolFamiliar, NodoFamiliar, DocumentScan, DnaMatchLog y NotaDeInvestigación.
Cuentas de usuario y roles
El usuario almacena nombre de usuario, correo electrónico, contraseña y rol.
Registros de FamilyTree y FamilyNode
FamilyTree guarda treeName, originRegion, status y owner, mientras que FamilyNode guarda fullName y relationship.
Registro de origen de DocumentScan
DocumentScan captura título, fileUrl, tipoDeDocumento y fechaDeRegistro.
Revisiones de DnaMatchLog
DnaMatchLog almacena kitId, nombreDeCoincidencia, cmCompartido y estadoDeCoincidencia.
¿Por qué construir tu backend de investigación genealógica con Back4app?
Back4app te ofrece primitivas FamilyTree, FamilyNode, DocumentScan, DnaMatchLog y ResearchNote para que tu equipo se enfoque en la revisión de evidencia en lugar de la plomería de bases de datos.
- •Estructura FamilyTree y FamilyNode: Las clases FamilyTree y FamilyNode almacenan treeName, originRegion, fullName, relationship y sourceStatus en un formato consultable.
- •DocumentScan y control de fuentes: Los registros DocumentScan mantienen juntos title, fileUrl, documentType, recordDate y uploadedBy para que cada fuente permanezca adjunta al árbol correcto.
- •Revisión de ADN y rastreos de notas: Los registros DnaMatchLog y ResearchNote mantienen kitId, matchName, sharedCm, matchStatus, subject y relatedNode para que los revisores puedan seguir cada comparación.
Construye e itera rápidamente sobre flujos de trabajo genealógicos con un contrato de backend en todas las plataformas.
Beneficios de Investigación Genealógica
Un backend de investigación genealógica que te ayuda a mantener organizados los rastros de fuentes y notas de linaje.
Configuración de investigación más rápida
Empieza desde un esquema completo de Usuario, ÁrbolGenealógico, NodoFamiliar, EscaneoDocumento, RegistroCoincidenciaADN y NotaInvestigación en lugar de definirlo desde cero.
Registros familiares vinculados a fuentes
Vincula cada NodoFamiliar a sourceStatus, birthDate, deathDate y createdBy para una atribución más clara.
Escanear y anotar la trazabilidad
Utiliza campos de EscaneoDocumento como título, fileUrl, documentType y recordDate, y luego conecta las entradas de NotaInvestigación al NodoFamiliar correcto.
Trazabilidad de la revisión de ADN
Utiliza campos de RegistroCoincidenciaADN como kitId, matchName, sharedCm y matchStatus para documentar el trabajo de seguimiento.
Acceso controlado a notas de linaje sensibles
Utiliza ACL y CLP para que solo los usuarios autorizados puedan editar entradas de ÁrbolGenealógico, NodoFamiliar, EscaneoDocumento y NotaInvestigación.
Almacenamiento de evidencia cronológica
Almacene createdAt, updatedAt, recordDate y reviewedBy a través de clases sin aplanar la pista de investigación.
¿Listo para lanzar tu aplicación de investigación genealógica?
Deja que el Agente de IA de Back4app esqueleto tu backend de investigación genealógica y genere FamilyTree, FamilyNode, DocumentScan, DnaMatchLog y ResearchNote desde un solo aviso.
Gratis para comenzar — 50 avisos de Agente de IA/mes, no se requiere tarjeta de crédito
Stack tecnológico
Todo incluido en esta plantilla de backend de investigación genealógica.
Mapa ER de genealogía
Modelo de relación de entidades para el esquema de backend de investigación genealógica.
Esquema que cubre usuarios, árboles genealógicos, nodos familiares, escaneos de documentos, registros de coincidencias de ADN y notas de investigación.
Ver fuente del diagrama
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
}
Flujo de Integración Genealógica
Flujo típico en tiempo de ejecución para el inicio de sesión, carga del panel de FamilyTree, creación de FamilyNode, carga de DocumentScan, revisión de DnaMatchLog y sincronización de ResearchNote.
Ver fuente del diagrama
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 ResearchNoteGuía de Campo
Referencia completa a nivel de campo para cada clase en el esquema de investigación genealógica.
| Campo | Tipo | Descripción | Requerido |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Automático |
| 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 | Automático |
| updatedAt | Date | Auto-generated last-update timestamp | Automático |
7 campos en User
Permisos y acceso de rol
Cómo la estrategia de ACL y CLP asegura a los usuarios, árboles genealógicos, nodos familiares, escaneos, registros de ADN y notas de investigación.
Protección de inicio de sesión del personal
Utilice la clase Usuario solo para el personal autenticado, con valores de rol como investigador, revisor y administrador.
Integridad de la fuente para registros de árbol
Utilice la validación del Código en la Nube para que las entradas de FamilyTree, FamilyNode y ResearchNote incluyan el treeName, fullName, sourceStatus o body esperados antes de guardar.
Visibilidad de linaje restringido
Limitar las lecturas para que los equipos de investigación solo puedan ver las ramas de FamilyTree, los archivos de DocumentScan y las entradas de DnaMatchLog a las que están autorizados a revisar.
Esquema JSON
Definición de esquema JSON en bruto lista para copiar en Back4app o usar como referencia de implementación.
{
"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
}
}
}
]
}Construir con Agente AI
Utiliza el Agente AI de Back4app para generar una verdadera aplicación de investigación genealógica a partir de esta plantilla, incluidos los flujos de frontend, backend, autenticación, FamilyTree, FamilyNode, DocumentScan, DnaMatchLog y ResearchNote.
Crea un backend de aplicación de investigación genealógica en Back4app con este esquema y comportamiento exactos. Esquema: 1. Usuario (usa el perfil de autenticación integrado de Back4app): nombre de usuario (String, requerido), correo electrónico (String, requerido), contraseña (String, requerido), rol (String, requerido); objectId, createdAt, updatedAt (sistema). 2. ÁrbolFamiliar: nombreDelÁrbol (String, requerido), regiónDeOrigen (String, opcional), estado (String, requerido), propietario (Puntero a Usuario, requerido); objectId, createdAt, updatedAt (sistema). 3. NodoFamiliar: árbol (Puntero a ÁrbolFamiliar, requerido), nombreCompleto (String, requerido), relación (String, requerido), fechaDeNacimiento (Fecha, opcional), fechaDeFallecimiento (Fecha, opcional), estadoFuente (String, requerido), creadoPor (Puntero a Usuario, requerido); objectId, createdAt, updatedAt (sistema). 4. EscaneoDocumento: árbol (Puntero a ÁrbolFamiliar, requerido), título (String, requerido), urlArchivo (String, requerido), tipoDeDocumento (String, requerido), fechaDeRegistro (Fecha, opcional), subidoPor (Puntero a Usuario, requerido); objectId, createdAt, updatedAt (sistema). 5. RegistroCoincidenciaDna: árbol (Puntero a ÁrbolFamiliar, requerido), kitId (String, requerido), nombreCoincidencia (String, requerido), cmCompartiido (Número, requerido), estadoCoincidencia (String, requerido), revisadoPor (Puntero a Usuario, opcional); objectId, createdAt, updatedAt (sistema). 6. NotaInvestigación: árbol (Puntero a ÁrbolFamiliar, requerido), asunto (String, requerido), cuerpo (String, requerido), nodoRelacionado (Puntero a NodoFamiliar, opcional), autor (Puntero a Usuario, requerido); objectId, createdAt, updatedAt (sistema). Seguridad: - Solo los usuarios autenticados pueden crear nodos de árbol, escaneos, notas y registros de ADN. - Los propietarios de árboles y los revisores pueden actualizar el contenido del árbol; restringir escaneos de documentos a su cargador o a un rol administrador. - Proteger PII y notas de historia familiar con ACLs basadas en roles y permisos de clase. Autenticación: - Registro, inicio de sesión, cierre de sesión. Comportamiento: - Gestionar árboles familiares, agregar nodos de personas, adjuntar escaneos de documentos, revisar coincidencias de ADN y escribir notas de investigación. Entrega: - Aplicación Back4app con esquema, ACLs, CLPs; frontend para árboles familiares, escaneos de documentos, registros de coincidencias de ADN y revisión de notas.
Presiona el botón de abajo para abrir el Agente con este mensaje de plantilla pre-completado.
Este es el aviso base sin un sufijo de tecnología. Puedes adaptar la pila de frontend generada después.
Sandbox de API
Prueba REST y los endpoints de GraphQL contra el esquema de investigación genealógica. Las respuestas utilizan datos simulados y no requieren una cuenta de Back4app.
Utiliza el mismo esquema que esta plantilla.
Elige tu tecnología
Expande cada tarjeta para ver cómo integrar FamilyTree, FamilyNode y DocumentScan con tu pila elegida.
Flutter Investigación genealógica Backend
React Investigación genealógica Backend
React Nativo Investigación genealógica Backend
Next.js Investigación genealógica Backend
JavaScript Investigación genealógica Backend
Android Investigación genealógica Backend
iOS Investigación genealógica Backend
Vue Investigación genealógica Backend
Angular Investigación genealógica Backend
GraphQL Investigación genealógica Backend
REST API Investigación genealógica Backend
PHP Investigación genealógica Backend
.NET Investigación genealógica Backend
Lo que obtienes con cada tecnología
Cada pila utiliza el mismo esquema de backend de investigación genealógica y contratos de API.
Estructura de datos genealógicos unificada
Gestiona Usuario, FamilyTree, FamilyNode, DocumentScan, DnaMatchLog y ResearchNote con un esquema consistente.
Registros familiares vinculados a fuentes
Adjunta valores de sourceStatus, fileUrl y recordDate a cada entrada de árbol y escaneo.
Flujo de revisión de coincidencias de ADN
Rastrear kitId, matchName, sharedCm, matchStatus y reviewedBy como parte del proceso de revisión.
Diseño de campo primero en la cronología
Almacenar birthDate, deathDate, recordDate, createdAt y updatedAt para que las líneas de tiempo se mantengan legibles.
REST/GraphQL APIs para genealogía
Integrar árbol genealógico, escaneo de documentos y datos de coincidencia de ADN con APIs flexibles.
Comparación de Pila de Genealogía
Compara la velocidad de configuración, el estilo de SDK y el soporte de IA en todas las tecnologías soportadas.
| Marco | Tiempo de Configuración | Beneficio de investigación genealógica | Tipo de SDK | Soporte de IA |
|---|---|---|---|---|
| Aproximadamente 5 min | Base de código única para la investigación genealógica en móvil y web. | SDK Tipado | Completo | |
| Menos de 5 minutos | Tablero de investigación rápido para la revisión de árboles familiares. | SDK Tipado | Completo | |
| ~3–7 min | Aplicación móvil multiplataforma para trabajo de genealogía en campo. | SDK tipado | Completo | |
| Configuración rápida (5 min) | Aplicación web renderizada en el servidor para archivos de investigación. | SDK tipado | Completo | |
| ~3–5 min | Integración web ligera para la navegación del árbol genealógico. | SDK tipado | Completo | |
| Alrededor de 5 min | Aplicación nativa de Android para revisión genealógica en el sitio. | SDK escrito | Completo | |
| Menos de 5 minutos | Aplicación nativa de iOS para acceso a archivos familiares. | SDK escrito | Completo | |
| ~3–7 min | Interfaz web Reactiva para notas de investigación y escaneos. | SDK escrito | Completo | |
| Configuración rápida (5 min) | Aplicación web empresarial para la gestión de linajes. | SDK escrito | Completo | |
| Menos de 2 min | API flexible de GraphQL para la investigación genealógica. | API de GraphQL | Completo | |
| Configuración rápida (2 min) | Integración de REST API para registros de árbol genealógico. | REST API | Completo | |
| ~3 min | Backend de PHP del lado del servidor para flujos de trabajo de archivo. | REST API | Completo | |
| ~3–7 min | Backend de .NET para equipos de investigación genealógica. | SDK tipado | Completo |
El tiempo de configuración refleja la duración esperada desde el inicio del proyecto hasta la primera consulta de FamilyTree o DocumentScan utilizando este esquema de plantilla.
Preguntas sobre genealogía
Preguntas comunes sobre cómo construir un backend de investigación genealógica con esta plantilla.
¿Listo para construir tu aplicación de investigación genealógica?
Comienza tu proyecto de investigación genealógica en minutos. No se requiere tarjeta de crédito.