Plantilla de Backend de Registro de Caso de Investigador Privado
Archivos de Caso, Artículos de Evidencia y Facturación
Un backend de registro de caso de investigador privado listo para producción en Back4app con las clases CaseFile, EvidenceItem, SurveillanceNote y BillingEntry. Realiza un seguimiento del historial del caso, preserva etiquetas de evidencia y mantiene la facturación vinculada al mismo archivo.
Puntos Clave del Registro de Casos
Esta plantilla te proporciona un backend de registro de casos para investigador privado con registros de CaseFile, EvidenceItem, SurveillanceNote y BillingEntry para que el personal pueda mantener un archivo cronológico limpio.
- Seguimiento de evidencia caso por caso — Modelo EvidenceItem con campos evidenceTag, evidenceType, storageUrl y isSealed para cada elemento.
- Cronología de notas de vigilancia — Mantén las entradas de SurveillanceNote vinculadas a un CaseFile con noteTime, ubicación, resumen y detalle.
- Registros de facturación de clientes — Utiliza BillingEntry para capturar horas, tarifa, monto, tipo de trabajo y aprobado por cada CaseFile.
- Acceso consciente del rol — Restringir el acceso a CaseFile, EvidenceItem y BillingEntry con reglas ACL y CLP.
- Paridad de API web y móvil — Servir React, Flutter, Next.js y aplicaciones nativas a través de los mismos puntos finales REST y GraphQL.
¿Qué es la plantilla de registro de casos de investigador privado?
Si la recepción del registro de casos de investigador privado es desordenada, todo lo que viene después sufre: una captura limpia en la entrada ahorra horas de reconstrucción después. La claridad vence a los heroísmos. Esta plantilla modela CaseFile, EvidenceItem, SurveillanceNote y BillingEntry con acceso basado en roles en Back4app para que cada compañero del registro de casos de investigador privado vea la parte del proceso que le corresponde.
Mejor para:
Lo que obtienes en la plantilla de registro de casos de investigador privado
En el registro de casos de investigador privado, las conversaciones más difíciles comienzan con “¿cuál número es oficial?” — una señal de que el backend aún no es autoritativo.
Cada tarjeta de tecnología aquí se mapea al mismo modelo de CaseFile, EvidenceItem y SurveillanceNote — elige un stack sin renegociar tu contrato de backend.
Características principales del registro de casos de PI
Cada tarjeta de tecnología en este hub utiliza el mismo esquema de backend de registro de casos con User, CaseFile, EvidenceItem, SurveillanceNote, y BillingEntry.
Gestión de archivos de casos
CaseFile almacena caseNumber, clientName, status, assignedInvestigator, y billingRate.
Registro de evidencia
EvidenceItem está vinculado a CaseFile y captura evidenceTag, evidenceType, storageUrl, y isSealed.
Notas de vigilancia
SurveillanceNote almacena noteTime, location, summary, detail y followUpNeeded para cada período de vigilancia.
Entradas de facturación del cliente
BillingEntry captura entryDate, hours, rate, amount, workType y approvedBy.
¿Por qué construir tu registro de casos de PI con Back4app?
Back4app te proporciona las clases de datos y controles de acceso para mantener organizados los archivos de casos, pruebas, notas y entradas de facturación mientras el equipo se enfoca en el trabajo de campo.
- •CaseFile y EvidenceItem permanecen vinculados: Almacena cada EvidenceItem contra un CaseFile para que las fotos, recibos y detalles de la cadena de custodia permanezcan adjuntos a la investigación correcta.
- •Las líneas de tiempo de SurveillanceNote son más fáciles de leer: Un campo noteTime en SurveillanceNote hace que el registro de observación sea clasificable por hora de observación en lugar de suposiciones de texto libre.
- •BillingEntry coincide con el registro de investigación: Captura horas, tarifa, monto y workType en BillingEntry para conectar el tiempo de campo con la facturación del cliente.
Construye el registro del caso una vez, luego reutiliza el mismo contrato de backend en web, móvil y paneles de investigadores.
Beneficios del registro de casos de PI
Un backend de registro de casos que mantiene las notas de investigación y la facturación organizadas desde la primera entrada.
Rutas de evidencia más limpias
Los registros de EvidenceItem preservan evidenceTag, evidenceType, storageUrl y collectedAt para cada ítem.
Historia de vigilancia legible
Las entradas de SurveillanceNote vinculadas a un CaseFile te dan un registro de campo ordenado por tiempo con ubicación, resumen y detalle.
Facturación que sigue el caso
BillingEntry mantiene horas, tarifa, cantidad y workType conectados al mismo CaseFile del que proviene el trabajo.
Control de acceso para archivos sensibles
Usa ACL y CLP para que solo los investigadores asignados puedan editar un CaseFile o agregar filas de EvidenceItem.
Acceso cruzado a registros de casos desde diferentes dispositivos
Las APIs REST y GraphQL permiten que los paneles web, las aplicaciones móviles de campo y las herramientas de facturación de back-office lean los mismos datos de CaseFile.
Reutilización rápida de esquemas
Comienza con Usuario, Caso, Elemento de Evidencia, Nota de Vigilancia y Entrada de Facturación en lugar de construir registros de caso campo por campo.
¿Listo para lanzar tu registro de casos de investigador privado?
Deja que el Agente de IA de Back4app estructure el backend de tu registro de casos y genere flujos de Caso, Elemento de Evidencia, Nota de Vigilancia y Entrada de Facturación desde un solo aviso.
Gratis para empezar — 50 avisos de Agente de IA/mes, no se requiere tarjeta de crédito
Pila Tecnológica del Registro de Casos
Todo incluido en esta plantilla de registro de casos de investigador privado.
Diagrama ER del caso
Modelo de relación de entidades para el esquema del backend del registro de casos de investigador privado.
Esquema que abarca usuarios, archivos de casos, elementos de evidencia, notas de vigilancia y entradas de facturación.
Ver fuente del diagrama
erDiagram
User ||--o{ CaseFile : "assignedInvestigator"
User ||--o{ EvidenceItem : "collectedBy"
User ||--o{ SurveillanceNote : "observer"
User ||--o{ BillingEntry : "approvedBy"
CaseFile ||--o{ EvidenceItem : "caseFile"
CaseFile ||--o{ SurveillanceNote : "caseFile"
CaseFile ||--o{ BillingEntry : "caseFile"
User {
String objectId PK
String username
String email
String password
String role
Date createdAt
Date updatedAt
}
CaseFile {
String objectId PK
String caseNumber
String clientName
String status
String assignedInvestigatorId FK
Number billingRate
Date openedAt
Date closedAt
Date createdAt
Date updatedAt
}
EvidenceItem {
String objectId PK
String caseFileId FK
String evidenceTag
String evidenceType
String storageUrl
String collectedById FK
Date collectedAt
String locationLabel
Boolean isSealed
Date createdAt
Date updatedAt
}
SurveillanceNote {
String objectId PK
String caseFileId FK
Date noteTime
String observerId FK
String location
String summary
String detail
Boolean followUpNeeded
Date createdAt
Date updatedAt
}
BillingEntry {
String objectId PK
String caseFileId FK
Date entryDate
Number hours
Number rate
Number amount
String workType
String approvedById FK
Date createdAt
Date updatedAt
}
Flujo de sincronización de casos
Flujo de ejecución típico para iniciar sesión, carga de CaseFile, cargas de EvidenceItem, creación de SurveillanceNote y revisión de BillingEntry.
Ver fuente del diagrama
sequenceDiagram
participant User
participant App as Private Investigator Case Log App
participant Back4app as Back4app Cloud
User->>App: Sign in to the case log
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Open today's CaseFile list
App->>Back4app: GET /classes/CaseFile?order=-openedAt
Back4app-->>App: CaseFile rows
User->>App: Add an EvidenceItem or SurveillanceNote
App->>Back4app: POST /classes/EvidenceItem or /classes/SurveillanceNote
Back4app-->>App: Saved objectId and timestamps
User->>App: Review BillingEntry totals for a CaseFile
App->>Back4app: GET /classes/BillingEntry?include=caseFile
Back4app-->>App: BillingEntry list
App->>Back4app: Live update case activity
Back4app-->>App: CaseFile, EvidenceItem, SurveillanceNote changesDiccionario de campos
Referencia completa a nivel de campo para cada clase en el esquema de registro de casos de investigadores privados.
| Campo | Tipo | Descripción | Requerido |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Automático |
| username | String | User login name | |
| String | User email address | ||
| password | String | Hashed password (write-only) | |
| role | String | Staff role such as investigator, admin, or billing | |
| createdAt | Date | Auto-generated creation timestamp | Automático |
| updatedAt | Date | Auto-generated last-update timestamp | Automático |
7 campos en User
Seguridad y permisos del caso
Cómo la estrategia de ACL y CLP asegura usuarios, archivos de caso, elementos de evidencia, notas y entradas de facturación.
Controles del investigador asignado
Solo el Usuario asignado o el propietario del caso puede actualizar un Archivo de Caso, agregar evidencia o revisar los detalles de facturación.
Verificaciones de integridad de evidencia
Usar validación de Cloud Code para que las filas de Elemento de Evidencia requieran un puntero de Archivo de Caso, storageUrl y un rastro de collectedBy.
Acceso de lectura con ámbito
Restringir las notas de caso y las entradas de facturación al personal que trabaja en ese archivo; las entradas sensibles no deben exponerse ampliamente.
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": "CaseFile",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"caseNumber": {
"type": "String",
"required": true
},
"clientName": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"assignedInvestigator": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"billingRate": {
"type": "Number",
"required": true
},
"openedAt": {
"type": "Date",
"required": true
},
"closedAt": {
"type": "Date",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "EvidenceItem",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"caseFile": {
"type": "Pointer",
"required": true,
"targetClass": "CaseFile"
},
"evidenceTag": {
"type": "String",
"required": true
},
"evidenceType": {
"type": "String",
"required": true
},
"storageUrl": {
"type": "String",
"required": true
},
"collectedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"collectedAt": {
"type": "Date",
"required": true
},
"locationLabel": {
"type": "String",
"required": false
},
"isSealed": {
"type": "Boolean",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "SurveillanceNote",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"caseFile": {
"type": "Pointer",
"required": true,
"targetClass": "CaseFile"
},
"noteTime": {
"type": "Date",
"required": true
},
"observer": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"location": {
"type": "String",
"required": true
},
"summary": {
"type": "String",
"required": true
},
"detail": {
"type": "String",
"required": true
},
"followUpNeeded": {
"type": "Boolean",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "BillingEntry",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"caseFile": {
"type": "Pointer",
"required": true,
"targetClass": "CaseFile"
},
"entryDate": {
"type": "Date",
"required": true
},
"hours": {
"type": "Number",
"required": true
},
"rate": {
"type": "Number",
"required": true
},
"amount": {
"type": "Number",
"required": true
},
"workType": {
"type": "String",
"required": true
},
"approvedBy": {
"type": "Pointer",
"required": false,
"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 registro de casos de investigador privado a partir de esta plantilla, incluyendo frontend, backend, autenticación, y flujos de CaseFile, EvidenceItem, SurveillanceNote y BillingEntry.
Crea una aplicación de registro de casos para detectives privados en Back4app con este esquema y comportamiento exactos. Esquema: 1. Usuario (usar el incorporado de Back4app): nombre de usuario, correo electrónico, contraseña, rol; objectId, createdAt, updatedAt (sistema). 2. CasoArchivo: numeroCaso (String, requerido), nombreCliente (String, requerido), estado (String, requerido), investigadorAsignado (Puntero a Usuario, requerido), tarifaDeFacturación (Número, requerido), abiertoEn (Fecha, requerido), cerradoEn (Fecha, opcional); objectId, createdAt, updatedAt (sistema). 3. ElementoDeEvidencia: casoArchivo (Puntero a CasoArchivo, requerido), etiquetaDeEvidencia (String, requerido), tipoDeEvidencia (String, requerido), urlDeAlmacenamiento (String, requerido), recolectadoPor (Puntero a Usuario, requerido), recolectadoEn (Fecha, requerido), etiquetaDeUbicación (String, opcional), estáSellado (Booleano, requerido); objectId, createdAt, updatedAt (sistema). 4. NotaDeVigilancia: casoArchivo (Puntero a CasoArchivo, requerido), tiempoNota (Fecha, requerido), observador (Puntero a Usuario, requerido), ubicación (String, requerido), resumen (String, requerido), detalle (String, requerido), seguimientoNecesario (Booleano, requerido); objectId, createdAt, updatedAt (sistema). 5. EntradaDeFacturación: casoArchivo (Puntero a CasoArchivo, requerido), fechaEntrada (Fecha, requerido), horas (Número, requerido), tarifa (Número, requerido), cantidad (Número, requerido), tipoDeTrabajo (String, requerido), aprobadoPor (Puntero a Usuario, opcional); objectId, createdAt, updatedAt (sistema). Seguridad: - Limitar la visibilidad de CasoArchivo a investigadores asignados y personal de facturación. - Los registros de ElementoDeEvidencia solo deben ser editables por el personal con acceso al caso. - Las entradas de NotaDeVigilancia deben preservar el historial cronológico. - Los totales de EntradaDeFacturación son editables por el personal aprobado para facturación. Autenticación: - Registro, inicio de sesión, cierre de sesión. Comportamiento: - Listar archivos de casos abiertos, crear entradas de evidencia, agregar notas de vigilancia, calcular entradas de facturación y mostrar actualizaciones en vivo para la actividad del caso. Entregar: - Aplicación Back4app con esquema, ACLs, CLPs; frontend para la gestión de casos, registro de evidencia, notas de vigilancia y facturación a clientes.
Presiona el botón de abajo para abrir el Agente con este mensaje de plantilla prellenado.
Este es el aviso base sin un sufijo tecnológico. Puedes adaptar la pila frontend generada después.
Sandbox de API
Prueba los endpoints REST y GraphQL contra el esquema de registro de casos de detectives privados. 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 CaseFile, EvidenceItem y SurveillanceNote con tu pila elegida.
Flutter Registro de casos de investigador privado
React Registro de casos de investigador privado
React Nativo Registro de casos de investigador privado
Next.js Registro de casos de investigador privado
JavaScript Registro de casos de investigador privado
Android Registro de casos de investigador privado
iOS Registro de casos de investigador privado
Vue Registro de casos de investigador privado
Angular Registro de casos de investigador privado
GraphQL Registro de casos de investigador privado
REST API Registro de casos de investigador privado
PHP Registro de casos de investigador privado
.NET Registro de casos de investigador privado
Lo que obtienes con cada tecnología
Cada pila utiliza el mismo esquema de registro de casos de investigadores privados y contratos API.
Estructura unificada de registro de casos
Gestiona registros de Usuario, CaseFile, EvidenceItem, SurveillanceNote y BillingEntry con un esquema consistente.
Registro de evidencia para trabajos de PI
Registra evidenceTag, evidenceType, storageUrl y collectedAt para cada EvidenceItem.
Líneas de tiempo de notas de vigilancia
Capturar ubicación, resumen, detalle y nota de tiempo para la revisión del trabajo de campo.
Registros de facturación del cliente
Rastrear horas, tarifa, monto y tipo de trabajo por archivo de caso.
REST/GraphQL APIs para investigaciones
Integrar herramientas web, móviles y de oficina con un contrato de backend.
Flujo de trabajo de casos extensible
Agregar nuevas clases o campos a medida que cambia su proceso de investigación.
Comparación de Tecnología para Investigadores Privados
Compara la velocidad de configuración, el estilo del SDK y el soporte de IA entre todas las tecnologías compatibles.
| Marco | Tiempo de Configuración | Beneficio del Registro de Caso PI | Tipo de SDK | Soporte de IA |
|---|---|---|---|---|
| Alrededor de 5 minutos | Código base único para registros de casos de investigadores en móvil y web. | SDK escrito | Completo | |
| Menos de 5 minutos | Panel web rápido para archivos de caso y evidencia. | SDK escrito | Completo | |
| ~3–7 min | Aplicación móvil multiplataforma para notas de campo y captura de evidencia. | SDK escrito | Completo | |
| Configuración rápida (5 min) | Portal de gestión de casos renderizado en servidor para investigadores. | SDK escrito | Completo | |
| ~3–5 min | Integración web ligera para registros de PI. | SDK escrito | Completo | |
| Aproximadamente 5 min | Aplicación nativa Android para notas de vigilancia en campo. | SDK escrito | Completo | |
| Menos de 5 minutos | Aplicación nativa iOS para registro de evidencia. | SDK escrito | Completo | |
| ~3–7 min | Interfaz web Reactiva para revisión de registros de casos. | SDK escrito | Completo | |
| Configuración rápida (5 min) | Aplicación web empresarial para archivos de casos y facturación. | SDK escrito | Completo | |
| Menos de 2 min | API flexible de GraphQL para datos de casos anidados. | API de GraphQL | Completo | |
| Configuración rápida (2 min) | Integración de REST API para registros de casos de PI. | REST API | Completo | |
| ~3 min | Backend de PHP del lado del servidor para flujos de trabajo de archivos de casos. | REST API | Completo | |
| ~3–7 min | .NET backend para investigaciones y facturación. | SDK escrito | Completo |
El tiempo de configuración refleja la duración esperada desde el inicio del proyecto hasta el primer archivo de caso o consulta de evidencia utilizando este esquema de plantilla.
FAQ del registro de casos de PI
Preguntas frecuentes sobre la creación de un backend de registro de casos para investigadores privados con esta plantilla.
¿Listo para construir tu aplicación de registro de casos de investigador privado?
Comienza tu proyecto de registro de casos de investigador privado en minutos. No se requiere tarjeta de crédito.