| .. | ||
| 01-architecture.md | ||
| 02-runtime-flows.md | ||
| 03-data-model.md | ||
| 04-er-diagrams.md | ||
| 05-data-bridge-integration.md | ||
| README.md | ||
FastBee 项目知识库
本知识库用于快速理解 FastBee 当前仓库的整体架构、运行链路、模块职责和数据库关系。内容基于本仓库代码、Maven 配置、application*.yml 和 sql/yack-20260316.sql 梳理。
阅读路径
- 整体架构:项目分层、模块边界、依赖入口、前后端组成。
- 核心运行链路:启动、设备接入、上报、下发、规则引擎、视频和通知链路。
- 数据库与表关系:表分组、核心实体、业务关联、真实外键和约定关联。
- 数据库关系图:按业务域拆分的 Mermaid ER 图。
- 数据桥接对接文档:设备/物模型查询、设备上报数据推送和第三方主动查询。
当前结论
- 后端是 Java 8 + Spring Boot 2.5.14 的 Maven 多模块工程,主入口是
fastbee-admin。 - 前端包含三个独立应用:
yack-web管理后台、yack-view低代码可视化、yack-appUniApp 移动端。 - IoT 接入由
fastbee-server下的 Netty 协议服务承载,协议编解码在fastbee-protocol,业务处理集中在fastbee-iot-data和fastbee-service/fastbee-iot-service。 - 设备消息队列当前主要是 JVM 内本地
LinkedBlockingQueue队列族,fastbee-mq模块名称虽为 MQ,但核心代码不是外部 RocketMQ Consumer 模式。 - 主库初始化脚本为
sql/yack-20260316.sql。脚本中大部分业务表没有数据库外键,关系依靠字段命名、联合主键、索引和业务代码约定;Quartz 表保留了真实外键约束。
维护约定
- 业务逻辑、表关系和配置变化后,同步更新本目录对应文档。
- 表关系文档中用“强约束”表示 SQL 外键,用“业务约定”表示代码和字段约定形成的关系。
- 不把推断关系写成数据库强约束,除非 SQL 中确实存在
FOREIGN KEY。