預約預訂
使用 AI 代理構建
預約預訂後端

預約預訂應用程式後端模板
服務排程、日曆同步和管理

在 Back4app 上的生產就緒預約預訂後端,包括用戶、服務、預約和日曆同步。包含 ER 圖、數據字典、JSON 架構、API 操作台,以及快速啟動的AI 代理提示。

關鍵要點

此模板為您提供一個包含用戶、服務、預約和日曆同步的排程後端,讓您的團隊可以專注於服務管理和預訂流程。

  1. 以服務為中心的架構設計使用清晰、可查詢的結構來建模服務、排程、預約和用戶資料。
  2. 實時排程使用 Back4app 的實時功能進行預訂更新和通知。
  3. 日曆同步將預約與外部日曆同步,以實現無縫排程。
  4. 預約和服務功能允許用戶無縫地預訂、管理和互動服務。
  5. 跨平台排程後端通過單一的 REST 和 GraphQL API 為用戶、服務、預約和日曆同步提供移動和網絡客戶端服務。

什麼是預約預訂應用後端模板?

Back4app 是一種後端即服務 (BaaS),用於快速產品交付。預約預訂應用後端模板是一個預構建的架構,包含用戶、服務、預約和日曆同步。連接您偏好的前端(React、Flutter、Next.js 等)以更快交付。

最佳適用於:

服務排程應用專業預約平台日曆和預訂應用程式以移動設備為優先的排程應用程式MVP 上市團隊選擇 BaaS 作為排程產品

概覽

一個排程產品需要用戶資料、服務、預約和日曆同步。

此模板定義了用戶、服務、預約和日曆同步,具有即時功能和所有權規則,以便團隊能夠快速實施排程互動。

核心預約預訂功能

此中心的每個技術卡片都使用相同的預約預訂後端架構,包括用戶、服務、預約和日曆同步。

用戶檔案和服務

用戶類別儲存用戶名、電子郵件、密碼、個人資料圖片和服務偏好。

服務創建和管理

服務類別連結名稱、描述和持續時間。

預約

預約類別存儲用戶參考、服務、日期和時間。

日曆同步

將預約與外部日曆同步。

實時通知

通知用戶預約更新和提醒。

為什麼要使用 Back4app 構建您的預約預訂後端?

Back4app 提供用戶、服務、預約和日曆同步的基本功能,讓您的團隊可以專注於參與和轉換,而不是基礎設施。

  • 用戶和服務管理: 用戶類別具有個人資料字段,服務類別支持排程管理,支持預訂互動。
  • 預約和日曆功能: 通過日曆同步管理預約,讓用戶輕鬆預訂服務。
  • 實時 + API 靈活性: 使用 Live Queries 進行預訂更新,同時保持 REST 和 GraphQL 可供每個客戶端使用。

在所有平台上使用一個後端合約快速構建和迭代排程功能。

核心優勢

一個幫助您快速迭代而不犧牲結構的排程後端。

快速排程啟動

從完整的用戶、服務和預約架構開始,而不是從零設計後端。

即時預訂支持

利用即時通知和更新來增強用戶參與度。

清晰的服務流程

通過狀態和新預訂通知管理用戶服務。

可擴展的權限模型

使用 ACL/CLP 以便只有用戶可以編輯他們的個人資料和預約,並管理服務請求。

預約和服務數據

存儲和聚合預約和服務以便顯示和交互,無需重置模式。

AI 引導工作流程

使用一個結構化提示快速生成後端框架和集成指導。

準備好推出您的排程應用程式了嗎?

讓 Back4app AI 代理為您的預約預訂後端搭建框架,並從一個提示中生成用戶、服務、預約和日曆同步。

免費開始 — 每月 50 次 AI 代理提示,不需要信用卡

技術堆疊

此預約預訂後端模板中包含的一切。

前端
13+ 技術
後端
Back4app
資料庫
MongoDB
身份驗證
內建身份驗證 + 會話
API
REST 和 GraphQL
實時
Live Queries

ER 圖

預約預訂後端架構的實體關係模型。

查看圖表來源
Mermaid
erDiagram
    User ||--o{ Appointment : "customer"
    User ||--o{ Appointment : "provider"
    User ||--o{ Service : "provider"
    User ||--o{ Calendar : "provider"
    User ||--o{ Notification : "user"
    Service ||--o{ Appointment : "service"

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

    Appointment {
        String objectId PK
        Pointer service FK
        Pointer customer FK
        Pointer provider FK
        Date appointmentDate
        String status
        Date createdAt
        Date updatedAt
    }

    Service {
        String objectId PK
        String name
        String description
        Pointer provider FK
        Date createdAt
        Date updatedAt
    }

    Calendar {
        String objectId PK
        Pointer provider FK
        Array availability
        Date createdAt
        Date updatedAt
    }

    Notification {
        String objectId PK
        Pointer user FK
        String message
        Boolean read
        Date createdAt
        Date updatedAt
    }

整合流程

身份驗證、用戶資料、服務、預約和日曆同步的典型運行流程。

查看圖表來源
Mermaid
sequenceDiagram
  participant User
  participant App as Appointment Booking App
  participant Back4app as Back4app Cloud

  User->>App: Login
  App->>Back4app: POST /login
  Back4app-->>App: Session token

  User->>App: View available services
  App->>Back4app: GET /classes/Service
  Back4app-->>App: List of services

  User->>App: Book an appointment
  App->>Back4app: POST /classes/Appointment
  Back4app-->>App: Appointment confirmation

  App->>Back4app: Live Queries for real-time updates
  Back4app-->>App: Appointment status updates

數據字典

預約預訂架構中每個類別的完整字段級別參考。

字段類型描述必需
objectIdStringAuto-generated unique identifier自動
usernameStringUser login name
emailStringUser email address
passwordStringHashed password (write-only)
profilePictureStringURL of the user's profile picture
roleStringRole of the user (customer, service provider)
createdAtDateAuto-generated creation timestamp自動
updatedAtDateAuto-generated last-update timestamp自動

User 中的 8 字段

安全性和權限

ACL 和 CLP 策略如何保護用戶、服務、預約和日曆同步。

用戶擁有的個人資料控制

只有用戶可以更新或刪除其個人資料;其他人無法修改用戶內容。

服務和預約完整性

只有創建者可以創建或刪除其服務和預約。使用 Cloud Code 進行驗證。

範圍讀取訪問

限制服務和預約的讀取權限給相關方(例如,用戶只能看到自己的預約和公共服務)。

架構 (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
        },
        "profilePicture": {
          "type": "String",
          "required": false
        },
        "role": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Appointment",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "service": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Service"
        },
        "customer": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "provider": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "appointmentDate": {
          "type": "Date",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Service",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "name": {
          "type": "String",
          "required": true
        },
        "description": {
          "type": "String",
          "required": false
        },
        "provider": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Calendar",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "provider": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "availability": {
          "type": "Array",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Notification",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "user": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "message": {
          "type": "String",
          "required": true
        },
        "read": {
          "type": "Boolean",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

使用 AI Agent 構建

使用 Back4app AI Agent 從此模板生成一個真正的預約預訂應用,包括前端、後端、身份驗證以及用戶、服務、預約和日曆同步流程。

Back4app AI Agent
準備構建
在 Back4app 上創建一個具有此精確架構和行為的預約預訂應用後端。

架構:
1. 用戶(使用 Back4app 內建):用戶名、電子郵件、密碼;objectId、createdAt、updatedAt(系統)。
2. 服務:名稱(字符串,必填)、描述(字符串)、持續時間(數字);objectId、createdAt、updatedAt(系統)。
3. 預約:用戶(指向用戶的指針,必填)、服務(指向服務的指針,必填)、日期(日期,必填)、時間(時間,必填);objectId、createdAt、updatedAt(系統)。
4. 日曆同步:預約(指向預約的指針,必填)、externalId(字符串,必填);objectId、createdAt、updatedAt(系統)。

安全性:
- 只有用戶可以更新/刪除他們的個人資料。只有創建者可以創建/刪除他們的服務和預約。使用雲代碼進行驗證。

身份驗證:
- 註冊、登錄、登出。

行為:
- 列出服務、預訂預約、同步日曆和管理預訂。

交付:
- Back4app 應用,包含架構、ACLs、CLPs;用戶個人資料、服務、預約和日曆同步的前端。

按下面的按鈕以使用此模板提示預填的方式打開代理。

這是沒有技術後綴的基本提示。您可以在之後調整生成的前端堆棧。

幾分鐘內部署每月 50 個免費提示不需要信用卡

API 操作台

針對預約預訂架構嘗試 REST 和 GraphQL 端點。回應使用模擬數據,無需 Back4app 帳戶。

正在載入遊樂場…

使用與此模板相同的架構。

選擇您的技術

展開每張卡片以查看集成步驟、狀態模式、數據模型示例和離線說明。

Flutter 預約預訂後端

React 預約預訂後端

React 原生 預約預訂後端

Next.js 預約預訂後端

JavaScript 預約預訂後端

Android 預約預訂後端

iOS 預約預訂後端

Vue 預約預訂後端

Angular 預約預訂後端

GraphQL 預約預訂後端

REST API 預約預訂後端

PHP 預約預訂後端

.NET 預約預訂後端

每種技術的優勢

每個技術棧都使用相同的預約預訂後端架構和 API 合約。

統一的預約數據結構

輕鬆管理所有與預約相關的數據在一個統一的架構中。

預約訂票 的日曆同步

與 Google 日曆等流行日曆應用程式無縫同步預約。

預約訂票 的安全預約管理

確保安全處理用戶數據和預約詳情。

REST/GraphQL APIs 用於 預約訂票

訪問強大的 API,有效地與您的前端進行整合。

預約訂票 的即時通知

通過即時更新和預約提醒保持用戶知情。

預約訂票 的可擴展框架

根據需要輕鬆添加功能和自定義您的預約系統。

預約訂票框架比較

比較所有支持技術的設置速度、SDK 風格和 AI 支持。

框架設置時間預約訂票好處SDK 類型AI 支援
~5 分鐘手機和網頁上預約訂票的單一代碼庫。Typed SDK完整
約 5 分鐘快速的預約訂票網頁儀表板。Typed SDK完整
少於 5 分鐘跨平台的預約訂票手機應用程式。Typed SDK完整
~3–7 分鐘針對預約訂票的伺服器渲染網頁應用程式。Typed SDK完整
~3–5 分鐘輕量級的預約訂票網頁整合。Typed SDK完整
~5 分鐘原生 Android 應用程式用於預約訂票。Typed SDK完整
約 5 分鐘原生 iOS 應用程式用於預約訂票。Typed SDK完整
少於 5 分鐘React 風格的預約訂票網頁 UI。Typed SDK完整
~3–7 分鐘企業預約訂票網頁應用程式。Typed SDK完整
少於 2 分鐘靈活的 GraphQL API 用於預約訂票。GraphQL API完整
快速(2 分鐘)設置REST API 整合用於預約訂票。REST API完整
~3 分鐘伺服器端 PHP 後端用於預約訂票。REST API完整
少於 5 分鐘.NET 後端用於預約訂票。Typed SDK完整

設置時間反映從專案啟動到使用此模板架構進行首次預訂查詢的預期持續時間。

常見問題

關於使用此模板構建預約預訂後端的常見問題。

什麼是預約預訂後端?
預約預訂模板包括什麼?
為什麼要使用 Back4app 來開發排程應用?
如何使用 Flutter 查詢服務和預約?
如何使用 Next.js Server Actions 創建預約?
React 原生應用可以離線緩存服務和預約嗎?
如何防止重複預約?
在 Android 上顯示可用服務和預訂的最佳方式是什麼?
預訂流程從頭到尾是如何運作的?

受到全球開發者的信賴

加入使用 Back4app 模板更快交付排程產品的團隊

G2 Users Love Us Badge

準備好建立您的預約預訂應用程式了嗎?

在幾分鐘內開始您的排程專案。不需要信用卡。

選擇技術