舞台服装
使用 AI 代理构建
舞台服装后台

舞台服装管理员后台模板
快速更换日志、修改和洗衣状态

一个生产就绪的 舞台服装管理员后台 在 Back4app 上,具有快速更换日志、修改跟踪和洗衣状态可见性。包括 ER 图、数据字典、JSON 模式、API 游乐场,以及一个 AI 代理 提示,以便于快速设置。

衣橱运营的关键要点

此模板为您提供一个舞台服装后台,包含快速换装日志、修改和洗衣状态,以便协调人员可以在更衣室、试衣台和洗衣筐之间保持服装的流动。

  1. 快速换装可见性通过快速换装日志条目跟踪每个 CostumePiece,包括表演者、场景和时间戳详细信息。
  2. 修改控制记录 AlterationRequest 的需求、截止日期和审批状态,针对正确的服装项目。
  3. 洗衣状态一目了然使用 LaundryTicket 状态字段查看哪些是干净的、在洗涤中、干燥中或准备返回架子的。
  4. 演员责任分配 StaffUser 角色,以便服装经理、化妆师和改衣工作人员执行正确的任务。
  5. 跨平台舞台工作流程通过一个 REST 和 GraphQL API 为服装日志、改衣和洗衣更新服务移动和 Web 客户端。

舞台服装经理后台一览

没有严格的舞台服装数据模型,“可用”就变成了猜测——当合同依赖于准确性时,猜测是很昂贵的。可靠性是一项特性,而不是脚注。使用在 Back4app 上清晰建模的 StaffUser、CostumePiece、QuickChangeLog、AlterationRequest 和 LaundryTicket,舞台服装相关方可以获得一致的报告,而无需导出五个不同的电子表格。该模式涵盖了 StaffUser(displayName、email、role)、CostumePiece(label、production、currentStatus)、QuickChangeLog(costumePiece、performer、scene、changeTime)、AlterationRequest(costumePiece、requestedBy、notes、dueDate、approvalStatus)和 LaundryTicket(costumePiece、cycle、location、laundryStatus),并内置了身份验证和工作流控制。连接您首选的前端并更快上线。

最佳适用于:

舞台制作衣橱部门服装彩排操作服装改动追踪洗衣房协调团队选择 BaaS 进行直播工作流程

舞台服装后端概述

舞台服装的操作员通常在交接时最先感到痛苦:一个团队更新一张表,另一个团队相信一个聊天线程,而两者都与客户所得到的消息不符。

首先查看 StaffUser、CostumePiece 和 QuickChangeLog,然后打开一个堆栈卡以查看特定于 SDK 的注意事项和集成模式。

核心舞台服装功能

该中心中的每张技术卡都使用相同的舞台服装架构,包括StaffUser、CostumePiece、QuickChangeLog、AlterationRequest和LaundryTicket。

StaffUser 角色和访问权限

StaffUser 存储显示名称、电子邮件和角色,以供服装管理员、造型师和修改人员使用。

服装片目录

CostumePiece 在一个地方保存标签、制作、当前状态和存储详细信息。

快速更改日志条目

快速更改日志记录服装组件、表演者、场景和更改时间。

更改请求工作流程

更改请求存储请求人、备注、截止日期和审批状态。

洗衣票状态跟踪

洗衣票跟踪服装组件、周期、位置和洗衣状态。

为什么要使用Back4app构建您的舞台服装管理后台?

Back4app为您提供服装、变更日志和洗涤基本功能,让您的团队可以专注于演出,而不是后台维护。

  • 服装和变更跟踪: CostumePiece记录和QuickChangeLog条目将每个场景的变化与正确的表演者和时间关联起来。
  • 修改请求控制: AlterationRequest字段中的dueDate和approvalStatus让服装负责人可以在不失去上下文的情况下排队进行修改。
  • 洗涤状态更新: LaundryTicket状态如洗涤中、干燥和准备好使得在下一个提示之前轻松整理衣架。

从一个后台合同运行服装操作,无论是在移动设备、平板电脑还是网络上。

服装团队的核心优势

一个舞台服装后端,帮助您在排练和演出期间保持步伐。

更快的演出通知决策

QuickChangeLog和CostumePiece记录为服装负责人提供了一个干净的变更历史,包括变更的内容、时间和对象。

修改队列清晰度

使用AlterationRequest字段,如dueDate和approvalStatus,优先安排下一个演出的搭配。

洗衣房协调

LaundryTicket状态值使得轻松识别仍在洗涤或准备返回服装的物品。

受控的团队访问

对StaffUser应用角色检查,以便经理、化妆师和裁缝只能看到他们需要的任务。

一致的服装数据

一次存储每个CostumePiece,并在日志、请求和洗衣票中重用其指针,而无需重复详细信息。

人工智能辅助启动

通过一个结构化提示快速生成后台脚手架和集成指导。

准备好从一个后台运行服装操作了吗?

让Back4app AI代理搭建您的舞台服装后台,并从一个提示中生成快速换装、修改和洗衣流程。

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

技术栈

此阶段衣柜后端模板中的所有内容。

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

衣橱ER图

阶段衣柜后端架构的实体关系模型。

查看图表源
Mermaid
erDiagram
    User ||--o{ WardrobeMember : "assignedManager"
    User ||--o{ ChangeLog : "recordedBy"
    User ||--o{ AlterationRequest : "assignedTo"
    User ||--o{ LaundryBatch : "checkedOutBy"
    User ||--o{ StatusNote : "author"
    WardrobeMember ||--o{ ChangeLog : "member"
    WardrobeMember ||--o{ AlterationRequest : "member"
    WardrobeMember ||--o{ LaundryBatch : "member"
    WardrobeMember ||--o{ StatusNote : "member"

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

    WardrobeMember {
        String objectId PK
        String displayName
        String department
        String costumeSize
        String assignedManagerId FK
        Date createdAt
        Date updatedAt
    }

    ChangeLog {
        String objectId PK
        String memberId FK
        String changeType
        Date callTime
        String notes
        String recordedById FK
        Date createdAt
        Date updatedAt
    }

    AlterationRequest {
        String objectId PK
        String memberId FK
        String garmentCode
        String requestType
        String priority
        String status
        String assignedToId FK
        Date dueAt
        Date createdAt
        Date updatedAt
    }

    LaundryBatch {
        String objectId PK
        String batchCode
        String memberId FK
        String laundryStatus
        Number itemCount
        String location
        String checkedOutById FK
        Date createdAt
        Date updatedAt
    }

    StatusNote {
        String objectId PK
        String memberId FK
        String sourceType
        String statusText
        Boolean isResolved
        String authorId FK
        Date createdAt
        Date updatedAt
    }

衣柜集成流程

认证、快速换装日志、修改请求和洗衣状态更新的典型运行流程。

查看图表源
Mermaid
sequenceDiagram
  participant User
  participant App as Stage Wardrobe Manager App
  participant Back4app as Back4app Cloud

  User->>App: Sign in to the wardrobe desk
  App->>Back4app: POST /login
  Back4app-->>App: Session token

  User->>App: Open today's quick-change logs
  App->>Back4app: GET /classes/ChangeLog?include=member,recordedBy&order=-callTime
  Back4app-->>App: ChangeLog rows with WardrobeMember details

  User->>App: Create an alteration request
  App->>Back4app: POST /classes/AlterationRequest
  Back4app-->>App: AlterationRequest objectId

  User->>App: Update laundry status for a batch
  App->>Back4app: PUT /classes/LaundryBatch/{objectId}
  Back4app-->>App: LaundryBatch laundryStatus saved

  App->>Back4app: Subscribe to StatusNote updates
  Back4app-->>App: Live status note events

衣柜数据字典

舞台衣柜 schema 中每个类的完整字段级参考。

字段类型描述必填
objectIdStringAuto-generated unique identifier自动
usernameStringLogin name for managers and staff
emailStringEmail address used for access and alerts
passwordStringHashed password, stored write-only
roleStringUser role such as manager, wardrobe, or laundry
createdAtDateAuto-generated creation timestamp自动
updatedAtDateAuto-generated last-update timestamp自动

7 字段在 User

安全性和权限

ACL 和 CLP 策略如何保护员工账户、服装记录、快速更换日志、修改请求和洗衣票。

员工角色边界

仅授权的StaffUser角色可以创建或编辑QuickChangeLog、AlterationRequest和LaundryTicket条目。

服装记录所有权

使用Cloud Code验证CostumePiece更新是否来自正确的服装团队,然后再保存状态更改。

展示数据的范围访问

限制读取权限,以便工作人员只能看到与他们的工作表相关的制作、场景和洗衣物品。

服装架构(JSON)

准备将原始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": "WardrobeMember",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "displayName": {
          "type": "String",
          "required": true
        },
        "department": {
          "type": "String",
          "required": true
        },
        "costumeSize": {
          "type": "String",
          "required": false
        },
        "assignedManager": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "ChangeLog",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "member": {
          "type": "Pointer",
          "required": true,
          "targetClass": "WardrobeMember"
        },
        "changeType": {
          "type": "String",
          "required": true
        },
        "callTime": {
          "type": "Date",
          "required": true
        },
        "notes": {
          "type": "String",
          "required": false
        },
        "recordedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "AlterationRequest",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "member": {
          "type": "Pointer",
          "required": true,
          "targetClass": "WardrobeMember"
        },
        "garmentCode": {
          "type": "String",
          "required": true
        },
        "requestType": {
          "type": "String",
          "required": true
        },
        "priority": {
          "type": "String",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "assignedTo": {
          "type": "Pointer",
          "required": false,
          "targetClass": "User"
        },
        "dueAt": {
          "type": "Date",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "LaundryBatch",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "batchCode": {
          "type": "String",
          "required": true
        },
        "member": {
          "type": "Pointer",
          "required": true,
          "targetClass": "WardrobeMember"
        },
        "laundryStatus": {
          "type": "String",
          "required": true
        },
        "itemCount": {
          "type": "Number",
          "required": true
        },
        "location": {
          "type": "String",
          "required": false
        },
        "checkedOutBy": {
          "type": "Pointer",
          "required": false,
          "targetClass": "User"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "StatusNote",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "member": {
          "type": "Pointer",
          "required": true,
          "targetClass": "WardrobeMember"
        },
        "sourceType": {
          "type": "String",
          "required": true
        },
        "statusText": {
          "type": "String",
          "required": true
        },
        "isResolved": {
          "type": "Boolean",
          "required": true
        },
        "author": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

与AI代理一起构建

使用 Back4app AI 代理从此模板生成真实的舞台服装应用,包括前端、后端、认证、快速更换、修改和洗衣流程。

Back4app AI 代理
准备构建
在 Back4app 上创建一个舞台服装管理应用后端,使用此确切的架构和行为。

架构:
1. StaffUser(使用 Back4app 内置):用户名、电子邮件、密码;objectId,createdAt,updatedAt(系统)。
2. CostumePiece:标签(字符串,必填)、制作(字符串,必填)、当前状态(字符串,必填)、架子位置(字符串)、备注(字符串);objectId,createdAt,updatedAt(系统)。
3. QuickChangeLog:costumePiece(指向 CostumePiece 的指针,必填)、表演者(字符串,必填)、场景(字符串,必填)、更换时间(日期,必填)、更换备注(字符串);objectId,createdAt,updatedAt(系统)。
4. AlterationRequest:costumePiece(指向 CostumePiece 的指针,必填)、请求者(指向 StaffUser 的指针,必填)、备注(字符串,必填)、截止日期(日期,必填)、审批状态(字符串,必填)、优先级(字符串);objectId,createdAt,updatedAt(系统)。
5. LaundryTicket:costumePiece(指向 CostumePiece 的指针,必填)、周期(字符串,必填)、位置(字符串,必填)、洗衣状态(字符串,必填)、开始时间(日期)、完成时间(日期);objectId,createdAt,updatedAt(系统)。

安全性:
- 只有授权的工作人员角色可以创建或编辑服装工作流条目。使用云代码验证服装更新和批准变更请求。

认证:
- 注册、登录、登出。

行为:
- 列出服装件,创建快速更换日志,提交变更请求,更新洗衣状态。

交付:
- 带有架构、ACL、CLP 的 Back4app 应用;用于服装件、快速更换日志、变更请求和洗衣单的前端。

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

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

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

衣橱 API 游乐场

尝试针对舞台衣橱模式的 REST 和 GraphQL 端点。响应使用模拟数据,不需要 Back4app 账户。

加载演示环境…

使用与此模板相同的模式。

选择你的技术

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

Flutter阶段服装后端

React阶段服装后端

React 本地版阶段服装后端

Next.js阶段服装后端

JavaScript阶段服装后端

Android阶段服装后端

iOS阶段服装后端

Vue阶段服装后端

Angular阶段服装后端

GraphQL阶段服装后端

REST API阶段服装后端

PHP阶段服装后端

.NET阶段服装后端

每种技术提供的内容

每个栈使用相同的舞台衣橱后端模式和 API 合同。

统一的舞台衣橱数据结构

管理员工、服装道具、快速更换日志、修改请求和洗衣票据,使用一个架构。

现场表演的快速换装追踪

记录场景变化、表演者和换装时间,而不丢失服装轨迹。

修改和洗衣可见性

保持合身请求和洗涤周期状态在正确的时间向合适的工作人员可见。

角色感知的服装访问

为经理、化妆师和修改工作人员定义访问级别。

舞台服装框架比较

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

框架设置时间服装福利SDK类型AI支持
大约5分钟移动和网页舞台服装的单一代码库。类型化SDK完整
不到5分钟快速的网页仪表板,用于服装日志和洗衣状态。类型化SDK完整
~3–7分钟跨平台移动应用程序,面向后台服装工作人员。类型化SDK完整
快速(5分钟)设置服务器渲染的网页应用程序,用于服装协调。类型化SDK完整
~3–5分钟为服装和洗衣工作流程提供轻量级的网络集成。已输入的SDK完整
大约5分钟Android的原生应用程序,适用于舞台服装运行人员。已输入的SDK完整
少于5分钟iOS的原生应用程序,适用于化妆间员工。已输入的SDK完整
~3–7分钟React用于服装和修改跟踪的网页UI。输入式SDK完整
快速(5分钟)设置面向服装部的企业网页应用。输入式SDK完整
不到2分钟灵活的GraphQL API用于服装和洗衣查询。GraphQL API完整
快速(2分钟)设置REST API 集成后台衣橱工具。REST API完整
~3分钟服务器端 PHP 后端用于衣橱请求。REST API完整
~3–7分钟.NET 后端用于舞台衣橱系统。类型化 SDK完整

设置时间反映了从项目引导到首次使用此模板架构的CostumePiece或QuickChangeLog查询的预期持续时间。

常见问题

关于使用此模板构建后台舞台服装管理器的常见问题。

服装团队应该如何建模物品的状态、保管和位置,而又不创建重复记录?
哪些舞台服装事件需要不可修改的日志与可编辑的档案?
这个模型在舞台服装集成方面是否足够灵活,例如扫描仪或 ERP 源?
我如何在 Flutter 中查询服装组件?
我如何在 Next.js 中管理服装状态?
React Native 可以离线缓存洗衣票吗?
我如何防止未经授权的变更批准?
在 Android 上显示服装状态的最佳方法是什么?
快速换装工作流程是如何从头到尾工作的?
在演出周期间,如何使用LaundryTicket状态?

受到全球开发者的信任

加入团队,使用 Back4app 模板更快地推出舞台衣橱产品

G2 Users Love Us Badge

准备好建立您的舞台衣橱管理器了吗?

在几分钟内启动您的舞台服装项目。无需信用卡。

选择技术