Modello Backend CRM Risorse Ingegneristiche
Profili Ingegneri, Certificazioni, Allocazioni Progetto e Tracciamento Ore Fatturabili
Un backend CRM risorse ingegneristiche pronto per la produzione su Back4app con classi Utente, Profili Ingegneri, Certificazioni, Progetto, Allocazione e Ore Fatturabili. Usalo per monitorare staffing, credenziali e tempo fatturabile senza ricostruire il backend.
Punti chiave sul personale
Questo template ti dà un backend CRM per risorse ingegneristiche con record di EngineerProfile, Certificazione, Progetto, Assegnazione e OreFatturabili in modo che i coordinatori possano passare dalla gestione di fogli di calcolo a un flusso di lavoro strutturato.
- Personale consapevole del EngineerProfile — Modella i record dell'Utente e del EngineerProfile in modo che le decisioni di assegnazione possano rispettare disciplina, stato di occupazione e tariffa oraria.
- Controlli della scadenza della certificazione — Monitora le Certificazioni contro ciascun EngineerProfile in modo che il personale possa essere controllato da emittedOn, expiresOn e stato prima della prenotazione.
- Pianificazione dell'allocazione del progetto — Utilizza l'Allocazione per collegare EngineerProfile a Progetto con allocationPercent, assignmentRole e intervalli di date.
Cos'è il Modello CRM per le Risorse di Ingegneria?
Quando le questioni relative al CRM per le risorse di ingegneria sono sensibili, il controllo degli accessi fa parte del prodotto — non è un ripensamento aggiunto alla fine. Il costo si manifesta in callback e crediti. Il flusso di lavoro del CRM per le risorse di ingegneria qui è esplicito nei dati: EngineerProfile, Certification, Project, Allocation e BillableHour su Back4app sostituiscono le note ad hoc con progressi strutturati e interrogabili. Lo schema copre User (username, email, password, role), EngineerProfile (user, fullName, discipline, employmentStatus), Certification (engineer, certificationName, issuer, status), Project (projectCode, projectName, clientName, projectManager), Allocation (engineer, project, allocationPercent), e BillableHour (engineer, project, workDate, hours, billingStatus) con autenticazione e tracciamento delle assegnazioni integrati. Collega il tuo frontend preferito e spedire più velocemente.
Ideale per:
CRM delle risorse ingegneristiche: istantanea del backend
i team CRM delle risorse ingegneristiche vincono quando il lavoro di routine è noioso: registrazioni prevedibili, ownership ovvia e avvisi prima che piccoli problemi diventino incidenti.
Ogni scheda tecnologica qui mappa allo stesso modello di EngineerProfile, Certificazione e Progetto — scegli uno stack senza rinegoziare il tuo contratto backend.
Funzionalità di assunzione degli ingegneri
Ogni scheda tecnologica in questo hub utilizza lo stesso schema backend CRM per le risorse ingegneristiche con Utente, ProfiloIngegnere, Certificazione, Progetto, Allocazione e BillableHour.
Gestione del profilo ingegnere
EngineerProfile memorizza fullName, discipline, employmentStatus e hourlyRate.
Tracciamento delle certificazioni
I collegamenti alle certificazioni ingegnere, nomeCertificazione, emessoIl, scadeIl e stato.
Pianificazione dell'allocazione del progetto
L'allocazione collega ingegnere, progetto, percentualeAllocazione, dataInizio e ruoloAssegnazione.
Cattura ore fatturabili
BillableHour registra ingegnere, progetto, dataLavoro, ore e statoFatturazione.
Perché costruire il tuo backend CRM delle risorse ingegneristiche con Back4app?
Back4app ti fornisce primitive User, EngineerProfile, Project, Allocation e BillableHour in modo che il tuo team possa concentrarsi sulle decisioni di assunzione e sulla reportistica di utilizzo invece di dover gestire le tubature del backend.
- •Controllo della certificazione e dell'assegnazione: Le classi EngineerProfile e Certificazione ti consentono di filtrare per disciplina, employmentStatus e expiresOn prima che un'Allocazione venga salvata.
- •Assegnazione del progetto e tracciamento delle modifiche: I registri di progetto e allocazione registrano projectCode, projectManager, allocationPercent e assignmentRole per ogni prenotazione.
- •Visibilità delle ore fatturabili: Le righe BillableHour collegano le ore all’ingegnere, al progetto, all’allocazione e a chi ha inviato, mantenendo i report basati sul lavoro reale.
Costruisci e adatta rapidamente i flussi di personale con un unico contratto backend su tutte le piattaforme.
Vantaggi principali del CRM
Un backend CRM per risorse ingegneristiche che aiuta i coordinatori a muoversi più velocemente senza perdere il controllo dei dati sulle assunzioni.
Decisioni di assunzione più rapide
Partire dalle classi Utente e ProfiloIngegnere invece di ricostruire le tabelle del personale e delle credenziali da zero.
Rischio di allocazione ridotto
Utilizza i campi di Allocazione come percentualeAllocazione, dataInizio e dataFine per individuare assegnazioni sovrapposte prima che raggiungano i programmi di produzione.
Reporting delle ore fatturabili più dettagliato
BillableHour.hours e billingStatus mantengono i fogli presenza coerenti per reportistica e fatturazione.
Accesso sensibile ai permessi
Utilizza ACL/CLP affinché solo il personale approvato possa modificare i record di EngineerProfile, Project, Allocation e BillableHour.
Modello di dati ripetibile
Memorizza certificazioni, assegnazioni di progetti e registri di lavoro in uno schema che può crescere con nuove discipline o uffici.
Impostazione del backend assistita da AI
Genera rapidamente un'impalcatura del backend e indicazioni per l'integrazione con un unico prompt strutturato.
Pronto per avviare la tua applicazione CRM per risorse ingegneristiche?
Lascia che l'agente AI di Back4app organizzi il tuo backend CRM delle risorse ingegneristiche e generi User, EngineerProfile, Certification, Project, Allocation e BillableHour tracciando da un unico input.
Gratuito per iniziare — 50 input dell'agente AI/mese, nessuna carta di credito richiesta
Stack ingegneristico
Tutto incluso in questo modello di backend CRM delle risorse ingegneristiche.
Diagramma ER di ingegneria
Modello di relazione tra entità per lo schema backend CRM delle risorse ingegneristiche.
Schema che copre gli account utente, i profili degli ingegneri, le certificazioni, i progetti, le allocazioni e le voci delle ore fatturabili.
Visualizza la sorgente del diagramma
erDiagram
User ||--o{ EngineerProfile : "linked account"
EngineerProfile ||--o{ Certification : "holds"
User ||--o{ Project : "project manager"
EngineerProfile ||--o{ Allocation : "assigned"
Project ||--o{ Allocation : "receives"
EngineerProfile ||--o{ BillableHour : "logs"
Project ||--o{ BillableHour : "charged to"
Allocation ||--o{ BillableHour : "context"
User ||--o{ BillableHour : "submitted by"
User {
String objectId PK
String username
String email
String password
String role
Date createdAt
Date updatedAt
}
EngineerProfile {
String objectId PK
String userId FK
String fullName
String discipline
String employmentStatus
String primaryLocation
Number hourlyRate
Date createdAt
Date updatedAt
}
Certification {
String objectId PK
String engineerId FK
String certificationName
String issuer
String certificationNumber
Date issuedOn
Date expiresOn
String status
String documentUrl
Date createdAt
Date updatedAt
}
Project {
String objectId PK
String projectCode
String projectName
String clientName
String status
Date startDate
Date endDate
String projectManagerId FK
String requiredDiscipline
Date createdAt
Date updatedAt
}
Allocation {
String objectId PK
String engineerId FK
String projectId FK
Number allocationPercent
Date startDate
Date endDate
String assignmentRole
String status
String notes
Date createdAt
Date updatedAt
}
BillableHour {
String objectId PK
String engineerId FK
String projectId FK
String allocationId FK
Date workDate
Number hours
String taskCode
String billingStatus
String submittedById FK
String notes
Date createdAt
Date updatedAt
}
Flusso di integrazione del personale
Flusso di runtime tipico per l'autenticazione, la ricerca del roster del ProfiloIngegnere, i controlli di certificazione, la pianificazione delle allocazioni e l'inserimento delle OreFatturabili.
Visualizza sorgente del flusso di lavoro
sequenceDiagram
participant User
participant App as Engineering Firm Resource CRM App
participant Back4app as Back4app Cloud
User->>App: Sign in to review staffing and time entries
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Open engineer roster
App->>Back4app: GET /classes/EngineerProfile?include=user&order=fullName
Back4app-->>App: EngineerProfile rows
User->>App: Check expiring credentials
App->>Back4app: GET /classes/Certification?where={"status":"Expiring"}
Back4app-->>App: Certification list
User->>App: Assign engineer to project
App->>Back4app: POST /classes/Allocation
Back4app-->>App: Allocation objectId
User->>App: Submit billable hours
App->>Back4app: POST /classes/BillableHour
Back4app-->>App: BillableHour objectId
App->>Back4app: Subscribe to allocation and hour updates
Back4app-->>App: Live query eventsDizionario dei campi
Riferimento completo a livello di campo per ogni classe nello schema CRM delle risorse ingegneristiche.
| Campo | Tipo | Descrizione | Obbligatorio |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Auto |
| username | String | User login name | |
| String | User email address | ||
| password | String | Hashed password (write-only) | |
| role | String | Role of the user (e.g., administrator, coordinator, engineer, clientLead) | |
| createdAt | Date | Auto-generated creation timestamp | Auto |
| updatedAt | Date | Auto-generated last-update timestamp | Auto |
7 campi in User
Sicurezza per i registri di assunzione
Come la strategia ACL e CLP sicura gli account utente, i profili degli ingegneri, i dati di certificazione, le allocazioni dei progetti e le voci di ore fatturabili.
Controlli del profilo di proprietà dell'utente
Solo l'utente connesso può aggiornare o eliminare il proprio profilo; i registri degli ingegneri rimangono limitati al personale autorizzato.
Integrità della certificazione e dell'allocazione
Solo i coordinatori o gli amministratori possono creare o modificare i registri di certificazione e allocazione; utilizza il Cloud Code per rifiutare assegnazioni scadute o in conflitto.
Approvazione delle ore limitate
Limita le modifiche a BillableHour dopo l'approvazione affinché le ore rimangano verificabili per i project manager e gli utenti finanziari.
Schema JSON
Definizione dello schema JSON grezzo pronta per essere copiata in Back4app o utilizzata 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": "EngineerProfile",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"user": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"fullName": {
"type": "String",
"required": true
},
"discipline": {
"type": "String",
"required": true
},
"employmentStatus": {
"type": "String",
"required": true
},
"primaryLocation": {
"type": "String",
"required": false
},
"hourlyRate": {
"type": "Number",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Certification",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"engineer": {
"type": "Pointer",
"required": true,
"targetClass": "EngineerProfile"
},
"certificationName": {
"type": "String",
"required": true
},
"issuer": {
"type": "String",
"required": true
},
"certificationNumber": {
"type": "String",
"required": false
},
"issuedOn": {
"type": "Date",
"required": true
},
"expiresOn": {
"type": "Date",
"required": false
},
"status": {
"type": "String",
"required": true
},
"documentUrl": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Project",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"projectCode": {
"type": "String",
"required": true
},
"projectName": {
"type": "String",
"required": true
},
"clientName": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"startDate": {
"type": "Date",
"required": false
},
"endDate": {
"type": "Date",
"required": false
},
"projectManager": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"requiredDiscipline": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Allocation",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"engineer": {
"type": "Pointer",
"required": true,
"targetClass": "EngineerProfile"
},
"project": {
"type": "Pointer",
"required": true,
"targetClass": "Project"
},
"allocationPercent": {
"type": "Number",
"required": true
},
"startDate": {
"type": "Date",
"required": true
},
"endDate": {
"type": "Date",
"required": false
},
"assignmentRole": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "BillableHour",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"engineer": {
"type": "Pointer",
"required": true,
"targetClass": "EngineerProfile"
},
"project": {
"type": "Pointer",
"required": true,
"targetClass": "Project"
},
"allocation": {
"type": "Pointer",
"required": false,
"targetClass": "Allocation"
},
"workDate": {
"type": "Date",
"required": true
},
"hours": {
"type": "Number",
"required": true
},
"taskCode": {
"type": "String",
"required": false
},
"billingStatus": {
"type": "String",
"required": true
},
"submittedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}Costruisci con l'Agente AI
Usa l'Agente AI di Back4app per generare un'app CRM di risorse ingegneristiche reale da questo template, inclusi frontend, backend, autenticazione e flussi di ingegnere, certificazione, allocazione e ore fatturabili.
Crea un backend dell'app CRM di risorse ingegneristiche su Back4app con questo schema e comportamento esatti. Schema: 1. Utente (usa il built-in di Back4app): objectId, nomeUtente (Stringa, obbligatoria), email (Stringa, obbligatoria), password (Stringa, obbligatoria), ruolo (Stringa, obbligatoria), createdAt, updatedAt. 2. ProfiloIngegnere: objectId, utente (Puntatore<Utente>, obbligatorio), nomeCompleto (Stringa, obbligatoria), disciplina (Stringa, obbligatoria), statoOccupazione (Stringa, obbligatoria), posizionePrimaria (Stringa, facoltativa), tariffaOraria (Numero, facoltativa), createdAt, updatedAt. 3. Certificazione: objectId, ingegnere (Puntatore<ProfiloIngegnere>, obbligatorio), nomeCertificazione (Stringa, obbligatoria), emittente (Stringa, obbligatoria), numeroCertificazione (Stringa, facoltativa), emessoIl (Data, obbligatoria), scadeIl (Data, facoltativa), stato (Stringa, obbligatoria), documentUrl (Stringa, facoltativa), createdAt, updatedAt. 4. Progetto: objectId, codiceProgetto (Stringa, obbligatoria), nomeProgetto (Stringa, obbligatoria), nomeClienti (Stringa, obbligatoria), stato (Stringa, obbligatoria), dataInizio (Data, facoltativa), dataFine (Data, facoltativa), responsabileProgetto (Puntatore<Utente>, obbligatorio), disciplinaRichiesta (Stringa, facoltativa), createdAt, updatedAt. 5. Allocazione: objectId, ingegnere (Puntatore<ProfiloIngegnere>, obbligatorio), progetto (Puntatore<Progetto>, obbligatorio), percentualeAllocazione (Numero, obbligatorio), dataInizio (Data, obbligatoria), dataFine (Data, facoltativa), ruoloAssegnato (Stringa, obbligatoria), stato (Stringa, obbligatoria), note (Stringa, facoltativa), createdAt, updatedAt. 6. OreFatturabili: objectId, ingegnere (Puntatore<ProfiloIngegnere>, obbligatorio), progetto (Puntatore<Progetto>, obbligatorio), allocazione (Puntatore<Allocazione>, facoltativa), dataLavoro (Data, obbligatoria), ore (Numero, obbligatorio), codiceCompito (Stringa, facoltativa), statoFatturazione (Stringa, obbligatoria), inviatoDa (Puntatore<Utente>, obbligatorio), note (Stringa, facoltativa), createdAt, updatedAt. Sicurezza: - Solo l'utente autenticato può aggiornare/cancellare il proprio profilo. - Solo i coordinatori o gli admin possono modificare Certificazione e Allocazione. - I responsabili di progetto possono leggere il personale del progetto e approvare o rifiutare le righe delle OreFatturabili per i propri progetti. - Gli ingegneri possono visualizzare il proprio ProfiloIngegnere, le allocazioni e le certificazioni, e inviare le proprie voci delle OreFatturabili. - Usa ACL e CLP in modo che gli ingegneri non possano modificare le certificazioni o i record delle OreFatturabili di un altro ingegnere. Comportamento: - Accesso basato su login e sessione. - Elenca gli ingegneri con disciplina e statoOccupazione. - Traccia le certificazioni valide o in scadenza. - Assegna ingegneri a progetti con percentualeAllocazione e intervalli di date. - Registra le ore fatturabili per dataLavoro, ore, codiceCompito e statoFatturazione. Consegna: - Configurazione app Back4app, schema, permessi e flussi di lavoro esemplificativi per personale, tracciamento credenziali e acquisizione tempo.
Premi il pulsante qui sotto per aprire l'Agente con questo prompt del template già compilato.
Questo è il prompt di base senza un suffisso tecnologico. Puoi adattare lo stack frontend generato in seguito.
API Sandbox
Prova gli endpoint REST e GraphQL contro lo schema delle risorse ingegneristiche CRM. Le risposte utilizzano dati di esempio e non richiedono un account Back4app.
Utilizza lo stesso schema di questo modello.
Scegli la tua Tecnologia
Espandi ogni scheda per vedere come integrare EngineerProfile, Certificazione e Progetto con il tuo stack scelto.
Flutter Risorsa Ingegneristica CRM Backend
React Risorsa Ingegneristica CRM Backend
React Nativo Risorsa Ingegneristica CRM Backend
Next.js Risorsa Ingegneristica CRM Backend
JavaScript Risorsa Ingegneristica CRM Backend
Android Risorsa Ingegneristica CRM Backend
iOS Risorsa Ingegneristica CRM Backend
Vue Risorsa Ingegneristica CRM Backend
Angular Risorsa Ingegneristica CRM Backend
GraphQL Risorsa Ingegneristica CRM Backend
REST API Risorsa Ingegneristica CRM Backend
PHP Risorsa Ingegneristica CRM Backend
.NET Risorsa Ingegneristica CRM Backend
Cosa ottieni con ogni tecnologia
Ogni stack utilizza lo stesso schema e contratti API del backend CRM delle risorse ingegneristiche.
Dati unificati del roster ingegneristico
Gestisci i record di User, EngineerProfile, Certification, Project, Allocation e BillableHour con uno schema consistente.
Staffing consapevole della certificazione
Filtra per disciplina e data di scadenza prima di assegnare ingegneri ai lavori di progetto.
Monitoraggio delle ore fatturabili per la finanza
Cattura righe di BillableHour per supportare le ore approvate e i report di utilizzo.
Regole di allocazione per i coordinatori
Definisci chi può creare assegnazioni, cambiare date o approvare ore.
Confronto Framework CRM Ingegneria
Confronta la velocità di configurazione, lo stile SDK e il supporto AI tra tutte le tecnologie supportate.
| Framework | Tempo di configurazione | Vantaggio del CRM Engineering | Tipo di SDK | Supporto AI |
|---|---|---|---|---|
| Circa 5 min | Codice base unico per l'elenco degli ingegneri e l'allocazione su mobile e web. | SDK Typed | Completo | |
| Meno di 5 minuti | Dashboard web veloce per la pianificazione delle risorse ingegneristiche. | SDK digitato | Completo | |
| ~3–7 min | App mobile multipiattaforma per la gestione del personale e l'inserimento del tempo. | SDK digitato | Completo | |
| Impostazione rapida (5 min) | App web renderizzata dal server per i coordinatori ingegneristici. | SDK digitato | Completo | |
| ~3–5 min | Integrazione web leggera per i flussi di lavoro CRM. | SDK digitato | Completo | |
| Circa 5 min | App nativa Android per ingegneria e pianificazione progetti. | SDK tipizzato | Completo | |
| Meno di 5 minuti | App nativa iOS per team di ingegneria sul campo. | SDK tipizzato | Completo | |
| ~3–7 min | Interfaccia web Reactive per la revisione di certificazione e allocazione. | SDK tipizzato | Completo | |
| Impostazione rapida (5 min) | App web aziendale per la gestione delle risorse. | SDK digitato | Completo | |
| Meno di 2 min | API flessibile GraphQL per dati ingegneristici e di allocazione nidificati. | API GraphQL | Completo | |
| Impostazione veloce (2 min) | Integrazione REST API per i flussi di lavoro di staffing. | REST API | Completo | |
| ~3 min | Backend PHP lato server per l'automazione del CRM. | REST API | Completo | |
| ~3–7 min | Backend .NET per la pianificazione delle risorse. | SDK tipizzato | Completo |
Il tempo di configurazione riflette la durata prevista dalla creazione del progetto alla prima richiesta di ingegneria o allocazione utilizzando questo schema del template.
Domande sul personale
Domande comuni sulla costruzione di un backend CRM per risorse ingegneristiche con questo modello.
Pronto a costruire la tua app CRM per risorse ingegneristiche?
Inizia il tuo progetto CRM per risorse ingegneristiche in pochi minuti. Nessuna carta di credito richiesta.