關鍵要點
此模板提供具有用戶、班次和排程的班次排程後端,讓您的團隊可以專注於高效的輪班管理和時間打卡。
- 以用戶為中心的排程設計 — 以清晰、可查詢的結構建模用戶與班次和排程。
- 實時排程更新 — 利用 Back4app 的實時功能進行班次變更和通知。
- 地理圍欄時間打卡 — 確保準確的時間追蹤,具有地理圍欄的打卡和簽退功能。
- 班次交換邏輯 — 允許用戶通過批准工作流程無縫交換班次。
- 跨平台排班後端 — 通過單一的 REST 和 GraphQL API 為移動和網絡客戶端提供用戶、班次和排班服務。
什麼是班次排班應用後端模板?
Back4app 是一種後端即服務 (BaaS),用於快速產品交付。班次排班應用後端模板是一個預構建的模式,包含用戶、班次和排班。連接您偏好的前端(React、Flutter、Next.js 等)並更快交付。
最佳適用於:
概覽
一個班次排班產品需要用戶資料、班次、時間表和打卡功能。
此模板定義了用戶、班次和時間表,具有實時功能和所有權規則,使團隊能夠快速實施排班互動。
核心班次排程功能
此中心的每個技術卡片都使用相同的班次排程後端架構,包括用戶、班次和排程。
用戶資料和角色
用戶類別存儲用戶名、電子郵件、密碼和角色。
班次創建和管理
班次類別連接用戶、開始時間、結束時間和地點。
排班和打卡
排班類別儲存用戶參考和相關班次。
班次交換
支持班次交換及審批流程。
即時通知
通知用戶排班變更和班次更新。
為什麼要用 Back4app 構建您的班次排程後端?
Back4app 提供用戶、班次和排程的基本功能,讓您的團隊可以專注於高效的排程和時間管理,而不是基礎設施。
- •用戶和班次管理: 具有角色欄位的用戶類別和用於排程管理的班次類別支持高效的輪班操作。
- •地理圍欄時間打卡: 通過地理圍欄的打卡功能確保準確的時間追蹤。
- •實時 + API 靈活性: 使用 Live Queries 進行排程更新,同時保持 REST 和 GraphQL 可供每個客戶端使用。
通過在所有平台上使用一個後端合約快速構建和迭代排程功能。
核心優勢
一個幫助您快速迭代而不犧牲結構的排程後端。
快速排程啟動
從完整的用戶、班次和排程架構開始,而不是從零設計後端。
實時排程支持
利用實時通知和更新來增強用戶參與度。
靈活的班次管理
通過調班和批准工作流程來靈活管理班次。
可擴展的權限模型
使用 ACL/CLP 以便只有用戶可以編輯他們的日程和班次,並管理換班請求。
精確的時間追蹤
使用地理圍欄以確保精確的打卡和下班記錄。
AI 引導工作流程
使用一個結構化提示快速生成後端框架和整合指導。
準備好推出您的班次排程應用程式了嗎?
讓 Back4app AI Agent 為您的班次排程後端搭建框架,並從一個提示中生成用戶、班次和日程。
免費開始 — 每月 50 個 AI 代理提示,不需要信用卡
技術堆疊
此班次排程後端模板中包含的一切。
ER 圖
排班後端架構的實體關係模型。
涵蓋用戶、班次和時間表的架構。
查看圖表來源
erDiagram
User ||--o{ Schedule : "user"
User ||--o{ SwapRequest : "fromUser"
User ||--o{ SwapRequest : "toUser"
User ||--o{ ClockIn : "user"
Shift ||--o{ Schedule : "shift"
Shift ||--o{ SwapRequest : "shift"
Shift ||--o{ ClockIn : "shift"
User {
String objectId PK
String username
String email
String password
String role
Date createdAt
Date updatedAt
}
Shift {
String objectId PK
String title
Date startTime
Date endTime
GeoPoint location
Date createdAt
Date updatedAt
}
Schedule {
String objectId PK
Pointer user FK
Pointer shift FK
String status
Date createdAt
Date updatedAt
}
SwapRequest {
String objectId PK
Pointer fromUser FK
Pointer toUser FK
Pointer shift FK
String status
Date createdAt
Date updatedAt
}
ClockIn {
String objectId PK
Pointer user FK
Pointer shift FK
Date clockInTime
GeoPoint location
Date createdAt
Date updatedAt
}
整合流程
身份驗證、用戶資料、班次、時間表和打卡的典型運行流程。
查看圖表來源
sequenceDiagram
participant User
participant App as Shift Scheduling App
participant Back4app as Back4app Cloud
User->>App: Login
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: View schedule
App->>Back4app: GET /classes/Schedule
Back4app-->>App: Schedule data
User->>App: Request shift swap
App->>Back4app: POST /classes/SwapRequest
Back4app-->>App: SwapRequest objectId
User->>App: Clock in
App->>Back4app: POST /classes/ClockIn
Back4app-->>App: ClockIn confirmation資料字典
班次排程架構中每個類別的完整字段級別參考。
| 字段 | 類型 | 描述 | 必需 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自動 |
| username | String | User login name | |
| String | User email address | ||
| password | String | Hashed password (write-only) | |
| role | String | Role of the user (e.g., manager, employee) | |
| createdAt | Date | Auto-generated creation timestamp | 自動 |
| updatedAt | Date | Auto-generated last-update timestamp | 自動 |
User中的7字段
安全性和權限
ACL和CLP策略如何保護用戶、班次和排程。
用戶擁有的時間表控制
只有用戶可以更新或刪除他們的時間表;其他人無法修改用戶的班次。
班次和時間表完整性
只有創建者可以創建或刪除他們的班次和時間表。使用雲端代碼進行驗證。
範圍讀取訪問
限制班次和時間表的讀取權限給相關方(例如,用戶只能看到自己的時間表和公共班次)。
架構(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
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Shift",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"title": {
"type": "String",
"required": true
},
"startTime": {
"type": "Date",
"required": true
},
"endTime": {
"type": "Date",
"required": true
},
"location": {
"type": "GeoPoint",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Schedule",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"user": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"shift": {
"type": "Pointer",
"required": true,
"targetClass": "Shift"
},
"status": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "SwapRequest",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"fromUser": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"toUser": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"shift": {
"type": "Pointer",
"required": true,
"targetClass": "Shift"
},
"status": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "ClockIn",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"user": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"shift": {
"type": "Pointer",
"required": true,
"targetClass": "Shift"
},
"clockInTime": {
"type": "Date",
"required": true
},
"location": {
"type": "GeoPoint",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}使用 AI 代理構建
使用 Back4app AI Agent 從此模板生成一個真正的班次排程應用,包括前端、後端、身份驗證以及用戶、班次、排程和打卡流程。
在 Back4app 上使用此精確的架構和行為創建一個班次排程應用後端。 架構: 1. 用戶(使用 Back4app 內建):用戶名、電子郵件、密碼;objectId, createdAt, updatedAt(系統)。 2. 班次:用戶(指向用戶的指針,必需),開始時間(日期,必需),結束時間(日期,必需),地點(地理點,可選);objectId, createdAt, updatedAt(系統)。 3. 排程:用戶(指向用戶的指針,必需),班次(指向班次的指針數組,必需);objectId, createdAt, updatedAt(系統)。 安全性: - 只有用戶可以更新/刪除他們的排程。只有創建者可以創建/刪除他們的班次。使用雲代碼進行驗證。 身份驗證: - 註冊、登錄、登出。 行為: - 列出用戶,創建班次,排程班次,打卡和管理班次交換。 交付: - Back4app 應用,包含架構、ACLs、CLPs;用於用戶資料、班次、排程和打卡的前端。
按下面的按鈕以使用此模板提示預填內容打開 Agent。
這是沒有技術後綴的基本提示。您可以在之後調整生成的前端堆棧。
API 操作台
嘗試針對班次排程架構使用 REST 和 GraphQL 端點。回應使用模擬數據,且不需要 Back4app 帳戶。
使用與此模板相同的架構。
選擇您的技術
展開每張卡片以查看集成步驟、狀態模式、數據模型示例和離線說明。
Flutter 排班後端
React 排班後端
React 原生 排班後端
Next.js 排班後端
JavaScript 排班後端
Android 排班後端
iOS 排班後端
Vue 排班後端
Angular 排班後端
GraphQL 排班後端
REST API 排班後端
PHP 排班後端
.NET 排班後端
每種技術的獲得
每個技術棧使用相同的班次排程後端架構和 API 合約。
統一班次數據結構
利用 班次排程 的一致數據架構輕鬆管理班次和用戶。
即時排程更新
對排班變更的即時通知,提升 班次排程 管理。
安全的用戶訪問控制
通過強大的訪問權限保護敏感的 班次排程 信息。
REST/GraphQL APIs 用於 班次排程
使用適合 班次排程 的靈活 API 無縫整合任何前端。
自動班次提醒
通過自動通知讓用戶了解即將到來的 班次排程 班次。
可擴展的 班次排程 框架
輕鬆定制和擴展功能以滿足您的特定 班次排程 需求。
班次排程框架比較
比較所有支持技術的設置速度、SDK 風格和 AI 支持。
| 框架 | 設置時間 | 班次排程好處 | SDK類型 | AI支持 |
|---|---|---|---|---|
| 大約 5 分鐘 | 針對行動和網頁的單一代碼庫進行班次排程。 | Typed SDK | 完整 | |
| 少於 5 分鐘 | 快速的網頁儀表板進行班次排程。 | Typed SDK | 完整 | |
| ~3–7 分鐘 | 跨平台的行動應用程式進行班次排程。 | Typed SDK | 完整 | |
| 快速(5分鐘)設置 | 伺服器渲染的網頁應用程式進行班次排程。 | Typed SDK | 完整 | |
| ~3 分鐘 | 輕量級的網頁整合進行班次排程。 | Typed SDK | 完整 | |
| 大約 5 分鐘 | 原生 Android 應用程式進行班次排程。 | Typed SDK | 完整 | |
| 少於 5 分鐘 | 原生 iOS 應用程式進行班次排程。 | Typed SDK | 完整 | |
| ~3–7 分鐘 | React 的網頁 UI 進行班次排程。 | Typed SDK | 完整 | |
| 快速(5分鐘)設置 | 企業網頁應用程式進行班次排程。 | Typed SDK | 完整 | |
| 快速(2分鐘)設置 | 靈活的 GraphQL API 用於班次排程。 | GraphQL API | 完整 | |
| ~2 分鐘 | REST API 整合進行班次排程。 | REST API | 完整 | |
| 少於 5 分鐘 | 伺服器端 PHP 後端進行班次排程。 | REST API | 完整 | |
| ~3–7 分鐘 | .NET 後端進行班次排程。 | Typed SDK | 完整 |
設置時間反映了從項目啟動到使用此模板架構進行首次計劃查詢的預期持續時間。
常見問題
關於使用此模板構建班次排程後端的常見問題。