关键CRM要点
此模板为您提供了一个包含教练、客户档案、宏目标、锻炼日志、签到和消息线程记录的影响者健身CRM后端,以便您的教练团队可以在更少的手动交接中从接收转到跟进。
- 教练和客户档案记录保持链接 — 在每个客户档案上使用教练指针模型分配的教练,以便协调员可以看到每个客户的归属。
- 宏目标计划与客户时间线相匹配 — 存储每个客户档案目标更新的卡路里、蛋白质克数、碳水化合物克数、脂肪克数和有效日期。
- 锻炼日志和签到历史一起存在 — 在一个教练流程中跟踪训练分割、会话总结、锻炼次数、完成状态、体重(千克)、遵守评分和教练备注。
- 消息线程保持后续可见 — 使用主题、未读计数、置顶和最后消息时间来显示需要回复的签到回顾线程。
网红健身 CRM 后端一览
网红健身 CRM 中的截止日期很少是可选的;结构化的记录层将日期转变为提醒而不是惊喜。可靠性是一项特性,而不是脚注。 Back4app 为需要截止日期、文档和通讯的网红健身 CRM 实践锚定教练、客户资料、宏目标、锻炼记录和签到,所有功能都在一个有权限的工作空间内。架构涵盖教练(用户名、电子邮件、显示名称、角色、是否活跃)、客户资料(客户代码、全名、电子邮件、目标、状态、教练、开始日期)、宏目标(客户、卡路里、蛋白质克、碳水化合物克、脂肪克、生效日期、备注)、锻炼记录(客户、锻炼日期、训练分割、课程总结、锻炼次数、负荷、完成状态)、签到(客户、签到日期、体重公斤、腰围厘米、遵守分数、睡眠小时、能量水平、照片网址、教练备注)和消息线程(客户、教练、最后消息时间、未读计数、置顶、主题),并内置身份验证和隐私控制。连接您喜欢的前端,并更快速地交付。
最佳用途:
这个Influencer Fitness Crm后端是如何组织的
当系统消除了关于记录什么、在哪里找到它以及谁可以更改它的猜测时,人们在influencer fitness crm中能发挥出最佳表现。
将教练、客户档案和宏目标作为MVP范围的检查清单:如果没有建模,它将成为电子表格解决方案。
核心 CRM 模块
此中心中的每个技术卡片都使用相同的影响者健身CRM架构,包括教练、客户资料、宏目标、锻炼日志、签到和消息线程。
教练账户管理
教练存储用户名、电子邮件、显示名称、角色和是否活跃。
ClientProfile管理
ClientProfile存储clientCode、fullName、goal、status、coach和startDate。
MacroTarget计划
MacroTarget保持卡路里、蛋白质克、碳水化合物克、脂肪克、有效日期和备注。
锻炼日志会话
锻炼日志记录锻炼日期、训练分配、会话总结、锻炼次数、负荷量和完成状态。
签到评审
签到记录签到日期、体重公斤、腰围厘米、遵循评分、睡眠小时、能量水平、照片链接和教练笔记。
消息线程跟进
消息线程跟踪客户、教练、最后消息时间、未读计数、固定消息和主题。
为什么要使用Back4app构建您的Influencer Fitness CRM后端?
Back4app为您提供教练、客户档案、宏目标、训练日志、签到和消息线程基本单元,以便您的员工可以专注于教练决策,而不是基础设施工作。
- •教练和客户资料易于查询: 使用教练进行员工身份识别,使用客户资料进行客户分配;相同的模式支持 intake、状态更新和开始日期追踪。
- •宏目标和锻炼日志保持一致: 当教练需要比较营养目标与训练负荷时,可以同时获取客户的宏目标计划和锻炼日志会议。
- •签到和消息线程保持检查可见: 使用签到进行体重测量、遵守分数、睡眠小时和教练备注,而消息线程则显示未读数量和固定主题以供后续跟进。
快速构建和迭代客户辅导功能,跨所有平台使用一个后端合同。
核心CRM优势
一个教练后端,帮助您管理客户对话,而不失去重要的细节。
更快的客户入职
从完整的客户资料、教练指针和开始日期架构出发,而不是手动创建输入表。
营养和训练一览
保持宏目标和锻炼日志条目对齐,以便员工可以比较卡路里、蛋白质克数、训练分配和锻炼计数。
可审核的签到时间表
使用签到历史查看体重(千克)、腰围(厘米)、遵守评分、睡眠小时数、能量水平以及教练备注的信息。
为教练团队提供作用域访问
应用ACL/CLP规则,以便只有指定的教练和允许的角色可以读取或更新客户的ClientProfile、MacroTarget、WorkoutLog、CheckIn和MessageThread记录。
一个适用于网页和移动端的架构
将相同的教练、ClientProfile、MacroTarget、WorkoutLog、CheckIn和MessageThread数据提供给仪表板和面向客户的应用程序。
人工智能辅助设置
通过一个结构化的提示快速生成后端框架和集成指导。
技术栈
这个影响者健身CRM后台模板中包含的一切。
教练与客户的ER图
影响者健身CRM架构的实体关系模型。
涵盖教练账户、客户资料、宏目标、锻炼日志、签到和消息线程的架构。
查看图表源
erDiagram
Coach ||--o{ ClientProfile : "coach"
ClientProfile ||--o{ MacroTarget : "client"
ClientProfile ||--o{ WorkoutLog : "client"
ClientProfile ||--o{ CheckIn : "client"
Coach ||--o{ MessageThread : "coach"
ClientProfile ||--o{ MessageThread : "client"
Coach {
String objectId PK
String username
String email
String password
String displayName
String role
Boolean isActive
Date createdAt
Date updatedAt
}
ClientProfile {
String objectId PK
String clientCode
String fullName
String email
String goal
String status
String coachId FK
Date startDate
Date createdAt
Date updatedAt
}
MacroTarget {
String objectId PK
String clientId FK
Number calories
Number proteinGrams
Number carbGrams
Number fatGrams
Date effectiveFrom
String notes
Date createdAt
Date updatedAt
}
WorkoutLog {
String objectId PK
String clientId FK
Date workoutDate
String trainingSplit
String sessionSummary
Number exerciseCount
Number volumeLoad
String completionStatus
Date createdAt
Date updatedAt
}
CheckIn {
String objectId PK
String clientId FK
Date checkInDate
Number weightKg
Number waistCm
Number adherenceScore
Number sleepHours
String energyLevel
String photosUrl
String coachNotes
Date createdAt
Date updatedAt
}
MessageThread {
String objectId PK
String clientId FK
String coachId FK
Date lastMessageAt
Number unreadCount
Boolean pinned
String topic
Date createdAt
Date updatedAt
}
教练CRM集成流程
教练登录、客户加载、宏目标更新、锻炼记录、签到审查和线程后续的典型运行流程。
查看图表源
sequenceDiagram
participant Coach
participant CRM as Fitness Influencer Client CRM App
participant Back4app as Back4app Cloud
Coach->>CRM: Sign in
CRM->>Back4app: POST /login
Back4app-->>CRM: Session token
Coach->>CRM: Open client pipeline
CRM->>Back4app: GET /classes/ClientProfile?include=coach
Back4app-->>CRM: ClientProfile rows
Coach->>CRM: Review macro target and update it
CRM->>Back4app: GET /classes/MacroTarget?include=client
CRM->>Back4app: POST /classes/MacroTarget
Back4app-->>CRM: MacroTarget objectId
Coach->>CRM: Check workout logs and latest check-in
CRM->>Back4app: GET /classes/WorkoutLog?include=client
CRM->>Back4app: GET /classes/CheckIn?include=client
Back4app-->>CRM: WorkoutLog and CheckIn entries
CRM->>Back4app: GET /classes/MessageThread?include=client,coach
Back4app-->>CRM: Thread list with unreadCount字段指南
影响者健身 CRM 架构中每个类的完整字段级参考。
| 字段 | 类型 | 描述 | 必填 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自动 |
| username | String | Coach login name | |
| String | Coach email address | ||
| password | String | Hashed password (write-only) | |
| displayName | String | Public name shown to clients | |
| role | String | Staff role such as coach or coordinator | |
| isActive | Boolean | Whether the coach account can sign in | |
| createdAt | Date | Auto-generated creation timestamp | 自动 |
| updatedAt | Date | Auto-generated last-update timestamp | 自动 |
9 字段在 Coach 中
教练访问和权限
如何通过 ACL 和 CLP 策略保护客户档案、宏目标、锻炼日志、签到历史和消息线程。
指定教练访问
只有指定的教练或允许的工作人员可以读取该客户的 ClientProfile、MacroTarget、WorkoutLog、CheckIn 或 MessageThread。
客户隐私边界
将 weightKg、waistCm、adherenceScore、sleepHours、photosUrl 和 coachNotes 视为限定的教练数据;在 Cloud Code 中验证写入。
可审查的写入路径
允许经过身份验证的工作人员创建日志,但在更新 CheckIn、MacroTarget 或 MessageThread 记录之前需要服务器端检查。
JSON 模式
原始 JSON 模式定义,准备复制到 Back4app 或用作实现参考。
{
"classes": [
{
"className": "Coach",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"username": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": true
},
"password": {
"type": "String",
"required": true
},
"displayName": {
"type": "String",
"required": true
},
"role": {
"type": "String",
"required": true
},
"isActive": {
"type": "Boolean",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "ClientProfile",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"clientCode": {
"type": "String",
"required": true
},
"fullName": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": true
},
"goal": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"coach": {
"type": "Pointer",
"required": true,
"targetClass": "Coach"
},
"startDate": {
"type": "Date",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "MacroTarget",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"client": {
"type": "Pointer",
"required": true,
"targetClass": "ClientProfile"
},
"calories": {
"type": "Number",
"required": true
},
"proteinGrams": {
"type": "Number",
"required": true
},
"carbGrams": {
"type": "Number",
"required": true
},
"fatGrams": {
"type": "Number",
"required": true
},
"effectiveFrom": {
"type": "Date",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "WorkoutLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"client": {
"type": "Pointer",
"required": true,
"targetClass": "ClientProfile"
},
"workoutDate": {
"type": "Date",
"required": true
},
"trainingSplit": {
"type": "String",
"required": true
},
"sessionSummary": {
"type": "String",
"required": true
},
"exerciseCount": {
"type": "Number",
"required": true
},
"volumeLoad": {
"type": "Number",
"required": false
},
"completionStatus": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "CheckIn",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"client": {
"type": "Pointer",
"required": true,
"targetClass": "ClientProfile"
},
"checkInDate": {
"type": "Date",
"required": true
},
"weightKg": {
"type": "Number",
"required": false
},
"waistCm": {
"type": "Number",
"required": false
},
"adherenceScore": {
"type": "Number",
"required": true
},
"sleepHours": {
"type": "Number",
"required": false
},
"energyLevel": {
"type": "String",
"required": true
},
"photosUrl": {
"type": "String",
"required": false
},
"coachNotes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "MessageThread",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"client": {
"type": "Pointer",
"required": true,
"targetClass": "ClientProfile"
},
"coach": {
"type": "Pointer",
"required": true,
"targetClass": "Coach"
},
"lastMessageAt": {
"type": "Date",
"required": true
},
"unreadCount": {
"type": "Number",
"required": true
},
"pinned": {
"type": "Boolean",
"required": true
},
"topic": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}使用人工智能代理构建
使用 Back4app 人工智能代理从此模板生成一个真实的影响者健身 CRM 应用,包括前端、后端、身份验证以及教练、客户、宏目标、锻炼、签到和消息线程流程。
在 Back4app 上创建一个安全的影响者健身 CRM 后端,采用这个确切的架构和行为。 架构: 1. 教练:用户名、邮箱、密码、显示名、角色、是否激活;objectId、创建时间、更新时间(系统)。 2. 客户档案:客户代码、全名、邮箱、目标、状态、教练(指向教练,必填)、开始日期;objectId、创建时间、更新时间(系统)。 3. 宏目标:客户(指向客户档案,必填)、卡路里、蛋白质克数、碳水化合物克数、脂肪克数、有效期、备注;objectId、创建时间、更新时间(系统)。 4. 锻炼日志:客户(指向客户档案,必填)、锻炼日期、训练分配、会话总结、锻炼次数、负载量、完成状态;objectId、创建时间、更新时间(系统)。 5. 签到:客户(指向客户档案,必填)、签到日期、体重公斤、腰围厘米、遵守评分、睡眠小时、能量水平、照片网址、教练备注;objectId、创建时间、更新时间(系统)。 6. 消息线程:客户(指向客户档案,必填)、教练(指向教练,必填)、最后消息时间、未读数量、置顶、主题;objectId、创建时间、更新时间(系统)。 安全性: - 只有分配的教练可以读取/写入客户记录。使用云代码进行验证。 认证: - 注册、登录、注销。 行为: - 列出客户档案、添加宏目标、记录锻炼会话、捕捉每周签到,并保持教练线程最新。 交付: - 带有架构、ACL、CLP 的 Back4app 应用;客户档案、宏目标、锻炼日志、签到和消息线程的前端。
按下面的按钮以打开预填充此模板提示的代理。
这是没有技术后缀的基础提示。您可以在之后调整生成的前端栈。
API沙盒
尝试REST和GraphQL端点与Influencer Fitness CRM架构。响应使用模拟数据,无需Back4app账户。
与此模板使用相同的架构。
选择您的技术栈
展开每张卡片以查看如何将 Coach、ClientProfile 和 MacroTarget 与您选择的技术栈集成。
Flutter 影响者健身 CRM 后端
React 影响者健身 CRM 后端
React 原生 影响者健身 CRM 后端
Next.js 影响者健身 CRM 后端
JavaScript 影响者健身 CRM 后端
Android 影响者健身 CRM 后端
iOS 影响者健身 CRM 后端
Vue 影响者健身 CRM 后端
Angular 影响者健身 CRM 后端
GraphQL 影响者健身 CRM 后端
REST API 影响者健身 CRM 后端
PHP 影响者健身 CRM 后端
.NET 影响者健身 CRM 后端
您所获得的每项技术
每个堆栈使用相同的影响者健身客户关系管理架构和API合同。
统一的教练数据结构
用一个一致的架构管理教练、客户资料、宏目标、锻炼日志、签到和消息线程条目。
针对客户的宏目标规划
存储每个客户计划的卡路里、蛋白质克、碳水化合物克、脂肪克和生效日期。
锻炼日志记录训练课程
捕获锻炼日期、训练分配、锻炼次数、训练负荷和课程总结以供教练审核。
签到历史以便后续跟进
保持签到日期、体重千克、遵守评分和教练笔记对教练的决策可见。
REST/GraphQL APIs用于教练应用
集成仪表盘、移动客户端和自动化,通过灵活的API。
健身 CRM 堆栈比较
比较所有支持的技术的设置速度、SDK 风格和 AI 支持。
| 框架 | 设置时间 | 健身 CRM 优势 | SDK 类型 | AI 支持 |
|---|---|---|---|---|
| 大约 5 分钟 | 移动和网页的教练仪表板单一代码库。 | 类型化 SDK | 完整 | |
| 少于 5 分钟 | 教练团队的快速网页仪表板。 | 类型安全的 SDK | 完整 | |
| 大约 3-7 分钟 | 面向客户教练的跨平台移动应用。 | 类型安全的 SDK | 完整 | |
| 快速(5 分钟)设置 | 用于教练工作流程的服务器渲染网页应用。 | 类型安全的 SDK | 完整 | |
| 约 3–5 分钟 | 为 CRM 工作流程提供轻量级网络集成。 | 类型化 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 后端用于 CRM 工作流。 | REST API | 完整 | |
| ~3–7分钟 | .NET 后端用于教练操作。 | 类型化 SDK | 完整 |
设置时间反映了从项目引导到使用此模板架构的第一个 ClientProfile 或 MacroTarget 查询的预期持续时间。
问题与回答
关于使用此模板构建网红健身CRM后端的常见问题。