Modelo de Back-end do CRM de Recursos de Engenharia
Perfis de Engenheiros, Certificações, Alocações de Projetos e Rastreio de Horas Faturáveis
Um back-end de CRM de recursos de engenharia pronto para produção no Back4app com classes de Usuário, Perfil de Engenheiro, Certificação, Projeto, Alocação e Hora Faturável. Use-o para rastrear pessoal, credenciais e tempo faturável sem reconstruir o back-end.
Principais Aprendizados sobre Recursos Humanos
Este template fornece um backend de CRM para recursos de engenharia com registros de EngineerProfile, Certificação, Projeto, Alocação e HorasFaturáveis para que os coordenadores possam passar de manipulação de planilhas para um fluxo de trabalho estruturado.
- Recursos humanos cientes de EngineerProfile — Modelar registros de Usuário e EngineerProfile para que as decisões de atribuição possam respeitar disciplina, status de emprego e taxa horária.
- Verificações de expiração de certificação — Acompanhe a Certificação em relação a cada EngineerProfile para que a equipe possa ser filtrada por emitidoEm, expiraEm e status antes da reserva.
- Planejamento de alocação de projetos — Use Alocação para conectar EngineerProfile a Projeto com alocaçãoPercent, papel de atribuição e intervalos de datas.
O que é o Template de CRM de Recursos de Engenharia?
Quando as questões de CRM de recursos de engenharia são sensíveis, o controle de acesso é parte do produto — não uma solução improvisada aplicada ao final. O custo se manifesta em chamadas e créditos. O fluxo de trabalho do CRM de recursos de engenharia aqui é explícito em dados: EngineerProfile, Certification, Project, Allocation e BillableHour no Back4app substituem notas ad-hoc por progresso estruturado e consultável. O esquema abrange User (nome de usuário, e-mail, senha, papel), EngineerProfile (usuário, nomeCompleto, disciplina, statusDeEmprego), Certification (engenheiro, nomeDaCertificação, emissor, status), Project (códigoDoProjeto, nomeDoProjeto, nomeDoCliente, gerenteDoProjeto), Allocation (engenheiro, projeto, percentualAlocação) e BillableHour (engenheiro, projeto, dataDeTrabalho, horas, statusDeFaturamento) com autenticação e rastreamento de atribuições integrados. Conecte seu frontend preferido e envie mais rápido.
Melhor para:
CRM de Recursos de Engenharia: instantâneo de backend
equipes de CRM de recursos de engenharia vencem quando o trabalho rotineiro é chato: registros previsíveis, propriedade óbvia e alertas antes que pequenos problemas se tornem incidentes.
Cada cartão de tecnologia aqui mapeia para o mesmo modelo de EngineerProfile, Certificação e Projeto — escolha uma pilha sem renegociar seu contrato de backend.
Recursos de Pessoal de Engenharia
Cada cartão de tecnologia neste hub usa o mesmo esquema de backend CRM de recursos de engenharia com Usuário, Perfil de Engenheiro, Certificação, Projeto, Alocação e BillableHour.
Gerenciamento de perfil do engenheiro
EngineerProfile armazena fullName, discipline, employmentStatus e hourlyRate.
Rastreamento de certificação
Links de certificação eng. , certificationName, issuedOn, expiresOn e status.
Planejamento de alocação de projetos
Alocação conecta eng., projeto, allocationPercent, startDate e assignmentRole.
Captura de hora faturável
Registros de BillableHour para engenheiro, projeto, data de trabalho, horas e status de faturamento.
Por que construir seu backend de CRM de Recursos de Engenharia com Back4app?
Back4app oferece a você primitivas de Usuário, EngineerProfile, Projeto, Alocação e HoraCobrável para que sua equipe possa se concentrar em decisões de pessoal e relatórios de utilização em vez de encanamento de backend.
- •Controle de certificação e atribuição: As classes EngineerProfile e Certificação permitem que você filtre por disciplina, status de emprego e expiresOn antes que uma Alocação seja salva.
- •Implantação e trilha de auditoria do projeto: Os registros de Projeto e Alocação capturam projectCode, projectManager, allocationPercent e assignmentRole para cada reserva.
- •Visibilidade da hora faturável: As linhas de BillableHour vinculam horas de volta ao engenheiro, projeto, alocação e submittedBy, o que mantém os relatórios baseados no trabalho real.
Construa e ajuste fluxos de pessoal rapidamente com um contrato de backend em todas as plataformas.
Benefícios do CRM Principal
Um backend CRM de recursos de engenharia que ajuda coordenadores a se moverem mais rápido sem perder o controle dos dados de pessoal.
Decisões de pessoal mais rápidas
Comece a partir das classes Usuário e Perfil de Engenheiro em vez de reconstruir tabelas de lista e credenciais do zero.
Menor risco de alocação
Use campos de Alocação como alocaçãoPercent, startDate e endDate para identificar atribuições sobrepostas antes que cheguem aos cronogramas de produção.
Relatório de horas faturáveis de limpeza
BillableHour.hours e billingStatus mantêm as planilhas de tempo consistentes para relatórios e faturamento.
Acesso ciente de permissões
Use ACL/CLP para que apenas o pessoal aprovado possa editar registros de EngineerProfile, Project, Allocation e BillableHour.
Modelo de dados repetível
Armazene certificações, atribuições de projeto e registros de trabalho em um esquema que pode crescer com novas disciplinas ou escritórios.
Configuração de backend assistida por IA
Gere rapidamente a estrutura de backend e orientações de integração com um prompt estruturado.
Pronto para lançar seu aplicativo CRM de recursos de engenharia?
Deixe o agente de IA Back4app estruturar seu backend de CRM de recursos de engenharia e gerar rastreamento de Usuário, Perfil de Engenheiro, Certificação, Projeto, Alocação e Hora Bilhável a partir de um único comando.
Gratuito para começar — 50 comandos de Agente de IA/mês, sem cartão de crédito necessário
Pilha de Engenharia
Tudo incluído neste template de backend de CRM de recursos de engenharia.
Diagrama ER de Engenharia
Modelo de relação de entidades para o esquema de backend CRM de recursos de engenharia.
Esquema cobrindo contas de usuários, perfis de engenheiros, certificações, projetos, alocações e entradas de horas cobradas.
Visualizar fonte do diagrama
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
}
Fluxo de Integração de Recrutamento
Fluxo típico de execução para autenticação, pesquisa de lista de Perfil de Engenheiro, verificações de Certificação, planejamento de Alocação e entrada de HoraCobrável.
Ver fonte do fluxo de trabalho
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 eventsDicionário de Campos
Referência completa a nível de campo para cada classe no esquema CRM de recursos de engenharia.
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| 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 | Role of the user (e.g., administrator, coordinator, engineer, clientLead) | |
| createdAt | Date | Auto-generated creation timestamp | Automático |
| updatedAt | Date | Auto-generated last-update timestamp | Automático |
7 campos em User
Segurança para Registros de Contratação
Como a estratégia ACL e CLP protege contas de usuário, perfis de engenheiros, dados de certificação, alocações de projeto e entradas de horas faturáveis.
Controles de perfil do usuário
Apenas o usuário conectado pode atualizar ou deletar seu próprio perfil; os registros de engenheiros permanecem restritos a pessoal autorizado.
Integridade da certificação e alocação
Apenas coordenadores ou administradores podem criar ou modificar registros de Certificação e Alocação; use Cloud Code para rejeitar atribuições expiradas ou conflitantes.
Aprovação de horas restrita
Restrinja edições de Hour Faturável após a aprovação para que as horas permaneçam auditáveis para gerentes de projeto e usuários financeiros.
Esquema JSON
Definição de esquema JSON bruto pronta para copiar para Back4app ou usar como referência de implementação.
{
"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
}
}
}
]
}Construir com o Agente de IA
Use o agente de IA Back4app para gerar um aplicativo CRM de recursos de engenharia real a partir deste modelo, incluindo frontend, backend, autenticação, e fluxos de engenheiro, certificação, alocação e horas faturáveis.
Crie um backend de aplicativo CRM de recursos de engenharia no Back4app com este esquema e comportamento exatos. Esquema: 1. Usuário (use Back4app embutido): objectId, username (String, obrigatório), email (String, obrigatório), password (String, obrigatório), role (String, obrigatório), createdAt, updatedAt. 2. Perfil de Engenheiro: objectId, usuário (Ponteiro<User>, obrigatório), nomeCompleto (String, obrigatório), disciplina (String, obrigatório), statusEmprego (String, obrigatório), localPrincipal (String, opcional), taxaHoraria (Número, opcional), createdAt, updatedAt. 3. Certificação: objectId, engenheiro (Ponteiro<Perfil de Engenheiro>, obrigatório), nomeCertificacao (String, obrigatório), emissor (String, obrigatório), numeroCertificacao (String, opcional), emitidoEm (Data, obrigatório), expiraEm (Data, opcional), status (String, obrigatório), urlDocumento (String, opcional), createdAt, updatedAt. 4. Projeto: objectId, codigoProjeto (String, obrigatório), nomeProjeto (String, obrigatório), nomeCliente (String, obrigatório), status (String, obrigatório), dataInicio (Data, opcional), dataFim (Data, opcional), gerenteProjeto (Ponteiro<User>, obrigatório), disciplinaNecessaria (String, opcional), createdAt, updatedAt. 5. Alocação: objectId, engenheiro (Ponteiro<Perfil de Engenheiro>, obrigatório), projeto (Ponteiro<Projeto>, obrigatório), percentualAlocacao (Número, obrigatório), dataInicio (Data, obrigatória), dataFim (Data, opcional), papelAtribuicao (String, obrigatório), status (String, obrigatório), notas (String, opcional), createdAt, updatedAt. 6. HoraFaturável: objectId, engenheiro (Ponteiro<Perfil de Engenheiro>, obrigatório), projeto (Ponteiro<Projeto>, obrigatório), alocação (Ponteiro<Alocação>, opcional), dataTrabalho (Data, obrigatória), horas (Número, obrigatório), codigoTarefa (String, opcional), statusFaturamento (String, obrigatório), submetidoPor (Ponteiro<User>, obrigatório), notas (String, opcional), createdAt, updatedAt. Segurança: - Somente o usuário logado pode atualizar/excluir seu próprio perfil. - Apenas coordenadores ou administradores podem editar Certificações e Alocações. - Gerentes de projeto podem ler a alocação de projetos e aprovar ou rejeitar linhas de HoraFaturável para seus projetos. - Engenheiros podem visualizar seu próprio Perfil de Engenheiro, alocações e certificações, e enviar suas próprias entradas de HoraFaturável. - Utilize ACLs e CLPs para que engenheiros não editem Certificações ou registros de HoraFaturável de outro engenheiro. Comportamento: - Acesso baseado em login e sessão. - Listar engenheiros com disciplina e statusEmprego. - Rastrear certificações que estão válidas ou expirando. - Atribuir engenheiros a projetos com percentualAlocacao e intervalos de data. - Registrar horas faturáveis por dataTrabalho, horas, codigoTarefa e statusFaturamento. Entregar: - Configuração do aplicativo Back4app, esquema, permissões e fluxos de trabalho de exemplo para alocação de pessoal, rastreamento de credenciais e captura de tempo.
Pressione o botão abaixo para abrir o Agente com este prompt de modelo preenchido.
Este é o prompt base sem um sufixo de tecnologia. Você pode adaptar a pilha de frontend gerada depois.
Sandbox de API
Experimente os endpoints REST e GraphQL contra o esquema de recursos de engenharia CRM. As respostas usam dados fictícios e não requerem uma conta Back4app.
Usa o mesmo esquema que este template.
Escolha Sua Tecnologia
Expanda cada card para ver como integrar EngineerProfile, Certification e Project com sua pilha escolhida.
Flutter Recurso de Engenharia CRM Backend
React Recurso de Engenharia CRM Backend
React Nativo Recurso de Engenharia CRM Backend
Next.js Recurso de Engenharia CRM Backend
JavaScript Recurso de Engenharia CRM Backend
Android Recurso de Engenharia CRM Backend
iOS Recurso de Engenharia CRM Backend
Vue Recurso de Engenharia CRM Backend
Angular Recurso de Engenharia CRM Backend
GraphQL Recurso de Engenharia CRM Backend
REST API Recurso de Engenharia CRM Backend
PHP Recurso de Engenharia CRM Backend
.NET Recurso de Engenharia CRM Backend
O que você ganha com cada tecnologia
Todo stack usa o mesmo esquema de backend de CRM de recursos de engenharia e contratos de API.
Dados unificados da equipe de engenharia
Gerencie registros de Usuário, Perfil de Engenheiro, Certificação, Projeto, Alocação e Hora Faturável com um esquema consistente.
Contratação ciente da certificação
Filtre por disciplina e data de expiração antes de designar engenheiros para o trabalho no projeto.
Rastreamento de horas faturáveis para finanças
Capture linhas de Hora Faturável para suportar horas aprovadas e relatórios de utilização.
Regras de alocação para coordenadores
Defina quem pode criar atribuições, alterar datas ou aprovar horas.
Comparação de Frameworks de CRM de Engenharia
Compare a velocidade de configuração, estilo de SDK e suporte a IA entre todas as tecnologias suportadas.
| Framework | Tempo de Configuração | Benefício do CRM de Engenharia | Tipo de SDK | Suporte a IA |
|---|---|---|---|---|
| Cerca de 5 min | Base de código única para a lista de engenheiros e alocação em dispositivos móveis e na web. | SDK Tipado | Completo | |
| Menos de 5 minutos | Painel web rápido para planejamento de recursos de engenharia. | SDK Digitado | Completo | |
| ~3–7 min | Aplicativo móvel multiplataforma para gerenciamento de equipe e entrada de tempo. | SDK Digitado | Completo | |
| Configuração rápida (5 min) | Aplicativo web renderizado no servidor para coordenadores de engenharia. | SDK Digitado | Completo | |
| ~3–5 min | Integração leve para fluxos de trabalho de CRM. | SDK Digitado | Completo | |
| Cerca de 5 min | Aplicativo nativo Android para planejamento de engenharia e projetos. | SDK tipado | Completo | |
| Menos de 5 minutos | Aplicativo nativo iOS para equipes de engenharia em campo. | SDK tipado | Completo | |
| ~3–7 min | Interface web Reactiva para revisão de certificação e alocação. | SDK tipado | Completo | |
| Configuração rápida (5 min) | Aplicativo web empresarial para gerenciamento de recursos. | SDK Digitado | Completo | |
| Menos de 2 min | API flexível GraphQL para dados de engenharia e alocação aninhados. | API GraphQL | Completo | |
| Configuração rápida (2 min) | Integração REST API para fluxos de trabalho de pessoal. | REST API | Completo | |
| ~3 min | Backend PHP do lado do servidor para automação de CRM. | REST API | Completo | |
| ~3–7 min | Backend .NET para agendamento de recursos. | SDK Tipado | Completo |
O tempo de configuração reflete a duração esperada desde a inicialização do projeto até a primeira consulta de engenharia ou alocação usando este esquema de modelo.
Dúvidas sobre Pessoal
Perguntas comuns sobre como construir um backend de CRM de recursos de engenharia com este modelo.
Pronto para Construir Seu App de CRM de Recursos de Engenharia?
Inicie seu projeto de CRM de recursos de engenharia em minutos. Nenhum cartão de crédito necessário.