Шаблон Backend CRM для инженерных ресурсов
Профили инженеров, Сертификации, Распределение проектов и Учёт оплачиваемых часов
Производственная версия CRM для инженерных ресурсов backend на Back4app с классами User, EngineerProfile, Certification, Project, Allocation и BillableHour. Используйте его для отслеживания персонала, учётных данных и оплачиваемого времени без перестройки backend.
Ключевые выводы по найму
Этот шаблон предоставляет бэкенд CRM для инженерных ресурсов с записями EngineerProfile, Certification, Project, Allocation и BillableHour, чтобы координаторы могли перейти от juggling таблицами к структурированному рабочему процессу.
- Найм с учетом EngineerProfile — Моделируйте записи Пользователя и EngineerProfile, чтобы решения по назначению могли учитывать дисциплину, состояние занятости и почасовую ставку.
- Проверка истечения сертификатов — Отслеживайте сертификаты для каждого EngineerProfile, чтобы персонал можно было отфильтровать по дате выдачи, сроку действия и статусу перед бронированием.
- Планирование распределения проекта — Используйте Allocation для соединения EngineerProfile с проектом, указав allocationPercent, assignmentRole и диапазоны дат.
Что такое шаблон CRM для инженерных ресурсов?
Когда вопросы CRM для инженерных ресурсов являются чувствительными, контроль доступа является частью продукта — не просто добавленной после мысли. Стоимость отражается в обратных вызовах и кредитах. Рабочий процесс CRM для инженерных ресурсов здесь явно представлен в данных: EngineerProfile, Certification, Project, Allocation и BillableHour на Back4app заменяют произвольные заметки на структурированный, запросимый прогресс. Схема включает User (имя пользователя, электронная почта, пароль, роль), EngineerProfile (пользователь, полное имя, дисциплина, статус занятости), Certification (инженер, название сертификации, выдавший, статус), Project (код проекта, название проекта, имя клиента, менеджер проекта), Allocation (инженер, проект, процент распределения) и BillableHour (инженер, проект, дата работы, часы, статус биллинга) с встроенным отслеживанием аутентификации и назначения. Подключите ваш предпочитаемый фронтенд и работайте быстрее.
Лучше всего для:
CRM для инженерных ресурсов: снимок бэкенда
Команды CRM для инженерных ресурсов выигрывают, когда рутинная работа скучна: предсказуемые записи, ясная собственность и уведомления до того, как небольшие проблемы станут инцидентами.
Каждая карточка технологии здесь сопоставляется с одной и той же моделью EngineerProfile, Certification и Project — выберите стек без повторных переговоров о своем контракте на бэкенд.
Функции подбора персонала инженеров
Каждая карта технологии в этом хабе использует одну и ту же схему бэкенда CRM для инженерных ресурсов с User, EngineerProfile, Certification, Project, Allocation и BillableHour.
Управление профилем инженера
EngineerProfile хранит fullName, discipline, employmentStatus и hourlyRate.
Отслеживание сертификатов
Ссылки на сертификаты engineer, certificationName, issuedOn, expiresOn и статус.
Планирование распределения проекта
Распределение связывает engineer, project, allocationPercent, startDate и assignmentRole.
Фиксируемые часы
Записи BillableHour: инженер, проект, дата работы, часы и статус выставления счета.
Почему строить бэкенд вашего CRM для инженерных ресурсов с Back4app?
Back4app предоставляет вам примитивы User, EngineerProfile, Project, Allocation и BillableHour, чтобы ваша команда могла сосредоточиться на решениях по персоналу и отчетности по использованию вместо бэкенд-работы.
- •Контроль сертификации и назначения: Классы EngineerProfile и Certification позволяют вам фильтровать по дисциплине, статусу занятости и expiresOn до того, как Allocation будет сохранен.
- •Управление проектом и отслеживание изменений: Записи проекта и распределения фиксируют projectCode, projectManager, allocationPercent и assignmentRole для каждого бронирования.
- •Видимость оплачиваемых часов: Строки BillableHour связывают часы с инженером, проектом, распределением и submittedBy, что позволяет поддерживать отчетность на основе фактической работы.
Быстро создавайте и настраивайте потоки персонала с одним контрактом на бэкенде для всех платформ.
Основные преимущества CRM
Бэкенд CRM для инженерных ресурсов, который помогает кураторам действовать быстрее, не теряя контроля за данными о персонале.
Более быстрые решения по персоналу
Начинайте с классов User и EngineerProfile, а не создавайте таблицы списков и учетных данных заново.
Меньший риск перераспределения
Используйте поля Allocation, такие как allocationPercent, startDate и endDate, чтобы выявлять пересекающиеся назначения до того, как они попадут в производственные графики.
Отчетность по часовым затратам на чистку
BillableHour.hours и billingStatus обеспечивают согласованность табелей учета времени для отчетности и выставления счетов.
Доступ с учетом прав
Используйте ACL/CLP, чтобы только утвержденный персонал мог редактировать записи EngineerProfile, Project, Allocation и BillableHour.
Повторяемая модель данных
Храните сертификаты, назначения проектов и журналы работ в одной схеме, которая может расширяться новыми дисциплинами или офисами.
Настройка бэкенда с помощью ИИ
Создавайте быстро каркас бэкенда и рекомендации по интеграции с помощью одного структурированного запроса.
Готовы запустить ваше приложение CRM для инженерных ресурсов?
Позвольте AI-агенту Back4app создать ваш бэкенд CRM для инженерных ресурсов и сгенерировать отслеживание Пользователя, ПрофиляИнженера, Сертификации, Проекта, Распределения и ОплачиваемыхЧасов из одной подсказки.
Бесплатно для начала — 50 подсказок AI-агента в месяц, кредитная карта не требуется
Инженерный стек
Все включено в этот шаблон бэкенда CRM для инженерных ресурсов.
Инженерная ER-диаграмма
Модель взаимосвязей сущностей для схемы бэкенда CRM-ресурсов.
Схема, охватывающая учетные записи пользователей, профили инженеров, сертификаты, проекты, распределения и записи оплачиваемых часов.
Просмотреть источник диаграммы
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
}
Поток интеграции кадров
Типичный поток выполнения для авторизации, поиска списка профилей инженеров, проверки сертификатов, планирования распределения и записи оплачиваемых часов.
Просмотреть исходный код рабочего процесса
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 eventsСловарь полей
Полная справочная информация на уровне полей для каждого класса в схеме CRM ресурсов инженерии.
| Поле | Тип | Описание | Обязательно |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Авто |
| 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 | Авто |
| updatedAt | Date | Auto-generated last-update timestamp | Авто |
7 поля в User
Безопасность записей о персонале
Как стратегия ACL и CLP защищает пользовательские аккаунты, профили инженеров, данные о сертификации, распределение проектов и записи о billable hour.
Управление профилем пользователем
Только вошедший в систему пользователь может обновить или удалить свой собственный профиль; записи инженера остаются в пределах полномочий соответствующего персонала.
Целостность сертификации и распределения
Только координаторы или администраторы могут создавать или изменять записи о сертификации и распределении; используйте Cloud Code, чтобы отклонить истекшие или конфликтующие назначения.
Согласование часов
Ограничить редактирование BillableHour после согласования, чтобы часы оставались проверяемыми для менеджеров проектов и финансовых пользователей.
JSON-схема
Сырая определение схемы JSON готово для копирования в Back4app или в качестве справочного материала для реализации.
{
"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
}
}
}
]
}Создайте с AI Агентом
Используйте Back4app AI Агент для генерации реального приложения CRM для управления инженерными ресурсами из этого шаблона, включая фронтенд, бэкенд, авторизацию, а также потоки сертификации, распределения и billable hour.
Создайте бэкенд приложения CRM для инженерных ресурсов на Back4app с этой точной схемой и поведением. Схема: 1. Пользователь (использовать встроенный Back4app): objectId, имя пользователя (String, обязательно), email (String, обязательно), пароль (String, обязательно), роль (String, обязательно), createdAt, updatedAt. 2. ПрофильИнженера: objectId, пользователь (Pointer<User>, обязательно), полное имя (String, обязательно), дисциплина (String, обязательно), статус занятости (String, обязательно), основное местоположение (String, необязательно), почасовая ставка (Number, необязательно), createdAt, updatedAt. 3. Сертификация: objectId, инженер (Pointer<EngineerProfile>, обязательно), название сертификации (String, обязательно), выдавшая организация (String, обязательно), номер сертификации (String, необязательно), дата выдачи (Date, обязательно), дата окончания (Date, необязательно), статус (String, обязательно), ссылка на документ (String, необязательно), createdAt, updatedAt. 4. Проект: objectId, код проекта (String, обязательно), название проекта (String, обязательно), имя клиента (String, обязательно), статус (String, обязательно), дата начала (Date, необязательно), дата окончания (Date, необязательно), менеджер проекта (Pointer<User>, обязательно), требуемая дисциплина (String, необязательно), createdAt, updatedAt. 5. Распределение: objectId, инженер (Pointer<EngineerProfile>, обязательно), проект (Pointer<Project>, обязательно), процент распределения (Number, обязательно), дата начала (Date, обязательно), дата окончания (Date, необязательно), роль задания (String, обязательно), статус (String, обязательно), заметки (String, необязательно), createdAt, updatedAt. 6. BillableHour: objectId, инженер (Pointer<EngineerProfile>, обязательно), проект (Pointer<Project>, обязательно), распределение (Pointer<Allocation>, необязательно), дата работы (Date, обязательно), часы (Number, обязательно), код задачи (String, необязательно), статус выставления счетов (String, обязательно), submittedBy (Pointer<User>, обязательно), заметки (String, необязательны), createdAt, updatedAt. Безопасность: - Только вошедший в систему пользователь может обновлять/удалять собственный профиль. - Только координаторы или администраторы могут редактировать Сертификации и Распределения. - Менеджеры проектов могут просматривать распределение персонала проекта и одобрять или отклонять строки BillableHour для своих проектов. - Инженеры могут просматривать свои собственные ПрофилиИнженеров, распределения и сертификации, а также подавать свои собственные записи BillableHour. - Используйте ACL и CLP, чтобы инженеры не могли редактировать сертификацию или записи BillableHour других инженеров. Поведение: - Вход и доступ на основе сессий. - Список инженеров с дисциплиной и статусом занятости. - Отслеживание сертификаций, которые действительны или истекают. - Назначение инженеров на проекты с процентом распределения и временными диапазонами. - Запись billable hours по дате работы, часам, коду задачи и статусу выставления счетов. Доставка: - Конфигурация приложения Back4app, схема, разрешения и образцы рабочих процессов для подбора персонала, отслеживания удостоверений и учета времени.
Нажмите на кнопку ниже, чтобы открыть Агент с предварительно заполненным шаблоном.
Это базовый запрос без суффикса технологии. Вы можете адаптировать сгенерированный стек фронтенда позже.
API песочница
Попробуйте REST и GraphQL конечные точки в ресурсной схеме CRM для инженеров. Ответы используют фиктивные данные и не требуют аккаунта Back4app.
Использует ту же схему, что и этот шаблон.
Выберите вашу технологию
Разверните каждую карточку, чтобы увидеть, как интегрировать EngineerProfile, Certification и Project с вашим выбранным стеком.
Flutter Инженерный ресурс CRM Backend
React Инженерный ресурс CRM Backend
React Native Инженерный ресурс CRM Backend
Next.js Инженерный ресурс CRM Backend
JavaScript Инженерный ресурс CRM Backend
Android Инженерный ресурс CRM Backend
iOS Инженерный ресурс CRM Backend
Vue Инженерный ресурс CRM Backend
Angular Инженерный ресурс CRM Backend
GraphQL Инженерный ресурс CRM Backend
REST API Инженерный ресурс CRM Backend
PHP Инженерный ресурс CRM Backend
.NET Инженерный ресурс CRM Backend
Что вы получаете с каждой технологией
Каждый стек использует одну и ту же схему бэкенда CRM и API контракты для инженерных ресурсов.
Единые данные о списке инженеров
Управляйте записями о пользователях, профилях инженеров, сертификатах, проектах, распределении и оплачиваемых часах с помощью одной единой схемы.
Набор кадров с учетом сертификатов
Фильтруйте по дисциплине и дате истечения перед назначением инженеров на проект.
Отслеживание оплачиваемых часов для финансов
Фиксируйте строки оплачиваемых часов для поддержки утвержденных часов и отчетности по использованию.
Правила распределения для координаторов
Определите, кто может создавать назначения, изменять даты или утверждать часы.
Сравнение CRM-фреймов для инженерии
Сравните скорость настройки, стиль SDK и поддержку ИИ во всех поддерживаемых технологиях.
| Фреймворк | Время настройки | Преимущества CRM для инженеров | Тип SDK | Поддержка ИИ |
|---|---|---|---|---|
| Около 5 минут | Единая кодовая база для списка инженеров и распределения на мобильных и веб-платформах. | Типизированный SDK | Полный | |
| Менее 5 минут | Быстая веб панель для планирования инженерных ресурсов. | Введите SDK | Полный | |
| ~3–7 мин | Кроссплатформенное мобильное приложение для набора персонала и ввода времени. | Введите SDK | Полный | |
| Быстрая настройка (5 мин) | Веб-приложение с серверной отрисовкой для координирующих инженеров. | Введите SDK | Полный | |
| ~3–5 мин | Легкая веб-интеграция для рабочих процессов CRM. | Введите SDK | Полный | |
| Около 5 мин | Нативное приложение Android для проектирования и планирования. | Типизированный SDK | Полный | |
| Менее 5 минут | Нативное приложение iOS для инженерных команд в поле. | Типизированный SDK | Полный | |
| ~3–7 мин | Reactивый веб-интерфейс для проверки сертификации и распределения. | Типизированный SDK | Полный | |
| Быстрая (5 мин) настройка | Корпоративное веб-приложение для управления ресурсами. | Написанный SDK | Полный | |
| Менее 2 мин | Гибкий GraphQL API для вложенных данных об инженерах и распределении. | GraphQL API | Полный | |
| Быстрая (2 мин) настройка | Интеграция REST API для рабочих процессов по найму. | REST API | Полный | |
| ~3 мин | Серверная часть PHP для автоматизации CRM. | REST API | Полный | |
| ~3–7 мин | .NET для планирования ресурсов. | Типизированный SDK | Полный |
Время настройки отражает ожидаемую продолжительность от начала проекта до первого запроса инженера или распределения с использованием этой схемы шаблона.
Вопросы по персоналу
Общие вопросы о создании бэкэнда CRM для инженерных ресурсов с помощью этого шаблона.
Готовы создать ваше приложение CRM для инженерных ресурсов?
Начните ваш проект CRM для инженерных ресурсов за считанные минуты. Кредитная карта не требуется.