Шаблон бэкенда рынка репетиторов
Профили репетиторов, Предложения по предметам и Подтвержденные бронирования
Готовый к производству бэкенд для рынка репетиторов на Back4app с записями TutorProfile, SubjectOffer, LessonRequest, Booking, BackgroundCheck и Review. Включает диаграмму ER, словарь данных, JSON-схему, песочницу API и подсказку AI Agent для быстрого запуска.
Что вы получите
Этот шаблон предлагает бэкенд рынка репетиторов с TutorProfile, SubjectOffer, LessonRequest, Booking, BackgroundCheck и Review, чтобы студенты, репетиторы и операторы могли быстрее находить совпадения.
- Обнаружение TutorProfile — Моделируйте записи TutorProfile и SubjectOffer, чтобы учащиеся могли фильтровать по featuredSubject, level, mode и hourlyRate.
- Видимость BackgroundCheck — Представьте статус BackgroundCheck, checkVendor и referenceCode, чтобы операторы могли показывать проверенных репетиторов без ручного поиска.
- Сигналы обратной связи студентов — Храните записи Review с оценкой, комментарием и готовностью рекомендовать, чтобы помочь студентам сравнивать репетиторов, используя реальные отзывы о занятиях.
- Операции бронирования — Координируйте данные о запросах на уроки и бронировании, чтобы соответствовать студенту, предложению предмета и запланированному времени урока.
Бэкенд рынка репетиторов в общих чертах
Лучшее для:
Рынков репетиторов
Как организован бэкенд этого рынка репетиторов
От первого приема до окончательного утверждения успех рынка репетиторов зависит от того, чтобы все работали на основе одних и тех же фактов — а не на основе самого громкого обновления в комнате.
Хаб поддерживает консистентность языка для TutorProfile, SubjectOffer и LessonRequest, так что продукт, операции и инженерия понимают одно и то же, когда говорят «запись».
Функции рынка репетиторов
Каждая технологическая карточка в этом центре использует одну и ту же схему бэкенда рынка репетиторов с User, TutorProfile, SubjectOffer, LessonRequest, Booking, BackgroundCheck и Review.
Управление профилем наставника
Профиль наставника содержит заголовок, биографию, почасовую ставку, предлагаемый предмет и статус проверки.
Поиск предложения по предметам
Предложение связывает профиль наставника, название предмета, уровень, режим и базовую ставку.
Отслеживание статуса проверки
Проверка фона фиксирует профиль наставника, статус, поставщика проверки и дату завершения.
Поступление запроса на занятие
Запрос на урок хранит данные о студенте, предложении по предмету, теме, предпочтительном времени, продолжительности в минутах, статусе и бюджете.
Рабочий процесс бронирования и отзывов
Бронирование и отзывы связывают запланированные занятия и отзывы студентов.
Почему стоит строить ваш бэкенд рынка репетиторов на Back4app?
Back4app предоставляет вам примитивы для репетиторов, предложений, бронирования, отзывов и проверки, чтобы ваша команда могла сосредоточиться на сопоставлении учащихся с проверенной экспертизой вместо настройки инфраструктуры.
- •Профиль репетитора и предложение предмета в одной модели: Храните subjectName, уровень, режим и baseRate в предложении предмета, сохраняя записи Профиля репетитора, связанные с каждым репетитором.
- •Проверка, которую вы можете проверить: Отслеживайте статус BackgroundCheck и referenceCode, чтобы операторы могли показывать проверенных репетиторов без необходимости блуждать в электронных таблицах.
- •Обновления обнаружения и бронирования в реальном времени: Используйте Live Queries для изменений в бронировании и отзывах, в то время как REST и GraphQL останутся доступными для каждого клиента.
Создайте бекенд рынка репетиторов один раз, а затем переиспользуйте тот же контракт на вебе, мобильных устройствах и инструментах оператора.
Преимущества рынка репетиторов
Бэкенд рынка репетиторов, который помогает вам запуститься с более ясными сигналами соответствия и меньшими изменениями схемы.
Быстреее соответствие репетиторов
Начните с TutorProfile, SubjectOffer и LessonRequest вместо того, чтобы разрабатывать поток рынка с нуля.
Верификация, видимая для покупателей
Используйте статус BackgroundCheck, чтобы показать, кто прошел проверку перед подтверждением бронирования.
Обнаружение на основе отзывов
Поверхностные данные рейтинга и комментариев отзывов, чтобы отзывы студентов влияли на видимость репетиторов.
Чистые записи бронирования
Сохраняйте записи бронирования, связанные с LessonRequest, TutorProfile и запланированными временем урока для аудита операторов.
Данные рынка на уровне предмета
Храните subjectName, level, mode и baseRate в SubjectOffer, чтобы поиск и сортировка оставались точными.
Рабочий процесс AI bootstrap
Сгенерируйте быструю инфраструктуру для бэкенда и руководство по интеграции с помощью одного структурированного запроса.
Готовы запустить приложение для вашего рынка репетиторов?
Пусть Back4app AI Agent создаст ваш бэкенд рынка репетиторов и сгенерирует потоки TutorProfile, SubjectOffer, LessonRequest, Booking, BackgroundCheck и Review из одного запроса.
Бесплатно для начала — 50 запросов AI Agent в месяц, кредитная карта не требуется
Стек технологий рынка репетиторов
Все включено в этот шаблон для бэкенда рынка репетиторов.
Модель 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.
Целостность проверки
Записи 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-агентом
Используйте AI-агента Back4app для создания приложения реального рынка репетиторов из этого шаблона, включая фронтенд, бэкенд, аутентификацию, соответствие предметам, проверку фона и потоки отзывов.
Создайте бэкэнд приложения рынка репетиторов на Back4app с этой точной схемой и поведением. Схема: 1. Пользователь: имя пользователя, электронная почта, пароль, роль, полное имя. 2. Профиль репетитора: пользователь (Указатель на Пользователя, обязательный), заголовок, биография, почасовая ставка, обучает онлайн, подтвержден, средний рейтинг, количество отзывов, представляемый предмет. 3. Предложение по предмету: профиль репетитора (Указатель на Профиль репетитора, обязательный), название предмета, уровень, режим, базовая ставка, примечания по доступности, активен. 4. Запрос на урок: студент (Указатель на Пользователя, обязательный), предложение по предмету (Указатель на Предложение по предмету, обязательный), тема, предпочтительная дата и время, продолжительность в минутах, статус, бюджет. 5. Проверка фона: профиль репетитора (Указатель на Профиль репетитора, обязательный), поставщик проверки, статус, код ссылки, завершено, примечания. 6. Бронирование: студент (Указатель на Пользователя, обязательный), профиль репетитора (Указатель на Профиль репетитора, обязательный), запрос на урок (Указатель на Запрос на урок, обязательный), запланировано на, продолжительность в минутах, статус, ссылка на встречу. 7. Отзыв: студент (Указатель на Пользователя, обязательный), профиль репетитора (Указатель на Профиль репетитора, обязательный), бронирование (Указатель на Бронирование, обязательный), рейтинг, комментарий, порекомендовали бы. Безопасность: - Репетиторы могут редактировать свои собственные записи Профиля репетитора и Предложения по предмету. Обновления Проверки фона должны обрабатываться доверенным облачным кодом или ролями операторов. Авторизация: - Регистрация, вход, выход. Поведение: - Список репетиторов, поиск предложений по предметам, отправка запросов на уроки, подтверждение бронирования и публикация отзывов. Доставка: - Приложение Back4app с схемой, ACLs, CLPs; фронтенд для профилей репетиторов, поиска предметов, запросов на бронирование, статуса проверки фона и отзывов студентов.
Нажмите на кнопку ниже, чтобы открыть Агент с предварительно заполненным запросом шаблона.
Это базовый запрос без суффикса технологии. Вы можете адаптировать сгенерированный фронтенд-стек позже.
Песочница Tutor API
Попробуйте конечные точки REST и GraphQL против схемы рынка наставников. Ответы используют тестовые данные и не требуют учетной записи Back4app.
Использует ту же схему, что и этот шаблон.
Выберите свой стек
Раскройте каждую карточку, чтобы увидеть, как интегрировать TutorProfile, SubjectOffer и LessonRequest с выбранным стеком.
Flutter Рынок репетиторов
React Рынок репетиторов
React Native Рынок репетиторов
Next.js Рынок репетиторов
JavaScript Рынок репетиторов
Android Рынок репетиторов
iOS Рынок репетиторов
Vue Рынок репетиторов
Angular Рынок репетиторов
GraphQL Рынок репетиторов
REST API Рынок репетиторов
PHP Рынок репетиторов
.NET Рынок репетиторов
Что вы получите с каждой технологией
Каждый стек использует одинаковую схему бэкенда на рынке репетиторов и API контракты.
Единая структура данных рынка репетиторов
Управляйте User, TutorProfile, SubjectOffer, LessonRequest, Booking, BackgroundCheck и Review с помощью одного контракта.
Поиск тематики для рынок репетиторов
Фильтровать репетиторов по предмету, уровню, цене и режиму без переписывания вашего бэкенда.
Видимость проверки биографии для рынок репетиторов
Показать статус подтверждения перед тем, как студент запишется на занятие.
Сигналы отзывов студентов для рынок репетиторов
Позвольте рейтингам и комментариям влиять на рейтинг на рынке и доверие.
Сравнение стека рынка репетиторов
Сравните скорость настройки, стиль SDK и поддержку ИИ среди всех поддерживаемых технологий.
| Фреймворк | Время настройки | Преимущество рынка репетиторов | Тип SDK | Поддержка ИИ |
|---|---|---|---|---|
| Около 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 с использованием этой шаблонной схемы.
Часто задаваемые вопросы о рынке репетиторов
Распространенные вопросы о создании бэкэнда рынка репетиторов с использованием этого шаблона.
Готовы создать свое приложение для рынка репетиторов?
Начните свой проект рынка репетиторов за считанные минуты. Кредитная карта не требуется.