您将获得的内容
该模板为您提供一个辅导市场后端,包含TutorProfile、SubjectOffer、LessonRequest、Booking、BackgroundCheck和Review,以便学生、辅导员和运营商能够更快地协调配对。
- TutorProfile 搜索 — 建模 TutorProfile 和 SubjectOffer 记录,以便学习者可以按 featuredSubject、level、mode 和 hourlyRate 进行筛选。
- BackgroundCheck 可见性 — 公开 BackgroundCheck 状态、checkVendor 和 referenceCode,以便运营商可以在无需手动查找的情况下展示经过验证的辅导员。
- 学生反馈信号 — 存储包含评分、评论和推荐的 Review 条目,以帮助学生使用真实课程反馈来比较辅导员。
- 预订操作 — 协调 LessonRequest 和 Booking 数据以匹配学生、课程提供和安排的课程时间。
导师市场后台概览
客户在速度和确定性上选择导师市场——这意味着报价、保留和确认需要反映实时状态。费用在回调和信用中显示。此模板建模了 Back4app 上的 TutorProfile、SubjectOffer、LessonRequest、BackgroundCheck 和 Booking,因此您可以在不从头重建预订逻辑的情况下启动一个实用的导师市场平台。该架构涵盖了用户(用户名、电子邮件、角色、全名)、TutorProfile(用户、标题、简介、每小时费率、在线授课、是否认证、平均评分、评论数、特色科目)、SubjectOffer(导师资料、科目名称、等级、模式、基础费率、可用性备注、活动)、LessonRequest(学生、课程提供、主题、优选日期时间、持续分钟数、状态、预算)、BackgroundCheck(导师资料、检查供应商、状态、参考代码、完成时间、备注)、Booking(学生、导师资料、课程请求、安排时间、持续分钟数、状态、会议链接)和 Review(学生、导师资料、预订、评分、评论、是否推荐),同时内置认证和市场工作流。连接您首选的前端并更快交付。
最佳适用:
这个辅导市场后端是如何组织的
从第一次入学到最终签署,辅导市场的成功依赖于每个人都基于相同的事实工作——而不是房间里最响亮的更新。
中心保持 TutorProfile、SubjectOffer 和 LessonRequest 的语言一致,因此产品、运营和工程在说“记录”时意味着相同的事情。
导师市场功能
此中心中的每个技术卡片都使用相同的辅导员市场后端架构,包括用户、辅导员档案、科目提供、课程请求、预订、背景审查和评论。
导师档案管理
导师档案存储标题,简介,时薪,特色科目和验证状态。
科目优惠搜索
科目优惠链接导师档案,科目名称,级别,模式和基础费率。
背景调查状态跟踪
背景调查捕捉导师档案,状态,检查供应商和完成时间。
课程请求 intake
课程请求存储学生、科目提供、主题、首选日期时间、持续时间(分钟)、状态和预算。
预订和评论工作流程
预订和评论保持安排好的课程和学生反馈相连。
为什么要用 Back4app 构建你的辅导市场后端?
Back4app 为你提供辅导、产品、预订、评价和筛选的基本元素,以便你的团队可以专注于将学习者与经过验证的专业知识匹配,而不是连接基础设施。
- •将 TutorProfile 和 SubjectOffer 合并为一个模型: 在 SubjectOffer 中存储 subjectName、level、mode 和 baseRate,同时保持 TutorProfile 记录与每个导师相关联。
- •您可以检查的验证: 跟踪 BackgroundCheck 状态和 referenceCode,以便运营商可以显示已验证的导师,而无需追踪电子表格。
- •实时发现和预订更新: 使用 Live Queries 进行预订和评论更改,同时 REST 和 GraphQL 仍可供每个客户端使用。
构建导师市场后端一次,然后在网页、移动端和运营工具中重用相同的合同。
辅导市场的好处
一个辅导市场后端,帮助您以更清晰的匹配信号和更少的模式更改启动。
更快的导师匹配
从 TutorProfile、SubjectOffer 和 LessonRequest 开始,而不是从零设计市场流程。
买家可见的验证
使用 BackgroundCheck 状态显示在预定确认之前谁通过了筛选。
基于评论的发现
显示评论评级和评论数据,让学生反馈影响导师的可见性。
更清晰的预订记录
将预订记录与 LessonRequest、TutorProfile 和 scheduledAt 课程时间关联,以便操作员审核记录。
主题级市场数据
在 SubjectOffer 中存储 subjectName、level、mode 和 baseRate,以确保搜索和排序的准确性。
AI 引导工作流程
通过一个结构化提示快速生成后端脚手架和集成指导。
准备好推出您的辅导市场应用了吗?
让 Back4app AI 代理搭建您的辅导市场后端,并从一个提示生成 TutorProfile、SubjectOffer、LessonRequest、Booking、BackgroundCheck 和 Review 流程。
免费开始 - 每月 50 个 AI 代理提示,无需信用卡
导师市场技术栈
此导师市场后端模板中包含所有内容。
辅导市场实体关系模型
辅导市场后端架构的实体关系模型。
涵盖用户、导师档案、科目提供、课程请求、预订、背景检查和评论的架构。
查看图表来源
erDiagram
User ||--o{ TutorProfile : "owns"
User ||--o{ LessonRequest : "creates"
User ||--o{ Review : "writes"
User ||--o{ Booking : "books"
TutorProfile ||--o{ SubjectOffer : "offers"
TutorProfile ||--o{ BackgroundCheck : "has"
TutorProfile ||--o{ Review : "receives"
TutorProfile ||--o{ Booking : "fulfills"
SubjectOffer ||--o{ LessonRequest : "selected in"
SubjectOffer ||--o{ Booking : "used for"
LessonRequest ||--o{ Booking : "converts to"
Booking ||--o{ Review : "leads to"
User {
String objectId PK
String username
String email
String password
String role
String fullName
Date createdAt
Date updatedAt
}
TutorProfile {
String objectId PK
String userId FK
String headline
String bio
Number hourlyRate
Boolean teachesOnline
Boolean isVerified
Number averageRating
Number reviewCount
String featuredSubject
Date createdAt
Date updatedAt
}
SubjectOffer {
String objectId PK
String tutorProfileId FK
String subjectName
String level
String mode
Number baseRate
String availabilityNotes
Boolean active
Date createdAt
Date updatedAt
}
LessonRequest {
String objectId PK
String studentId FK
String subjectOfferId FK
String topic
Date preferredDateTime
Number durationMinutes
String status
Number budget
Date createdAt
Date updatedAt
}
Review {
String objectId PK
String studentId FK
String tutorProfileId FK
String bookingId FK
Number rating
String comment
Boolean wouldRecommend
Date createdAt
Date updatedAt
}
BackgroundCheck {
String objectId PK
String tutorProfileId FK
String checkVendor
String status
String referenceCode
Date completedAt
String notes
Date createdAt
Date updatedAt
}
Booking {
String objectId PK
String studentId FK
String tutorProfileId FK
String lessonRequestId FK
Date scheduledAt
Number durationMinutes
String status
String meetingLink
Date createdAt
Date updatedAt
}
导师市场流程
进行身份验证、科目提供发现、课程请求接收、预订创建和评论捕获的典型运行时流程。
查看图表来源
sequenceDiagram
participant Student
participant TutorMarketApp as Specialized Tutor Market App
participant Back4app as Back4app Cloud
Student->>TutorMarketApp: Sign in with username and password
TutorMarketApp->>Back4app: POST /login
Back4app-->>TutorMarketApp: Session token
Student->>TutorMarketApp: Browse SubjectOffer listings
TutorMarketApp->>Back4app: GET /classes/SubjectOffer?include=tutorProfile
Back4app-->>TutorMarketApp: SubjectOffer rows with tutorProfile data
Student->>TutorMarketApp: Open a TutorProfile and read Review scores
TutorMarketApp->>Back4app: GET /classes/Review?where={"tutorProfile":...}
Back4app-->>TutorMarketApp: Review list and averageRating fields
Student->>TutorMarketApp: Submit a LessonRequest
TutorMarketApp->>Back4app: POST /classes/LessonRequest
Back4app-->>TutorMarketApp: LessonRequest objectId
TutorMarketApp->>Back4app: POST /classes/Booking
Back4app-->>TutorMarketApp: Booking confirmation with scheduledAt
TutorMarketApp->>Back4app: Live query on Booking and BackgroundCheck status
Back4app-->>TutorMarketApp: Updated booking and check status导师数据字典
导师市场架构中每个类的完整字段级参考。
| 字段 | 类型 | 描述 | 必需 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自动 |
| username | String | Account name used to sign in | |
| String | Email address for account access | ||
| password | String | Hashed password (write-only) | |
| role | String | Marketplace role such as buyer, tutor, or operator | |
| fullName | String | Display name shown on profiles and reviews | |
| createdAt | Date | Auto-generated creation timestamp | 自动 |
| updatedAt | Date | Auto-generated last-update timestamp | 自动 |
8 字段在 User 中
导师安全和权限
如何通过 ACL 和 CLP 策略保护导师档案、背景检查、预订和评论。
导师拥有的档案控制
只有与 TutorProfile.user 关联的导师可以编辑他们的 TutorProfile 和 SubjectOffer 记录。
验证完整性
BackgroundCheck 记录应由操作员工作流程或可信的 Cloud Code 创建或更新。
范围市场访问
将 LessonRequest、Booking 和 Review 的读取限制为需要它们的学生、导师和操作员角色。
导师模式 (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
},
"fullName": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "TutorProfile",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"user": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"headline": {
"type": "String",
"required": true
},
"bio": {
"type": "String",
"required": true
},
"hourlyRate": {
"type": "Number",
"required": true
},
"teachesOnline": {
"type": "Boolean",
"required": true
},
"isVerified": {
"type": "Boolean",
"required": true
},
"averageRating": {
"type": "Number",
"required": true
},
"reviewCount": {
"type": "Number",
"required": true
},
"featuredSubject": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "SubjectOffer",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"tutorProfile": {
"type": "Pointer",
"required": true,
"targetClass": "TutorProfile"
},
"subjectName": {
"type": "String",
"required": true
},
"level": {
"type": "String",
"required": true
},
"mode": {
"type": "String",
"required": true
},
"baseRate": {
"type": "Number",
"required": true
},
"availabilityNotes": {
"type": "String",
"required": true
},
"active": {
"type": "Boolean",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "LessonRequest",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"student": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"subjectOffer": {
"type": "Pointer",
"required": true,
"targetClass": "SubjectOffer"
},
"topic": {
"type": "String",
"required": true
},
"preferredDateTime": {
"type": "Date",
"required": true
},
"durationMinutes": {
"type": "Number",
"required": true
},
"status": {
"type": "String",
"required": true
},
"budget": {
"type": "Number",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Review",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"student": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"tutorProfile": {
"type": "Pointer",
"required": true,
"targetClass": "TutorProfile"
},
"booking": {
"type": "Pointer",
"required": true,
"targetClass": "Booking"
},
"rating": {
"type": "Number",
"required": true
},
"comment": {
"type": "String",
"required": true
},
"wouldRecommend": {
"type": "Boolean",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "BackgroundCheck",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"tutorProfile": {
"type": "Pointer",
"required": true,
"targetClass": "TutorProfile"
},
"checkVendor": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"referenceCode": {
"type": "String",
"required": true
},
"completedAt": {
"type": "Date",
"required": false
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Booking",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"student": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"tutorProfile": {
"type": "Pointer",
"required": true,
"targetClass": "TutorProfile"
},
"lessonRequest": {
"type": "Pointer",
"required": true,
"targetClass": "LessonRequest"
},
"scheduledAt": {
"type": "Date",
"required": true
},
"durationMinutes": {
"type": "Number",
"required": true
},
"status": {
"type": "String",
"required": true
},
"meetingLink": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}构建带有 AI 代理的导师应用
使用 Back4app AI 代理从此模板生成真实的导师市场应用,包括前端、后端、身份验证和主题匹配、背景检查和审核流程。
在 Back4app 上创建一个导师市场应用的后端,具有此确切的模式和行为。 模式: 1. 用户:用户名,电子邮件,密码,角色,全名。 2. 导师档案:用户(指向用户,必填),标题,简介,时薪,在线授课,已验证,平均评分,评论数量,特色科目。 3. 科目报价:导师档案(指向导师档案,必填),科目名称,级别,模式,基本费率,可用性说明,活跃。 4. 课程申请:学生(指向用户,必填),科目报价(指向科目报价,必填),主题,首选日期时间,持续时间(分钟),状态,预算。 5. 背景调查:导师档案(指向导师档案,必填),检查供应商,状态,参考代码,完成时间,备注。 6. 预订:学生(指向用户,必填),导师档案(指向导师档案,必填),课程申请(指向课程申请,必填),安排时间,持续时间(分钟),状态,会议链接。 7. 评论:学生(指向用户,必填),导师档案(指向导师档案,必填),预订(指向预订,必填),评分,评论,是否推荐。 安全: - 导师可以编辑自己的导师档案和科目报价记录。背景调查更新应由可信的云代码或操作员角色处理。 认证: - 注册,登录,登出。 行为: - 列出导师,搜索科目报价,提交课程申请,确认预订,并发布评论。 交付: - 具有模式、ACL、CLP 的 Back4app 应用;展示导师档案、科目搜索、预订请求、背景调查状态和学生评论的前端。
按下面的按钮打开带有此模板提示的代理。
这是没有技术后缀的基础提示。您可以在之后调整生成的前端堆栈。
导师 API 沙盒
尝试针对导师市场架构的 REST 和 GraphQL 端点。响应使用模拟数据,无需 Back4app 账户。
使用与此模板相同的架构。
选择你的技术栈
展开每个卡片以查看如何将 TutorProfile、SubjectOffer 和 LessonRequest 与您选择的技术栈集成。
Flutter 辅导市场后端
React 辅导市场后端
React 原生 辅导市场后端
Next.js 辅导市场后端
JavaScript 辅导市场后端
Android 辅导市场后端
iOS 辅导市场后端
Vue 辅导市场后端
Angular 辅导市场后端
GraphQL 辅导市场后端
REST API 辅导市场后端
PHP 辅导市场后端
.NET 辅导市场后端
您从每种技术中获得的内容
每个技术栈使用相同的导师市场后端架构和 API 合同。
统一的导师市场数据结构
通过一个合同管理用户、TutorProfile、SubjectOffer、LessonRequest、Booking、BackgroundCheck 和 Review。
针对 教师市场 的主题专业搜索
按学科、水平、价格和模式过滤教师,无需重写您的后端。
教师市场 的背景检查可见性
在学生预定课程之前显示已验证的状态。
教师市场 的学生评价信号
让评分和评论影响市场排名和信任度。
导师市场堆栈比较
比较所有支持技术的设置速度、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在线用户界面。 | 输入型SDK | 全部 | |
| 快速(5分钟)设置 | 用于导师市场运营商的企业网络应用。 | 输入型SDK | 全部 | |
| 2分钟以内 | 灵活的 GraphQL API 用于辅导市场。 | GraphQL API | 全部 | |
| 快速(2分钟)设置 | 用于辅导市场的 REST API 集成。 | REST API | 全部 | |
| 大约3分钟 | 用于辅导市场的服务器端 PHP 后端。 | REST API | 全部 | |
| 大约3-7分钟 | .NET 的辅导市场后端。 | 类型化 SDK | 全部 |
设置时间反映从项目启动到首次使用此模板架构的TutorProfile或SubjectOffer查询的预期持续时间。
导师市场常见问题
关于使用此模板构建导师市场后端的常见问题。