人才代理管理
与 AI Agent 一起构建
人才代理经理后端

人才代理经理后端模板
人才档案名册、试镜管道和预订日程

一个在 Back4app 上的可投入生产的 人才代理经理后端,具有用户角色、人才档案名册记录、试镜跟踪、预订窗口和日程条目日历 Blocks。包括 ER 图,数据字典,JSON 架构,API 游乐场,以及一个用于快速设置的 AI 代理 提示。

人才机构要点

此模板为您提供了一个人才机构经理后端,包含TalentProfile名册记录、Audition跟踪、Booking时间窗口和ScheduleEntry日历Bloc,以便协调员可以保持日常操作的透明。

  1. TalentProfile记录保持有序将stageName、fullName、talentType、headshotUrl、portfolioUrl和availabilityStatus保存在与经理指针关联的一个配置文件中。
  2. 按状态跟踪Audition使用Audition字段,如`status`、`auditionDate`、`clientName`和`projectName`来跟踪每个回调。
  3. 无需猜测的Booking时间窗口围绕startDateTime、endDateTime、timezone和status协调`Booking`和`ScheduleEntry`行。

概述:人才代理经理

在人才代理经理中的真实成本是上下文切换:因为笔记分散在不同的工具中,每次会议都需要重建故事。小的延误会迅速累积。在 Back4app 上塑造核心实体,以更清晰的归属、更少的遗漏任务和可供客户查看的历史来处理人才代理经理事务。该架构涵盖用户、人才档案、试镜、预订和日程条目,并内置了认证和工作流控制。连接你选择的前端,并更快发布。

最佳适用:

人才代理管理应用程序模特和演员名册跟踪试镜协调工具预订和通话安排表规划器MVP 发布团队选择 BaaS 进行娱乐工作流

您在人才代理经理模板中获得的内容

人才代理经理团队在日常工作枯燥时获得成功:可预测的记录、明显的所有权,以及在小问题变成事件前的警报。

利益相关者可以在这里检查人才资料、资料资产、试镜跟踪的覆盖情况:名称、关系以及他们所启用的工作流。

人才代理经理功能

此中心中的每个技术卡片都使用相同的人才代理管理后端模式,包括用户、TalentProfile、试镜、预订和 ScheduleEntry。

人才档案

TalentProfile 存储每个表演者的 stageName、fullName、talentType 和 availabilityStatus。

个人资料资产

TalentProfile 链接 portfolioUrl、headshotUrl 和记录中的备注。

试镜跟踪

试镜存储 clientName、projectName、auditionDate 和状态。

预订窗口

预订捕获 talentProfile、startDateTime、endDateTime 和状态。

日程条目

ScheduleEntry 引用 talentProfile、booking、timezone 和状态。

为什么使用 Back4app 构建您的人才代理经理后台?

Back4app 为您的团队提供用户、TalentProfile、试镜、预订和 ScheduleEntry 原语,以便协调员花更少的时间连接存储,更专注于管理名册。

  • 名册和资料管理: TalentProfile 类保留与正确表演者相关的 stageName、fullName、talentType、portfolioUrl、headshotUrl、availabilityStatus 和 manager。
  • 试镜和预订控制: 试镜和预订记录使确认回电、管理客户名称和项目名称以及跟踪状态变化变得简单。
  • 实时 + API 灵活性: 使用 Live Queries 进行 ScheduleEntry 更新,同时保持 REST 和 GraphQL 可用于门户、运营仪表板和合作伙伴应用程序。

为每个客户运行一个后台合同,用于 TalentProfile、Audition、Booking 和 ScheduleEntry。

代理收益

一个人才代理后端,帮助协调员保持演员名单、试镜、预订和日程操作的组织。

更快的名单设置

使用TalentProfile,而不是从零创建模型和演员记录。

试镜清晰度

使用Audition.status和Audition.auditionDate来查看谁被邀请、回调、预订或拒绝。

预订责任

将Booking.clientName、Booking.projectName和Booking.rate与每个确认的任务关联,以便更好地交接。

日程协调

管理ScheduleEntry.startDateTime、ScheduleEntry.endDateTime和ScheduleEntry.timezone,以便当天的更改易于追踪。

人才与预订的可追溯性

将Booking和Audition链接回TalentProfile指针,以避免名称不匹配、重复保留或丢失回调。

AI辅助设置

快速生成后端框架和集成指导,只需一个结构化提示。

准备好启动您的人才代理管理应用了吗?

让Back4app AI代理为您搭建人才代理管理后端,并从一个提示中生成TalentProfile、Audition、Booking和ScheduleEntry流程。

免费开始 — 每月50条AI代理提示,无需信用卡

代理技术栈

此人才代理经理后台模板包含的所有内容。

前端
13+ 技术
后端
Back4app
数据库
MongoDB
认证
内置身份验证 + 会话
API
REST 和 GraphQL
实时
Live Queries

人才ERD

用于人才机构管理后台架构的实体关系模型。

查看图表源
Mermaid
erDiagram
    User ||--o{ TalentProfile : "manager"
    TalentProfile ||--o{ Audition : "talentProfile"
    TalentProfile ||--o{ Booking : "talentProfile"
    TalentProfile ||--o{ ScheduleEntry : "talentProfile"
    Audition ||--o{ Booking : "audition"
    Booking ||--o{ ScheduleEntry : "booking"

    User {
        String objectId PK
        String username
        String email
        String password
        String role
        Date createdAt
        Date updatedAt
    }

    TalentProfile {
        String objectId PK
        String stageName
        String fullName
        String talentType
        String portfolioUrl
        String headshotUrl
        String availabilityStatus
        String managerId FK
        String notes
        Date createdAt
        Date updatedAt
    }

    Audition {
        String objectId PK
        String talentProfileId FK
        String clientName
        String projectName
        String auditionType
        Date auditionDate
        String status
        String location
        String callbackNotes
        Date createdAt
        Date updatedAt
    }

    Booking {
        String objectId PK
        String talentProfileId FK
        String auditionId FK
        String clientName
        String projectName
        Date startDateTime
        Date endDateTime
        String status
        Number rate
        String notes
        Date createdAt
        Date updatedAt
    }

    ScheduleEntry {
        String objectId PK
        String talentProfileId FK
        String bookingId FK
        String entryType
        Date startDateTime
        Date endDateTime
        String timezone
        String status
        String source
        Date createdAt
        Date updatedAt
    }

名单同步流程

签到、人才档案审核、试镜跟踪、预订创建和日程条目更新的典型运行流程。

查看图表源
Mermaid
sequenceDiagram
  participant User
  participant App as Talent Agency Manager App
  participant Back4app as Back4app Cloud

  User->>App: Sign in as manager or coordinator
  App->>Back4app: POST /login
  Back4app-->>App: Session token

  User->>App: Open talent roster
  App->>Back4app: GET /classes/TalentProfile?include=manager&order=-updatedAt
  Back4app-->>App: TalentProfile list with portfolioUrl and availabilityStatus

  User->>App: Review audition pipeline
  App->>Back4app: GET /classes/Audition?include=talentProfile&order=auditionDate
  Back4app-->>App: Audition rows with clientName and status

  User->>App: Confirm a booking
  App->>Back4app: POST /classes/Booking
  Back4app-->>App: Booking objectId and status

  App->>Back4app: Save ScheduleEntry for the confirmed slot
  Back4app-->>App: ScheduleEntry objectId

  App->>Back4app: Subscribe to live updates for Booking and ScheduleEntry
  Back4app-->>App: Real-time changes for booking shifts and calendar blocks

字段指南

人才代理管理模式中每个类的完整字段级参考。

字段类型描述必填
objectIdStringAuto-generated unique identifier自动
usernameStringUser login name
emailStringUser email address
passwordStringHashed password (write-only)
roleStringRole of the user (e.g., manager, coordinator)
createdAtDateAuto-generated creation timestamp自动
updatedAtDateAuto-generated last-update timestamp自动

7 字段在 User 中

访问控制

ACL 和 CLP 策略如何保护 TalentProfile、Audition、Booking 和 ScheduleEntry 记录。

资料控制

只有关联的管理人员或授权协调员应更新如 stageName、fullName 或 availabilityStatus 的 TalentProfile 字段。

试镜和预订完整性

使用 Cloud Code 检查,以确保 Audition 和 Booking 记录无法在批准工作流程之外被重新分配或编辑。

范围日程访问

将预订和日程条目的读取限制为协调团队和相关人才,以便时间窗口和源注释保持可控。

JSON Schema

原始 JSON 模式定义可以复制到 Back4app 或用作实现参考。

JSON
{
  "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": "TalentProfile",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "stageName": {
          "type": "String",
          "required": true
        },
        "fullName": {
          "type": "String",
          "required": true
        },
        "talentType": {
          "type": "String",
          "required": true
        },
        "portfolioUrl": {
          "type": "String",
          "required": false
        },
        "headshotUrl": {
          "type": "String",
          "required": false
        },
        "availabilityStatus": {
          "type": "String",
          "required": true
        },
        "manager": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "notes": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Audition",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "talentProfile": {
          "type": "Pointer",
          "required": true,
          "targetClass": "TalentProfile"
        },
        "clientName": {
          "type": "String",
          "required": true
        },
        "projectName": {
          "type": "String",
          "required": true
        },
        "auditionType": {
          "type": "String",
          "required": true
        },
        "auditionDate": {
          "type": "Date",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "location": {
          "type": "String",
          "required": false
        },
        "callbackNotes": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Booking",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "talentProfile": {
          "type": "Pointer",
          "required": true,
          "targetClass": "TalentProfile"
        },
        "audition": {
          "type": "Pointer",
          "required": false,
          "targetClass": "Audition"
        },
        "clientName": {
          "type": "String",
          "required": true
        },
        "projectName": {
          "type": "String",
          "required": true
        },
        "startDateTime": {
          "type": "Date",
          "required": true
        },
        "endDateTime": {
          "type": "Date",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "rate": {
          "type": "Number",
          "required": false
        },
        "notes": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "ScheduleEntry",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "talentProfile": {
          "type": "Pointer",
          "required": true,
          "targetClass": "TalentProfile"
        },
        "booking": {
          "type": "Pointer",
          "required": false,
          "targetClass": "Booking"
        },
        "entryType": {
          "type": "String",
          "required": true
        },
        "startDateTime": {
          "type": "Date",
          "required": true
        },
        "endDateTime": {
          "type": "Date",
          "required": true
        },
        "timezone": {
          "type": "String",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "source": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

与 AI 代理构建

使用 Back4app AI 代理从此模板生成一个真实的人才经纪管理应用,包括前端、后端、认证,以及人才档案、试镜、预订和日程条目流程。

Back4app AI 代理
准备构建
在 Back4app 上创建一个安全的人才代理经理后端,使用以下确切的架构和行为。

架构:
1. 用户(使用 Back4app 内置):用户名,电子邮件,密码,角色;objectId,createdAt,updatedAt(系统)。
2. 人才档案:艺名(字符串,必填),全名(字符串,必填),人才类型(字符串,必填),作品集链接(字符串,选填),头像链接(字符串,选填),可用状态(字符串,必填),经理(指向用户的指针,必填),备注(字符串,选填);objectId,createdAt,updatedAt(系统)。
3. 试镜:人才档案(指向人才档案的指针,必填),客户名称(字符串,必填),项目名称(字符串,必填),试镜类型(字符串,必填),试镜日期(日期,必填),状态(字符串,必填),地点(字符串,选填),回调备注(字符串,选填);objectId,createdAt,updatedAt(系统)。
4. 预订:人才档案(指向人才档案的指针,必填),试镜(指向试镜的指针,选填),客户名称(字符串,必填),项目名称(字符串,必填),开始日期时间(日期,必填),结束日期时间(日期,必填),状态(字符串,必填),费用(数字,选填),备注(字符串,选填);objectId,createdAt,updatedAt(系统)。
5. 日程条目:人才档案(指向人才档案的指针,必填),预订(指向预订的指针,选填),条目类型(字符串,必填),开始日期时间(日期,必填),结束日期时间(日期,必填),时区(字符串,必填),状态(字符串,必填),来源(字符串,选填);objectId,createdAt,updatedAt(系统)。

安全性:
- 经理和协调员应仅访问分配给其团队或通过其认证会话创建的人才档案、试镜、预订和日程条目。
- 保持作品集链接、头像链接、回调备注、备注和费用限制为认证员工可见。
- 保护日程变更,以便确认的预订更新匹配的日程条目。
- 对于经理和协调员工作流,使用CLPs、ACLs和基于角色的权限。

认证:
- 注册,登录,退出。

行为:
- 浏览人才档案,查看试镜状态,确认预订,并保持日程条目与每个预订一致。
- 在团队仪表板上显示作品集链接、头像、试镜日期和预订时间窗口。

交付:
- Back4app 应用程序,带有架构、安全规则,前端重点关注人才名册、试镜、预订和日程协调。

按下面的按钮,以打开带有此模板提示预填充的代理。

这是没有技术后缀的基础提示。您可以在之后调整生成的前端堆栈。

几分钟内部署每月 50 个免费提示无需信用卡

API 沙箱

尝试针对人才代理经理架构的 REST 和 GraphQL 端点。响应使用虚拟数据,不需要 Back4app 账户。

正在加载游乐场…

使用与此模板相同的架构。

选择技术

展开每个卡片以查看如何将TalentProfile、Audition和Booking与您选择的技术栈集成。

Flutter 人才代理经理后端

React 人才代理经理后端

React 原生 人才代理经理后端

Next.js 人才代理经理后端

JavaScript 人才代理经理后端

Android 人才代理经理后端

iOS 人才代理经理后端

Vue 人才代理经理后端

Angular 人才代理经理后端

GraphQL 人才代理经理后端

REST API 人才代理经理后端

PHP 人才代理经理后端

.NET 人才代理经理后端

每种技术所提供的内容

每个技术栈使用相同的人才代理管理后端架构和API合同。

统一的名册数据结构

使用一个一致的架构管理用户、TalentProfile、Audition、Booking和ScheduleEntry。

代理团队的个人资料审核

在链接的TalentProfile记录中保存stageName、headshotUrl、portfolioUrl、availabilityStatus和笔记。

Audition和Booking的可见性

从单一后端跟踪回调日期、预订状态和日程变更。

角色感知的代理机构操作

定义协调员对档案记录、预订更新和日程编辑的访问权限。

REST/GraphQL API 用于代理应用程序

将网络、移动和合作伙伴工具与灵活的 API 集成。

人才堆栈比较

比较所有支持技术的设置速度、SDK 风格和 AI 支持。

框架设置时间人才中介利益SDK 类型人工智能支持
大约5分钟用于移动和Web的人才中介操作的单一代码库。类型化的SDK完整
少于5分钟快速的Web仪表板用于个人资料和预订审核。类型化的SDK完整
~3–7分钟用于试镜和日程安排的跨平台移动应用。Typed SDK完整
快速(5分钟)设置用于名单和预订操作的服务器渲染网页应用。Typed SDK完整
~3–5分钟用于代理工具的轻量级网页集成。Typed SDK完整
大约5分钟针对人才协调员的原生Android应用程序。输入SDK完整
少于5分钟针对人才协调员的原生iOS应用程序。输入SDK完整
~3–7分钟用于机构操作的Reactive网页用户界面。输入SDK完整
快速(5分钟)设置面向机构工作流程的企业网络应用程序。输入SDK完整
少于 2 分钟用于 TalentProfile、Audition 和 Booking 数据的灵活 GraphQL API。GraphQL API完整
快速(2 分钟)设置用于人才代理操作的 REST API 集成。REST API完整
≈3 分钟服务器端 PHP 后端用于代理工具。REST API完整
~3–7分钟.NET 后台用于人才管理工作流。输入的SDK完整

设置时间反映了从项目启动到使用此模板架构的第一次TalentProfile、Audition或Booking查询的预期持续时间。

人才常见问题解答

关于使用此模板构建人才代理管理后端的常见问题。

在工作涉及敏感性和截止日期驱动时,一个健康的影视人才经纪人管理流程是什么样的?
对于具有不同资历的影视人才经纪人团队,基于角色的访问控制是什么样的?
在不减缓日常工作的情况下,添加影视人才经纪人报告字段的最佳方式是什么?
我如何使用 Flutter 查询人才资料?
我如何使用 Next.js Server Actions 管理影视人才经纪人预定?
React 本地缓存预订日程表可以脱机吗?
如何防止未授权的选拔编辑?
在 Android 上显示预订的最佳方式是什么?
投资组合到预订的工作流程是如何端到端工作的?

全球开发者信赖

与 Back4app 模板一起加入更快交付人才代理产品的团队

G2 Users Love Us Badge

准备好构建您的人才代理经理应用吗?

在几分钟内开始您的人才代理项目。无须信用卡。

选择技术