チューター市場バックエンドテンプレート
チュータープロフィール、科目オファー、そして確認済みの予約
プロダクション準備完了の チューターマーケットプレイスバックエンド が Back4app にあり、TutorProfile、SubjectOffer、LessonRequest、Booking、BackgroundCheck、Review レコードを含みます。ER ダイアグラム、データ辞書、JSON スキーマ、API サンドボックス、そして迅速なブートストラップのための AI エージェント プロンプトが含まれています。
得られるもの
このテンプレートは、学生、チューター、オペレーターがより迅速にマッチングを調整できるように、TutorProfile、SubjectOffer、LessonRequest、Booking、BackgroundCheck、Reviewを備えたチューターマーケットプレイスのバックエンドを提供します。
- TutorProfileの発見 — 学習者がfeaturedSubject、level、mode、hourlyRateでフィルタリングできるように、TutorProfileおよびSubjectOfferレコードをモデル化します。
- BackgroundCheckの可視性 — オペレーターが手動検索なしで認証されたチューターを表示できるように、BackgroundCheckの状態、checkVendor、およびreferenceCodeを公開します。
- 学生のフィードバック信号 — レビューエントリを評価、コメント、推奨するかどうかで保存し、学生が実際のレッスンフィードバックを使用してチューターを比較できるようにします。
- 予約操作 — 学生、科目オファー、およびスケジュールされたレッスン時間に一致するように、LessonRequestと予約データを調整します。
チューターマーケットプレイスバックエンドの概要
顧客はチューターマーケットプレイスで速度と確実性を重視して買い物をします — つまり、見積もり、保持、確認はリアルタイムの状態を反映する必要があります。コストはコールバックとクレジットに現れます。このテンプレートは、Back4app上でTutorProfile、SubjectOffer、LessonRequest、BackgroundCheck、およびBookingをモデル化しているため、ブッキングロジックをゼロから再構築することなく、機能するチューターマーケットプレイスプラットフォームを立ち上げることができます。スキーマはUser(ユーザー名、メール、役割、フルネーム)、TutorProfile(ユーザー、見出し、バイオ、時給、オンライン授業、検証済み、平均評価、レビュー数、特集科目)、SubjectOffer(チュータープロファイル、科目名、レベル、モード、基本料金、利用可能性のメモ、アクティブ)、LessonRequest(学生、科目オファー、トピック、希望日時、所要時間、ステータス、予算)、BackgroundCheck(チュータープロファイル、チェック業者、ステータス、参照コード、完了日時、メモ)、Booking(学生、チュータープロファイル、レッスンリクエスト、スケジュール日時、所要時間、ステータス、会議リンク)、およびReview(学生、チュータープロファイル、予約、評価、コメント、推奨するかどうか)をカバーし、認証およびマーケットプレイスのワークフローが組み込まれています。好みのフロントエンドを接続して、迅速に出荷してください。
最適:
このチューターマーケットプレイスのバックエンドの組織方法
最初の受け入れから最終的な承認まで、チューターマーケットプレイスの成功は、すべての人が同じ事実に基づいて働くことに依存しています — それは、部屋で最も大きな声の更新ではありません。
ハブは、プロダクト、オペレーション、およびエンジニアリングが「レコード」と言うときに同じ意味を持つように、TutorProfile、SubjectOffer、およびLessonRequestの言語を一貫させます。
チューターマーケットプレイスの機能
このハブ内のすべてのテクノロジーカードは、ユーザー、チュータープロファイル、科目オファー、レッスンリクエスト、予約、バックグラウンドチェック、およびレビューを使用して、同じチューターマーケットプレイスのバックエンドスキーマを利用しています。
チュータープロフィール管理
チュータープロフィールはヘッドライン、バイオ、時給、注目科目、及び確認済みステータスを保存します。
科目提供検索
科目提供はチュータープロフィール、科目名、レベル、モード、及び基本料金をリンクします。
バックグラウンドチェックのステータス追跡
バックグラウンドチェックはチュータープロフィール、ステータス、チェックベンダー、及び完了日時をキャプチャします。
レッスンリクエストの取り込み
レッスンリクエストは、学生、科目オファー、トピック、希望日時、所要時間、ステータス、および予算を格納します。
予約とレビューのワークフロー
予約とレビューは、スケジュールされたレッスンと学生フィードバックをつなげます。
Back4appであなたのチューターマーケットプレイスバックエンドを構築する理由は?
Back4appは、あなたのチームがインフラを配線するのではなく、確認された専門知識を持つ学習者とのマッチングに集中できるように、チュータ、オファー、予約、レビュー、およびスクリーニングのプリミティブを提供します。
- •チュータープロフィールと科目提供を1つのモデルで: チュータープロフィールの記録を各チューターに結びつけながら、SubjectOfferにsubjectName、level、mode、およびbaseRateを保存します。
- •検証を確認できます: 背景チェックのステータスとreferenceCodeを追跡して、オペレーターがスプレッドシートを追うことなく認証されたチューターを表示できるようにします。
- •リアルタイムの発見と予約の更新: Live Queriesを使用して、予約とレビューの変更を行い、RESTとGraphQLはすべてのクライアント向けに利用可能なままにします。
チューターマーケットプレイスのバックエンドを1回構築し、その後、ウェブ、モバイル、オペレーター用ツールで同じ契約を再利用します。
チューター市場の利点
より明確なマッチング信号と少ないスキーマ変更で立ち上げを助けるチューター市場のバックエンド。
より迅速なチューターマッチング
マーケットプレイスの流れをゼロから設計するのではなく、TutorProfile、SubjectOffer、LessonRequestから始める。
購入者に見える検証
Bookingが確認される前に、誰が審査に合格したかを示すためにBackgroundCheckステータスを使用する。
レビューに基づく発見
学生のフィードバックがチューターの可視性に影響を与えるように、レビューの評価とコメントデータを表示する。
よりクリーンな予約記録
オペレーターの監査証跡のために、Booking記録をLessonRequest、TutorProfile、およびscheduledAtのレッスン時間に紐付けて保持する。
主題レベルのマーケットプレイスデータ
SubjectOfferにsubjectName、level、mode、そしてbaseRateを保存し、検索とソートを正確に保つ。
AIブートストラップワークフロー
一つの構造化されたプロンプトでバックエンドの足場作成と統合ガイダンスを迅速に生成。
あなたのチューターマーケットプレイスアプリをローンチする準備はできましたか?
Back4app AIエージェントにあなたのチューターマーケットプレイスのバックエンドを足場作成させ、TutorProfile、SubjectOffer、LessonRequest、Booking、BackgroundCheck、およびReviewフローを一つのプロンプトから生成。
無料で始められます — 50件のAIエージェントプロンプト/月、クレジットカードは不要
チューターマーケットプレイス技術スタック
このチューターマーケットプレイスのバックエンドテンプレートにはすべてが含まれています。
チューター・マーケットプレイス ER モデル
チューターマーケットプレイスバックエンドスキーマのエンティティリレーションモデル。
ユーザー、チュータープロフィール、科目提供、レッスンリクエスト、予約、バックグラウンドチェック、およびレビューをカバーするスキーマ。
図のソースを表示
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 レコードを編集できます。
検証の完全性
バックグラウンドチェックの記録は、オペレーターのワークフローまたは信頼できるクラウドコードによって作成または更新されるべきです。
スコープ付きマーケットプレイスアクセス
LessonRequest、Booking、およびReviewの読み取りを、必要な学生、チューター、オペレーターのロールに制限します。
チュータースキーマ(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
},
"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. User: ユーザー名、メール、パスワード、役割、フルネーム。 2. TutorProfile: user(Userへのポインタ、必須)、見出し、経歴、時給、オンライン教材、確認済み、平均評価、レビュー数、特集科目。 3. SubjectOffer: tutorProfile(TutorProfileへのポインタ、必須)、科目名、レベル、モード、基本料金、利用可能性メモ、アクティブ。 4. LessonRequest: student(Userへのポインタ、必須)、subjectOffer(SubjectOfferへのポインタ、必須)、トピック、希望日時、期間(分)、ステータス、予算。 5. BackgroundCheck: tutorProfile(TutorProfileへのポインタ、必須)、チェックベンダー、ステータス、参照コード、完了日時、メモ。 6. Booking: student(Userへのポインタ、必須)、tutorProfile(TutorProfileへのポインタ、必須)、lessonRequest(LessonRequestへのポインタ、必須)、スケジュール日時、期間(分)、ステータス、ミーティングリンク。 7. Review: student(Userへのポインタ、必須)、tutorProfile(TutorProfileへのポインタ、必須)、booking(Bookingへのポインタ、必須)、評価、コメント、推薦するかどうか。 セキュリティ: - チューターは自身のTutorProfileとSubjectOfferレコードを編集できます。BackgroundCheckの更新は、信頼できるクラウドコードまたはオペレーターの役割で処理されるべきです。 認証: - サインアップ、ログイン、ログアウト。 動作: - チューターのリスト、科目オファーの検索、レッスンリクエストの提出、予約の確認、レビューの投稿を行います。 配信: - スキーマ、ACLs、CLPsを持つ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を1つの契約で管理します。
チューターマーケットプレイス の専門分野検索
主題、レベル、価格、モードでチューターをフィルタリングして、バックエンドを再書き込みせずに行います。
チューターマーケットプレイス のバックグラウンドチェックの可視性
学生がレッスンを予約する前に確認済みのステータスを表示します。
チューターマーケットプレイス に対する学生のレビューシグナル
評価やコメントがマーケットプレイスのランキングと信頼に影響を与えるようにします。
チューターマーケットプレイススタック比較
全てのサポート技術におけるセットアップの速度、SDK のスタイル、AI サポートを比較します。
| フレームワーク | セットアップ時間 | チューターマーケットプレイスの利点 | SDK タイプ | AI サポート |
|---|---|---|---|---|
| 約5分 | モバイルとウェブのチューターマーケットプレイス用の単一のコードベース。 | 型付きSDK | フル | |
| 5分未満 | チューターの発見と予約のための迅速なウェブダッシュボード。 | 型付きSDK | フル | |
| 約3〜7分 | チューター市場向けのクロスプラットフォームモバイルアプリ。 | 型付きSDK | フル | |
| 迅速な(5分)セットアップ | チューター検索およびオペレーターツール用のサーバーサイドレンダリングWebアプリ。 | タイプ付きSDK | フル | |
| 約3〜5分 | チューター市場向けの軽量Web統合。 | タイプ付き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 | フル |
セットアップ時間は、このテンプレートスキーマを使用してプロジェクトのブートストラップから最初のTutorProfileまたはSubjectOfferクエリまでの期待される期間を示します。
チューターマーケットプレイスのFAQs
このテンプレートを使用してチューターマーケットプレイスバックエンドを構築する際の一般的な質問。