Registro dei casi dell'investigatore privato Backend Modello
File Caso, Elementi di Prova e Fatturazione
Un backend di registro dei casi dell'investigatore privato pronto per la produzione su Back4app con classi FileCaso, ElementiProva, NoteSorveglianza e FatturazioneEntrate. Tieni traccia della storia del caso, conserva le etichette di prova e mantieni la fatturazione legata allo stesso file.
Punti chiave da un registro dei casi
Questo modello ti fornisce un backend per il registro dei casi di un investigatore privato con registri CaseFile, EvidenceItem, SurveillanceNote e BillingEntry in modo che il personale possa mantenere un file cronologico ordinato.
- Tracciamento delle prove caso per caso — Modello di EvidenceItem con i campi evidenceTag, evidenceType, storageUrl e isSealed per ogni elemento.
- Cronologia delle note di sorveglianza — Mantieni le voci di SurveillanceNote legate a un CaseFile con noteTime, location, summary e detail.
- Registri di fatturazione client — Usa BillingEntry per registrare ore, tariffa, importo, workType e approvedBy per ogni CaseFile.
- Accesso consapevole del ruolo — Limita l'accesso a CaseFile, EvidenceItem e BillingEntry con regole ACL e CLP.
- Parità tra API web e mobile — Servire React, Flutter, Next.js e app native attraverso gli stessi endpoint REST e GraphQL.
Cos'è il modello di registro dei casi per investigatori privati?
Se l'accettazione del registro dei casi per investigatori privati è disordinata, tutto il downstream ne risente — una cattura pulita all'ingresso risparmia ore di ricostruzione dopo. La chiarezza batte gli atti eroici. Questo modello modella CaseFile, EvidenceItem, SurveillanceNote e BillingEntry con accesso basato sul ruolo su Back4app affinché ogni membro del team del registro dei casi per investigatori privati veda la parte della pipeline che possiede.
Ideale per:
Cosa ottieni nel modello di registro dei casi dell'investigatore privato
Nel registro dei casi dell'investigatore privato, le conversazioni più difficili iniziano con “quale numero è ufficiale?” — un segno che il backend non è ancora autorevole.
Ogni scheda tecnologica qui mappa allo stesso modello di CaseFile, EvidenceItem e SurveillanceNote — scegli uno stack senza ri-negoziare il tuo contratto backend.
Caratteristiche fondamentali del registro dei casi PI
Ogni scheda tecnologica in questo hub utilizza lo stesso schema di backend del registro dei casi con User, CaseFile, EvidenceItem, SurveillanceNote e BillingEntry.
Gestione dei file di caso
CaseFile memorizza caseNumber, clientName, status, assignedInvestigator e billingRate.
Registrazione delle prove
EvidenceItem si collega a CaseFile e cattura evidenceTag, evidenceType, storageUrl e isSealed.
Note di sorveglianza
SurveillanceNote memorizza noteTime, location, summary, detail e followUpNeeded per ogni periodo di osservazione.
Voce di fatturazione del cliente
BillingEntry cattura entryDate, hours, rate, amount, workType e approvedBy.
Perché costruire il tuo registro dei casi PI con Back4app?
Back4app ti offre le classi di dati e i controlli di accesso per mantenere i fascicoli dei casi, le prove, le note e le voci di fatturazione organizzati mentre il team rimane concentrato sul lavoro sul campo.
- •Il CaseFile e l'EvidenceItem rimangono collegati: Archivia ogni EvidenceItem contro un CaseFile in modo che foto, ricevute e dettagli della catena di custodia rimangano attaccati alla giusta indagine.
- •Le linee temporali delle SurveillanceNote sono più facili da leggere: Un campo noteTime su SurveillanceNote rende il registro di sorveglianza ordinabile per tempo di osservazione invece che per congetture in testo libero.
- •La BillingEntry corrisponde al record di indagine: Cattura ore, tariffa, importo e tipo di lavoro in BillingEntry per collegare il tempo sul campo con la fatturazione al cliente.
Costruisci il registro dei casi una volta, poi riutilizza lo stesso contratto backend su web, mobile e dashboard per investigatori.
Vantaggi del registro dei casi PI
Un backend del registro dei casi che tiene organizzate le note di indagine e la fatturazione fin dal primo inserimento.
Tracce di prove più pulite
I registri EvidenceItem conservano evidenceTag, evidenceType, storageUrl e collectedAt per ogni elemento.
Storico di sorveglianza leggibile
Le voci SurveillanceNote collegate a un CaseFile ti forniscono un record temporale ordinato con posizione, riepilogo e dettagli.
Fatturazione che segue il caso
BillingEntry mantiene ore, tariffa, importo e workType collegati allo stesso CaseFile da cui proviene il lavoro.
Controllo accessi per file sensibili
Usa ACL e CLP affinché solo gli investigatori assegnati possano modificare un CaseFile o aggiungere righe EvidenceItem.
Accesso multi-dispositivo ai registri dei casi
Le API REST e GraphQL consentono a dashboard web, app mobili e strumenti di fatturazione di back-office di leggere gli stessi dati di CaseFile.
Riutilizzo rapido dello schema
Inizia con User, CaseFile, EvidenceItem, SurveillanceNote e BillingEntry invece di costruire i registri dei casi campo per campo.
Pronto a lanciare il tuo registro dei casi per investigatori privati?
Lascia che l'AI Agent di Back4app crei il backend del tuo registro dei casi e generi i flussi di CaseFile, EvidenceItem, SurveillanceNote e BillingEntry da un solo prompt.
Gratuito per iniziare — 50 prompt AI Agent/mese, senza carta di credito richiesta
Stack tecnologico del registro dei casi
Tutto incluso in questo modello di backend per il registro dei casi dell'investigatore privato.
Diagramma ER del caso
Modello di relazione tra entità per il backend dello schema del registro dei casi dell'investigatore privato.
Schema che copre utenti, file dei casi, elementi di prova, note di sorveglianza e voci di fatturazione.
Visualizza sorgente del diagramma
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
}
Flusso di sincronizzazione del caso
Flusso tipico di esecuzione per accesso, caricamento del CaseFile, caricamenti di EvidenceItem, creazione di SurveillanceNote e revisione di BillingEntry.
Visualizza sorgente del diagramma
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 changesDizionario dei campi
Riferimento completo a livello di campo per ogni classe nel schema del registro dei casi dell'investigatore privato.
| Campo | Tipo | Descrizione | Richiesto |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Automatico |
| 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 | Automatico |
| updatedAt | Date | Auto-generated last-update timestamp | Automatico |
7 campi in User
Sicurezza e permessi del caso
Come la strategia ACL e CLP protegge gli utenti, i file dei casi, gli elementi di prova, le note e le voci di fatturazione.
Controlli dell'investigatore assegnato
Solo l'Utente assegnato o il proprietario del caso possono aggiornare un CaseFile, aggiungere prove o rivedere i dettagli di fatturazione.
Verifiche dell'integrità delle prove
Utilizza la validazione del Cloud Code affinché le righe di EvidenceItem richiedano un puntatore a CaseFile, storageUrl e trail collectedBy.
Accesso in lettura ristretto
Limitare le note di caso e le voci di fatturazione al personale che lavora su quel file; le voci sensibili non dovrebbero essere esposte in modo ampio.
Schema JSON
Definizione dello schema JSON grezzo pronta da copiare in Back4app o utilizzare come riferimento di 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": "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
}
}
}
]
}Costruisci con AI Agent
Usa l'AI Agent di Back4app per generare un'app di registro case di investigatore privato reale da questo modello, inclusi frontend, backend, autenticazione e i flussi di CaseFile, EvidenceItem, SurveillanceNote e BillingEntry.
Crea un backend per un'app di registro casi di investigatori privati su Back4app con questo schema e comportamento esatti. Schema: 1. Utente (usa il built-in di Back4app): nome utente, email, password, ruolo; objectId, createdAt, updatedAt (sistema). 2. CasoFile: numeroCaso (String, richiesto), nomeCliente (String, richiesto), stato (String, richiesto), investigatoreAssegnato (Puntatore a Utente, richiesto), tariffaDiFatturazione (Numero, richiesto), apertoIl (Data, richiesto), chiusoIl (Data, facoltativo); objectId, createdAt, updatedAt (sistema). 3. ElementoDiProva: casoFile (Puntatore a CasoFile, richiesto), etichettaDiProva (String, richiesto), tipoDiProva (String, richiesto), urlDiArchiviazione (String, richiesto), raccoltoDa (Puntatore a Utente, richiesto), raccoltoIl (Data, richiesto), etichettaDiLuogo (String, facoltativo), èSigillato (Booleano, richiesto); objectId, createdAt, updatedAt (sistema). 4. NotaDiSorveglianza: casoFile (Puntatore a CasoFile, richiesto), oraNota (Data, richiesta), osservatore (Puntatore a Utente, richiesto), posizione (String, richiesto), riepilogo (String, richiesto), dettaglio (String, richiesto), followUpNecessario (Booleano, richiesto); objectId, createdAt, updatedAt (sistema). 5. VoceDiFatturazione: casoFile (Puntatore a CasoFile, richiesto), dataVoce (Data, richiesto), ore (Numero, richiesto), tariffa (Numero, richiesto), importo (Numero, richiesto), tipoDiLavoro (String, richiesto), approvatoDa (Puntatore a Utente, facoltativo); objectId, createdAt, updatedAt (sistema). Sicurezza: - Limitare la visibilità di CasoFile agli investigatori assegnati e al personale di fatturazione. - I registri di ElementoDiProva devono essere scrivibili solo dal personale con accesso al caso. - Le voci di NotaDiSorveglianza devono preservare la cronologia cronologica. - I totali di VoceDiFatturazione sono modificabili dal personale approvato per la fatturazione. Auth: - Registrazione, accesso, disconnessione. Comportamento: - Elencare i casi aperti, creare voci di prova, aggiungere note di sorveglianza, calcolare voci di fatturazione e mostrare aggiornamenti dal vivo per l'attività del caso. Consegnare: - App Back4app con schema, ACL, CLP; frontend per la gestione dei casi, registrazione delle prove, note di sorveglianza e fatturazione ai clienti.
Premi il pulsante qui sotto per aprire l'Agent con questo messaggio precompilato.
Questo è il prompt di base senza un suffisso tecnologico. Puoi adattare il frontend generato in seguito.
API Sandbox
Prova i REST e gli endpoint di GraphQL contro lo schema del registro dei casi dell'investigatore privato. Le risposte utilizzano dati fittizi e non richiedono un account Back4app
Usa lo stesso schema di questo modello.
Scegli la tua tecnologia
Espandi ogni scheda per vedere come integrare CaseFile, EvidenceItem e SurveillanceNote con il tuo stack scelto.
Flutter Registro dei casi dell'investigatore privato
React Registro dei casi dell'investigatore privato
React Nativo Registro dei casi dell'investigatore privato
Next.js Registro dei casi dell'investigatore privato
JavaScript Registro dei casi dell'investigatore privato
Android Registro dei casi dell'investigatore privato
iOS Registro dei casi dell'investigatore privato
Vue Registro dei casi dell'investigatore privato
Angular Registro dei casi dell'investigatore privato
GraphQL Registro dei casi dell'investigatore privato
REST API Registro dei casi dell'investigatore privato
PHP Registro dei casi dell'investigatore privato
.NET Registro dei casi dell'investigatore privato
Cosa Ottieni con Ogni Tecnologia
Ogni stack utilizza lo stesso schema di backend del registro dei casi degli investigatori privati e contratti API.
Struttura unificata del registro dei casi
Gestisci i record di Utente, CaseFile, EvidenceItem, SurveillanceNote e BillingEntry con uno schema coerente.
Registrazione delle prove per il lavoro PI
Registra evidenceTag, evidenceType, storageUrl e collectedAt per ogni EvidenceItem.
Timeline delle note di sorveglianza
Cattura la posizione, il riepilogo, il dettaglio e il noteTime per la revisione del lavoro sul campo.
Registri di fatturazione dei clienti
Monitora le ore, la tariffa, l'importo e il tipo di lavoro per ogni CaseFile.
API REST/GraphQL per le indagini
Integra strumenti web, mobili e da ufficio con un contratto backend.
Flusso di lavoro del caso estensibile
Aggiungi nuove classi o campi man mano che il processo di indagine cambia.
Confronto tra tecnologie per investigatori privati
Confronta la velocità di configurazione, lo stile dell'SDK e il supporto per l'IA tra tutte le tecnologie supportate.
| Framework | Tempo di configurazione | Beneficio del registro dei casi PI | Tipo di SDK | Supporto AI |
|---|---|---|---|---|
| Circa 5 minuti | Codice sorgente unico per i registri dei casi dell'investigatore su mobile e web. | SDK digitato | Completo | |
| Meno di 5 minuti | Dashboard web veloce per file di caso e prove. | SDK digitato | Completo | |
| ~3–7 min | App mobile multipiattaforma per appunti sul campo e raccolta di prove. | SDK digitato | Completo | |
| Impostazione rapida (5 min) | Portale di gestione dei casi renderizzato dal server per investigatori. | SDK digitato | Completo | |
| ~3–5 min | Integrazione web leggera per registri PI. | SDK digitato | Completo | |
| Circa 5 min | App nativa Android per note di sorveglianza sul campo. | SDK Digitato | Completo | |
| Meno di 5 minuti | App nativa iOS per registrazione delle prove. | SDK Digitato | Completo | |
| ~3–7 min | Interfaccia web React per la revisione del registro dei casi. | SDK Digitato | Completo | |
| Impostazione rapida (5 min) | Applicazione web enterprise per file di casi e fatturazione. | SDK Digitato | Completo | |
| Meno di 2 minuti | API flessibile GraphQL per dati di caso annidati. | GraphQL API | Completo | |
| Impostazione rapida (2 min) | Integrazione REST API per registri di casi PI. | REST API | Completo | |
| ~3 minuti | Backend PHP lato server per flussi di lavoro di file di casi. | REST API | Completo | |
| ~3–7 min | .NET backend per indagini e fatturazione. | SDK Digitato | Completo |
Il tempo di setup riflette la durata attesa dalla creazione del progetto al primo file di caso o alla query delle prove utilizzando questo schema di template.
Domande frequenti sul registro dei casi PI
Domande comuni sulla creazione di un backend per il registro dei casi di un investigatore privato con questo modello.
Pronto a costruire la tua app di registrazione dei casi per investigatori privati?
Avvia il tuo progetto di registrazione dei casi per investigatori privati in pochi minuti. Nessuna carta di credito richiesta.