有機認證日誌後端範本
土地歷史、種子來源和收成分離日誌
一個生產就緒的有機認證日誌後端 在 Back4app,具有土地歷史追蹤、種子來源日誌和收成分離。包括 ER 圖、數據字典、JSON 模式、API 遊樂場,以及一個AI 代理提示,便於快速啟動。
關鍵要點
此模板為您提供一個有機認證日誌後端,包含土地歷史追蹤、種子來源日誌和收穫分離,讓您的團隊可以更少的來回溝通來記錄田地、投入和收穫批次。
- 土地歷史集中在一處 — 追蹤田地和土地歷史條目,讓每個地塊都帶有之前使用的記錄、過渡狀態和檢查筆記。
- 可靠的種子來源日誌 — 記錄種子來源日誌條目,包括供應商、批號和每次種植事件的有機驗證詳細信息。
- 可審計的收穫分離 — 將收穫批次和分離事件記錄與作物批次關聯,確保認證和非認證產品保持區分。
- 現場人員和協調者保持一致 — 使用農場、田地和審計條目更新來保持操作、檢查和合規筆記同步。
- 一個後端用於網絡和移動端 — 通過相同的 REST 和 GraphQL API 來服務 React、Flutter、Next.js 以及其他客戶以獲取日誌和現場記錄。
概述:有機認證日誌
良好的有機認證管理意味著審查者可以抽查一條記錄並立即了解範疇、狀態和下一步所需的行動。小延遲快速累積。在 Back4app 上,農場、田地、土地歷史、種子來源日誌和收穫批次連接成為一個連貫的有機認證敘事,而不是一堆不連貫的票據和文件。該架構涵蓋農場(名稱、位置、操作員)、田地(農場、地塊ID、面積、有機狀態)、土地歷史(田地、之前用途、轉型開始日期、檢查筆記)、種子來源日誌(田地、作物、供應商、批號、有機確認)、收穫批次(田地、作物、收穫日期、分離狀態)、分離事件(收穫批次、處理者、存儲區域、筆記)和審計條目(實體類型、實體ID、操作、時間戳)並具備內建的授權和可追溯性功能。連接您首選的前端,並更快交付。
最佳用途:
有機認證:後端快照
如果有機認證相關方無法在幾秒鐘內回答簡單問題,他們將在會議中慢慢且昂貴地回答這些問題。
無論你是發佈網頁還是移動端,農場、田野和土地歷史仍然是骨幹——這個頁面是對齊利益相關者的最快方法。
核心有機日誌功能
此中心中的每個技術卡片使用相同的有機認證日誌架構,包括 Farm、Field、LandHistory、SeedSourceLog、HarvestBatch、SeparationEvent 和 AuditEntry。
使用 Field 和 LandHistory 進行土地歷史追蹤
Field 儲存 parcelId、面積和 organicStatus,而 LandHistory 記錄 priorUse 和轉換日期。
SeedSourceLog 內有種子來源記錄
SeedSourceLog 連結一個區域、作物、供應商、批號和 organicVerified 狀態。
使用 HarvestBatch 和 SeparationEvent 進行收穫分離
HarvestBatch 包含 harvestDate 和 separationStatus;SeparationEvent 捕捉 storageArea 和處理備註。
帶有 AuditEntry 的審核歷程
AuditEntry 記錄 entityType、entityId、action 和 timestamp。
為什麼要使用 Back4app 構建您的有機認證日誌後端?
Back4app 提供農場、田地和可追溯性原語,讓您的團隊可以將時間花在檢查和分離檢查上,而不是後端維護上。
- •土地和田地追蹤: Field 和 LandHistory 類別捕捉先前使用、面積和 organicStatus,而無需強迫使用電子表格的變通方法。
- •種子來源和收穫審計痕跡: SeedSourceLog 和 HarvestBatch 記錄將供應商、lotNumber 和 separationStatus 緊密聯繫,以便進行審查。
- •實時 + API 靈活性: 使用 Live Queries 進行 AuditEntry 更新,同時保留 REST 和 GraphQL 供每位客戶使用。
一次構建您的有機認證日誌,讓農場、協調員和現場工作人員從相同的後端合約中工作。
核心利益
一個日誌後台,保持田間工作、來源記錄和收穫分離有序。
更快的字段設置
從Farm、Field和LandHistory類別開始,而不是從頭開始構建土地歷史表。
明確可讀的來源可追溯性
使用SeedSourceLog字段,如供應商、批號和有機驗證來查看輸入歷史。
分離檢查保持可見
HarvestBatch和SeparationEvent記錄使得確認認證批次是否分開處理變得更容易。
便於審計的編輯
AuditEntry保持entityType和action歷史以便進行檢查和更正。
為每個客戶提供一個API
REST和GraphQL都可以在不重新設計架構的情況下讀取Field、SeedSourceLog和HarvestBatch記錄。
AI 引導工作流程
從一個結構化的提示生成有機認證日誌的框架和整合指導。
準備好啟動您的有機認證日誌了嗎?
讓 Back4app AI 代理搭建您的有機認證日誌後端,並從一個提示生成土地歷史、種子來源日誌和收穫分離工作流程。
免費開始 — 每月 50 個 AI 代理提示,無需信用卡
技術棧
這個有機認證日誌後端模板包含的一切。
有機ER圖
有機認證日誌架構的實體關係模型。
涵蓋農場、田地、土地歷史、種子來源日誌、收成批次、分離事件和審計條目的架構。
查看圖示來源
erDiagram
Inspector ||--o{ Farm : "manager"
Farm ||--o{ LandParcel : "farm"
Farm ||--o{ SeedSourceLog : "farm"
Farm ||--o{ HarvestLot : "farm"
Farm ||--o{ CertificationVisit : "farm"
Farm ||--o{ ComplianceEntry : "farm"
Inspector ||--o{ CertificationVisit : "inspector"
LandParcel ||--o{ SeedSourceLog : "landParcel"
LandParcel ||--o{ HarvestLot : "landParcel"
Inspector {
String objectId PK
String username
String email
String password
String role
Date createdAt
Date updatedAt
}
Farm {
String objectId PK
String farmName
String organicStatus
String managerId FK
Date createdAt
Date updatedAt
}
LandParcel {
String objectId PK
String farmId FK
String parcelName
String historyNotes
Date lastConventionalUseDate
Date createdAt
Date updatedAt
}
SeedSourceLog {
String objectId PK
String farmId FK
String landParcelId FK
String cropName
String seedSupplier
String seedLotNumber
Boolean organicVerified
String documentUrl
Date createdAt
Date updatedAt
}
HarvestLot {
String objectId PK
String farmId FK
String landParcelId FK
String lotCode
String cropName
Date harvestDate
String separationStatus
String storageArea
Date createdAt
Date updatedAt
}
CertificationVisit {
String objectId PK
String farmId FK
String inspectorId FK
Date visitDate
String visitType
String result
String notes
Date createdAt
Date updatedAt
}
ComplianceEntry {
String objectId PK
String farmId FK
String category
String status
String summary
Date resolvedAt
Date createdAt
Date updatedAt
}
認證流程
身份驗證、領域審查、種子來源記錄、收穫分離和稽核條目的典型運行流程。
查看圖示來源
sequenceDiagram
participant Inspector
participant App as Organic Certification Log App
participant Back4app as Back4app Cloud
Inspector->>App: Sign in to review farm logs
App->>Back4app: POST /login
Back4app-->>App: Session token
Inspector->>App: Open farm list
App->>Back4app: GET /classes/Farm?include=manager
Back4app-->>App: Farm status and manager pointers
Inspector->>App: Add land history and seed source details
App->>Back4app: POST /classes/LandParcel and POST /classes/SeedSourceLog
Back4app-->>App: Parcel objectId and seedSourceLog objectId
Inspector->>App: Record harvest separation
App->>Back4app: POST /classes/HarvestLot
Back4app-->>App: Harvest lot saved
App->>Back4app: GET /classes/ComplianceEntry?order=-updatedAt
Back4app-->>App: Compliance entries and live updates數據字典
有機認證日誌架構中每個類的字段級參考。
| 字段 | 類型 | 描述 | 必須 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自動 |
| username | String | Inspector login name | |
| String | Inspector email address | ||
| password | String | Hashed password (write-only) | |
| role | String | Inspector role (e.g. coordinator, fieldStaff, reviewer) | |
| createdAt | Date | Auto-generated creation timestamp | 自動 |
| updatedAt | Date | Auto-generated last-update timestamp | 自動 |
7 欄位在 Inspector
安全性與權限
ACL 和 CLP 策略如何保護農場、欄位、日誌和分離記錄。
基於角色的訪問權限給予工作人員和協調員
使用角色讓現場工作人員能創建日誌,而協調員則審查和批准土地歷史及分離詳情。
農場記錄的所有權
農場和欄位的更新應通過 ACL 和 Cloud Code 檢查限制在正確的操作員或組織。
可審核的審計紀錄
保持 AuditEntry 僅可附加以便於檢查和更正,使先前的操作保持可見。
架構 JSON
原始 JSON 架構定義,準備複製到 Back4app 或用作實施參考。
{
"classes": [
{
"className": "Inspector",
"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": "Farm",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"farmName": {
"type": "String",
"required": true
},
"organicStatus": {
"type": "String",
"required": true
},
"manager": {
"type": "Pointer",
"required": true,
"targetClass": "Inspector"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "LandParcel",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"farm": {
"type": "Pointer",
"required": true,
"targetClass": "Farm"
},
"parcelName": {
"type": "String",
"required": true
},
"historyNotes": {
"type": "String",
"required": true
},
"lastConventionalUseDate": {
"type": "Date",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "SeedSourceLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"farm": {
"type": "Pointer",
"required": true,
"targetClass": "Farm"
},
"landParcel": {
"type": "Pointer",
"required": true,
"targetClass": "LandParcel"
},
"cropName": {
"type": "String",
"required": true
},
"seedSupplier": {
"type": "String",
"required": true
},
"seedLotNumber": {
"type": "String",
"required": true
},
"organicVerified": {
"type": "Boolean",
"required": true
},
"documentUrl": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "HarvestLot",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"farm": {
"type": "Pointer",
"required": true,
"targetClass": "Farm"
},
"landParcel": {
"type": "Pointer",
"required": true,
"targetClass": "LandParcel"
},
"lotCode": {
"type": "String",
"required": true
},
"cropName": {
"type": "String",
"required": true
},
"harvestDate": {
"type": "Date",
"required": true
},
"separationStatus": {
"type": "String",
"required": true
},
"storageArea": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "CertificationVisit",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"farm": {
"type": "Pointer",
"required": true,
"targetClass": "Farm"
},
"inspector": {
"type": "Pointer",
"required": true,
"targetClass": "Inspector"
},
"visitDate": {
"type": "Date",
"required": true
},
"visitType": {
"type": "String",
"required": true
},
"result": {
"type": "String",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "ComplianceEntry",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"farm": {
"type": "Pointer",
"required": true,
"targetClass": "Farm"
},
"category": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"summary": {
"type": "String",
"required": true
},
"resolvedAt": {
"type": "Date",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}與 AI 代理一起構建
使用 Back4app AI 代理從此模板生成真實的有機認證日誌應用程序,包括前端、後端、身份驗證和土地歷史、種子來源日誌及收穫分離流程。
在 Back4app 上創建一個有機認證日誌應用程序後端,使用此確切的架構和行為。 架構: 1. 用戶(使用 Back4app 內建):用戶名、電子郵件、密碼;objectId、createdAt、updatedAt(系統)。 2. 農場:名稱(字串,必填)、位置(字串,必填)、操作員(指向用戶的指針,必填);objectId、createdAt、updatedAt(系統)。 3. 隔地:農場(指向農場的指針,必填)、地塊編號(字串,必填)、面積(數字,必填)、有機狀態(字串,必填);objectId、createdAt、updatedAt(系統)。 4. 土地歷史:隔地(指向隔地的指針,必填)、先前使用(字串,必填)、過渡開始日期(日期,必填)、檢查備註(字串);objectId、createdAt、updatedAt(系統)。 5. 種子來源日誌:隔地(指向隔地的指針,必填)、作物(字串,必填)、供應商(字串,必填)、批號(字串,必填)、有機驗證(布爾,必填);objectId、createdAt、updatedAt(系統)。 6. 收穫批次:隔地(指向隔地的指針,必填)、作物(字串,必填)、收穫日期(日期,必填)、分離狀態(字串,必填);objectId、createdAt、updatedAt(系統)。 7. 分離事件:收穫批次(指向收穫批次的指針,必填)、處理者(指向用戶的指針,必填)、儲存區域(字串,必填)、備註(字串);objectId、createdAt、updatedAt(系統)。 8. 審核條目:實體類型(字串,必填)、實體ID(字串,必填)、行為(字串,必填)、時間戳(日期,必填);objectId、createdAt、updatedAt(系統)。 安全性: - 只有農場操作員或授權員工可以更新隔地和日誌記錄。使用雲代碼進行驗證。 認證: - 註冊、登錄、登出。 行為: - 列出農場和隔地,創建土地歷史條目,記錄種子來源日誌,捕獲收穫批次,并記錄分離事件。 交付: - Back4app 應用程序,帶架構、ACL、CLP;用於農場、隔地、種子來源日誌、收穫批次、分離事件和審核條目的前端。
按下下面的按鈕以使用此模板提示預先填充打開代理。
這是沒有技術後綴的基本提示。您可以在之後調整生成的前端堆疊。
API 遊樂場
嘗試 REST 和 GraphQL 端點對有機認證日誌架構進行測試。回應使用虛擬數據,不需要 Back4app 帳戶。
使用與此模板相同的架構。
選擇您的技術
展開每個卡片以查看如何將農場、田地和土地歷史與您選擇的技術棧集成。
Flutter 有機認證日誌後端
React 有機認證日誌後端
React 原生 有機認證日誌後端
Next.js 有機認證日誌後端
JavaScript 有機認證日誌後端
Android 有機認證日誌後端
iOS 有機認證日誌後端
Vue 有機認證日誌後端
Angular 有機認證日誌後端
GraphQL 有機認證日誌後端
REST API 有機認證日誌後端
PHP 有機認證日誌後端
.NET 有機認證日誌後端
您每使用一項技術所獲得的好處
每個技術棧都使用相同的有機認證日誌架構和 API 合約。
統一的有機日誌結構
使用一個一致的架構管理農場、田地、種子來源日誌和收穫分離。
用於認證審查的土地歷史
將先前使用、過渡日期和檢查備註存儲在易於查詢的欄位中。
植株批次的來源可追溯性
記錄每個 SeedSourceLog 條目的供應商、批號和有機驗證。
收穫批次的分離追蹤
使用 HarvestBatch 和 SeparationEvent 紀錄顯示如何將認證產品分開存放。
REST/GraphQL APIs 用於操作團隊
從移動設備、網頁或後端工具讀取和寫入相同的欄位和日誌數據。
有機日誌技術比較
比較所有支援技術的設置速度、SDK 風格和 AI 支援。
| 框架 | 設置時間 | 有機日誌收益 | SDK 類型 | 人工智慧支援 |
|---|---|---|---|---|
| 約 5 分鐘 | 用於移動設備和網頁上的現場檢查和日誌檢閱的單一代碼庫。 | 類型化 SDK | 完整 | |
| 少於 5 分鐘 | 快速的網頁儀表板,用於農場和收穫分離檢閱。 | 類型化 SDK | 完整 | |
| 約 3–7 分鐘 | 為現場工作組和協調員提供的跨平台移動應用程式。 | 輸入 SDK | 完整 | |
| 快速(5 分鐘)設置 | 用於土地歷史和種子來源日誌的伺服器渲染儀表板。 | 輸入 SDK | 完整 | |
| 約 3–5 分鐘 | 用於有機記錄的輕量級網頁整合。 | 輸入 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 | 完整 |
設置時間反映從專案啟動到使用此模板架構的首次農場或田地查詢的預期持續時間。
常見問題
有關使用此模板構建有機認證日誌後端的常見問題。