Files
pig-farm-controller/bmad/source-tree-analysis-zh.md
2025-11-01 19:22:39 +08:00

43 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 源代码树分析 - 主模块
本文档提供了项目源代码结构的带注释概述,重点关注包含核心应用程序逻辑的 `internal/` 目录。
```
internal/
├── app/ # 应用层:处理 HTTP 请求、DTO 和协调服务。
│ ├── api/ # API 定义和路由 (Echo 框架)。
│ ├── controller/ # 各领域(用户、设备、计划、猪场、监控)的请求处理器。
│ │ ├── device/ # 设备相关的 API 控制器。
│ │ ├── management/ # 管理相关的 API 控制器(例如,猪群批次)。
│ │ ├── monitor/ # 监控相关的 API 控制器。
│ │ ├── plan/ # 计划相关的 API 控制器。
│ │ └── user/ # 用户相关的 API 控制器。
│ ├── dto/ # 数据传输对象API 的请求/响应模型。
│ ├── middleware/ # HTTP 中间件(例如,身份验证、审计日志)。
│ ├── service/ # 应用服务:业务逻辑协调。
│ └── webhook/ # Webhook 处理器例如ChirpStack
├── core/ # 核心应用组件:初始化和数据设置。
│ ├── application.go # 主应用程序设置。
│ ├── component_initializers.go # 初始化各种应用程序组件。
│ └── data_initializer.go # 初始化核心数据。
├── domain/ # 领域层:业务逻辑和实体。
│ ├── audit/ # 审计相关的领域服务。
│ ├── device/ # 设备相关的领域服务。
│ ├── notify/ # 通知领域服务。
│ ├── pig/ # 猪只和猪群批次相关的领域服务。
│ ├── scheduler/ # 调度领域服务。
│ ├── task/ # 任务相关的领域服务。
│ └── token/ # 令牌管理领域服务。
└── infra/ # 基础设施层:外部关注点(数据库、日志、配置、外部 API
├── config/ # 配置管理。
├── database/ # 数据库连接和 ORM 设置 (PostgreSQL, SQLite)。
├── logs/ # 日志工具。
├── models/ # GORM 模型(数据库模式定义)。
├── notify/ # 通知实现Lark、SMTP、微信
├── repository/ # 数据仓库:数据库交互逻辑。
├── transport/ # 外部通信例如LoRaWAN ChirpStack
│ ├── lora/ # LoRaWAN 特定传输。
│ └── proto/ # 协议缓冲区定义。
└── utils/ # 通用工具。
```