关键要点
此模板为您提供一个海鲜可追溯性日志后端,包含捕捞地点日志、船只 ID 和冷链历史记录,以便您的团队可以专注于接收、验证和准备检查报告。
- 捕捞日志结构 — 使用 CatchLog 和 CatchLocation 字段建模捕捞事件,使每次登陆都易于验证。
- 船只身份检查 — 使用 Vessel.vesselId 和 Vessel.imoNumber 来保持日志中的船队引用一致。
- 冷链历史 — 在 ColdChainEntry 中跟踪温度和交接,以便存储时间线保持可读。
- 检查准备情况 — 将检查记录链接到 CatchLog 和批次条目,以便在审核期间快速审核。
- 跨平台可追溯性后端 — 通过单一的 REST 和 GraphQL API 为海鲜日志、船只和冷链数据提供移动和 Web 工具。
什么是海鲜可追溯性日志模板?
培训、证明和例外应包含在结构化的海鲜可追溯性数据中,而不是在离职时就消失的一次性电子邮件中。细节是不可选的。 Back4app 保持 CatchLog、Vessel、ColdChainEntry 和 Inspection 的时间戳和可归属性——这是可追溯性团队在审查到来时所需的基础。该模式涵盖用户(用户名、电子邮件、密码)、CatchLog(捕获日期、物种、位置、船只)、船只(船只 ID、IMO 编号、船长姓名)、ColdChainEntry(批次、温度C、记录时间)和 Inspection(捕获日志、检查员姓名、结果),并内置认证和可追溯性控制。连接您的前端更快速。
最佳适用:
海鲜可追溯性后端概述
最好的海鲜可追溯性仪表板很无聊,因为基础实体是干净的——而不是因为有人在午夜整理电子表格。
该中心突出显示CatchLog、Vessel和ColdChainEntry,以便您可以比较客户端堆栈与相同的实体、字段和关系。
核心海鲜追溯功能
该中心的每张技术卡都使用与 CatchLog、Vessel、ColdChainEntry 和 Inspection 相同的海鲜追溯后端架构。
捕捞日志条目管理
捕捞日志存储捕捞日期、物种、捕捞地点、卸货港和船只参考。
船只 ID 注册
船只保持船只 ID、国际海事组织编号、船长姓名和许可证字段。
冷链历史追踪
ColdChainEntry 记录批次、温度(摄氏)、记录时间和处理人。
检查审查和审计轨迹
检查连接到 CatchLog,并记录检查员姓名、结果和备注。
为什么使用Back4app构建您的海鲜追溯日志后端?
Back4app为您提供捕捞、船只和冷链原语,使您的团队可以专注于日志质量和检查准备,而不是基础设施。
- •在一个模型中记录捕捞和船只: CatchLog通过vesselId和catchLocation连接到船只,因此每次着陆都与真实的船只和地点相关联。
- •带有时间戳的冷链历史: ColdChainEntry为每个批次存储temperatureC和recordedAt,使存储检查易于审查。
- •实时 + API灵活性: 使用Live Queries进行新的CatchLog条目,同时保持REST和GraphQL可用于仪表板和移动员工。
快速构建和迭代海鲜追溯功能,在所有平台上实现一个后端合约。
核心优势
一个海鲜追溯后端,帮助您减少日志间隙并保持现场笔记可读。
更快的捕捞日志启动
从完整的CatchLog、Vessel和ColdChainEntry模式开始,而不是从头定义每个海鲜字段。
船只身份一致性
使用vesselId和imoNumber保持捕捞记录与团队间正确船只的匹配。
冷链历史按顺序
存储带有记录时间的温度读数,以便存储时间线易于跟踪。
明确的检查工作流程
将检查记录链接到捕捞日志和批次以进行审查、备注和纠正措施。
海鲜日志数据重用
查询捕捞地点、船只ID和冷链事件,而不必为每个报告重新设计模式。
AI 引导工作流
快速生成后端框架和集成指导,仅需一个结构化提示。
准备好发布您的海鲜追溯应用吗?
让 Back4app AI 代理为您的海鲜追溯日志后端搭建框架,并从一个提示生成捕捞日志、船只和冷链工作流。
免费开始 — 每月 50 个 AI 代理提示,无需信用卡
技术栈
这个海鲜可追踪性后端模板包含的一切。
海鲜 ER 图
海鲜可追溯后端架构的实体关系模型。
涵盖海鲜捕捞日志、船舶身份、冷链历史和检查的架构。
查看图表源
erDiagram
CrewMember ||--o{ Vessel : "captain"
CrewMember ||--o{ CatchLog : "capturedBy"
CrewMember ||--o{ ColdChainEntry : "recordedBy"
CrewMember ||--o{ TraceAudit : "reviewer"
Vessel ||--o{ CatchLog : "vessel"
CatchLog ||--o{ ColdChainEntry : "catchLog"
CatchLog ||--o{ TraceAudit : "catchLog"
CrewMember {
String objectId PK
String username
String email
String password
String role
Date createdAt
Date updatedAt
}
Vessel {
String objectId PK
String vesselId
String vesselName
String homePort
String captainId FK
Date createdAt
Date updatedAt
}
CatchLog {
String objectId PK
String catchId
String species
String catchLocation
Date catchDate
String vesselId FK
String capturedById FK
Number quantityKg
String status
Date createdAt
Date updatedAt
}
ColdChainEntry {
String objectId PK
String entryId
String catchLogId FK
Number temperatureC
Date recordedAt
String location
String recordedById FK
String chainStatus
Date createdAt
Date updatedAt
}
TraceAudit {
String objectId PK
String auditId
String catchLogId FK
String reviewerId FK
Date reviewedAt
String result
String notes
Date createdAt
Date updatedAt
}
捕获到日志集成流程
典型运行流程,包括认证、捕获日志条目、船舶查找和冷链历史。
查看图表源
sequenceDiagram
participant User
participant App as Seafood Traceability Log App
participant Back4app as Back4app Cloud
User->>App: Sign in as coordinator or field staff
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Open catch log board
App->>Back4app: GET /classes/CatchLog?include=vessel,capturedBy&order=-catchDate
Back4app-->>App: CatchLog list with vessel IDs and locations
User->>App: Add a cold chain check
App->>Back4app: POST /classes/ColdChainEntry
Back4app-->>App: ColdChainEntry saved for the selected CatchLog
User->>App: Review vessel trace history
App->>Back4app: GET /classes/TraceAudit?include=catchLog,reviewer&order=-reviewedAt
Back4app-->>App: TraceAudit history and status海鲜数据字典
海鲜可追溯性架构中每个类别的完整字段级参考。
| 字段 | 类型 | 描述 | 必需的 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自动 |
| username | String | Login name for the crew member | |
| String | Crew contact email | ||
| password | String | Hashed password (write-only) | |
| role | String | Operational role such as manager, coordinator, or field staff | |
| createdAt | Date | Auto-generated creation timestamp | 自动 |
| updatedAt | Date | Auto-generated last-update timestamp | 自动 |
7字段在CrewMember中
安全与权限
ACL和CLP策略如何保护捕捞日志、船只记录、冷链条目和检查。
用户拥有的日志控制
只有登录用户可以更新或删除自己的捕捞日志、船只或检查条目。
可追溯性完整性
在保存记录之前,使用Cloud Code检查vesselId、catchLocation和temperatureC。
范围读取访问
仅向经理、协调员和指定现场工作人员限制敏感海鲜记录。
模式 (JSON)
原始 JSON 模式定义可复制到 Back4app 或作为实施参考使用。
{
"classes": [
{
"className": "CrewMember",
"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": "Vessel",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"vesselId": {
"type": "String",
"required": true
},
"vesselName": {
"type": "String",
"required": true
},
"homePort": {
"type": "String",
"required": true
},
"captain": {
"type": "Pointer",
"required": true,
"targetClass": "CrewMember"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "CatchLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"catchId": {
"type": "String",
"required": true
},
"species": {
"type": "String",
"required": true
},
"catchLocation": {
"type": "String",
"required": true
},
"catchDate": {
"type": "Date",
"required": true
},
"vessel": {
"type": "Pointer",
"required": true,
"targetClass": "Vessel"
},
"capturedBy": {
"type": "Pointer",
"required": true,
"targetClass": "CrewMember"
},
"quantityKg": {
"type": "Number",
"required": true
},
"status": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "ColdChainEntry",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"entryId": {
"type": "String",
"required": true
},
"catchLog": {
"type": "Pointer",
"required": true,
"targetClass": "CatchLog"
},
"temperatureC": {
"type": "Number",
"required": true
},
"recordedAt": {
"type": "Date",
"required": true
},
"location": {
"type": "String",
"required": true
},
"recordedBy": {
"type": "Pointer",
"required": true,
"targetClass": "CrewMember"
},
"chainStatus": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "TraceAudit",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"auditId": {
"type": "String",
"required": true
},
"catchLog": {
"type": "Pointer",
"required": true,
"targetClass": "CatchLog"
},
"reviewer": {
"type": "Pointer",
"required": true,
"targetClass": "CrewMember"
},
"reviewedAt": {
"type": "Date",
"required": true
},
"result": {
"type": "String",
"required": true
},
"notes": {
"type": "String",
"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. 船只:船只ID(字符串,必填),IMO号码(字符串),船长姓名(字符串),母港(字符串),许可状态(字符串),objectId,createdAt,updatedAt(系统)。 4. 冷链条目:批次代码(字符串,必填),捕获日志(指向捕获日志的指针,必填),温度摄氏(数字,必填),记录时间(日期,必填),处理人(指向用户的指针);objectId,createdAt,updatedAt(系统)。 5. 检查:捕获日志(指向捕获日志的指针,必填),检查员姓名(字符串,必填),检查日期(日期,必填),结果(字符串,必填),备注(字符串);objectId,createdAt,updatedAt(系统)。 安全性: - 只有用户可以更新/删除自己的条目。使用云代码验证船只ID,捕获地点和温度摄氏。 认证: - 注册,登录,登出。 行为: - 列出捕获日志,注册船只,记录冷链条目和审查检查。 交付: - 带有架构、ACL、CLP的 Back4app 应用;用于捕获日志、船只、冷链历史和检查的前端。
按下面的按钮打开带有此模板提示预填的代理。
这是没有技术后缀的基本提示。您可以随后调整生成的前端堆栈。
API游乐场
尝试使用伪造数据的 REST 和 GraphQL 端点,针对海产品可追溯性架构。响应使用模拟数据,并且不需要 Back4app 账户。
使用与此模板相同的架构。
选择您的技术
展开每个卡片以查看如何将 CatchLog、Vessel 和 ColdChainEntry 集成到您选择的技术栈中。
Flutter 海鲜可追溯性后端
React 海鲜可追溯性后端
React 原生 海鲜可追溯性后端
Next.js 海鲜可追溯性后端
JavaScript 海鲜可追溯性后端
Android 海鲜可追溯性后端
iOS 海鲜可追溯性后端
Vue 海鲜可追溯性后端
Angular 海鲜可追溯性后端
GraphQL 海鲜可追溯性后端
REST API 海鲜可追溯性后端
PHP 海鲜可追溯性后端
.NET 海鲜可追溯性后端
您可以获得的每项技术的内容
每个技术栈都使用相同的海鲜可追溯性后端结构和 API 合同。
统一的海鲜日志结构
使用一个一致的模式管理捕捞日志、船只 ID 和冷链条目。
海鲜操作的可追溯性视图
查看捕捞地点日志和检查记录,而无需重塑数据层。
海鲜批次的冷链历史
跟踪批次代码、温度(摄氏度)和记录时间,贯穿存储和交接步骤。
海鲜团队的用户角色
定义经理、协调员和现场员工在可追溯性工作流程中的访问权限。
海鲜框架比较
比较所有支持技术的设置速度、SDK 风格和 AI 支持。
| 框架 | 设置时间 | 海鲜益处 | SDK 类型 | AI支持 |
|---|---|---|---|---|
| 大约5分钟 | 用于移动和网络的海鲜可追溯性的单一代码库。 | 类型化SDK | 完整 | |
| 少于5分钟 | 快速网络仪表板用于捕捞日志和船只ID。 | 类型化SDK | 完整 | |
| ~3–7分钟 | 用于现场海鲜记录的跨平台移动应用。 | 类型化SDK | 完整 | |
| 快速(5分钟)设置 | 服务器渲染的海鲜操作门户。 | 类型化SDK | 完整 | |
| ~3–5分钟 | 用于捕捞和冷链视图的轻量级网络集成。 | 类型化SDK | 完整 | |
| 大约5分钟 | 针对海鲜领域工作人员的原生 Android 应用程序。 | 输入的SDK | 完整 | |
| 不到 5 分钟 | 针对船舶和卸货记录的原生 iOS 应用程序。 | 输入的SDK | 完整 | |
| 大约 3–7 分钟 | Reactive 网络用户界面,用于海鲜追溯。 | 输入的SDK | 完整 | |
| 快速 (5 分钟) 设置 | 海鲜协调员的企业网络应用。 | 输入的SDK | 完整 | |
| 不足2分钟 | 灵活的GraphQL API用于捕捞记录和冷链历史。 | GraphQL API | 完整 | |
| 快速(2分钟)设置 | REST API 集成用于海鲜追溯。 | REST API | 完整 | |
| ~3分钟 | 服务器端PHP后端用于海鲜报告。 | REST API | 完整 | |
| 3-7分钟 | .NET用于海鲜操作的后端。 | 输入的SDK | 完整 |
设置时间反映从项目启动到使用此模板架构的第一次捕捞日志或船只查询的预期持续时间。
常见问题
关于如何使用此模板构建海鲜追溯后台的常见问题。