Files
pig-farm-controller/bmad/development-guide-main-zh.md
2025-11-01 19:22:39 +08:00

2.0 KiB
Raw Blame History

开发指南 - 主模块

本文档概述了猪场控制器应用程序的开发和操作方面。

1. 开发设置

1.1. 技术栈

  • 语言: Go 1.25
  • Web 框架: Echo v4.13.4
  • ORM: GORM v1.30.5
  • 数据库: PostgreSQL (TimescaleDB)
  • 日志: Zap v1.27.0
  • API 文档: Swaggo v1.16.6

1.2. 先决条件

  • Go 1.25 或更高版本
  • PostgreSQL (如果使用 TimescaleDB 扩展)

1.3. 安装

  1. 克隆仓库:
    git clone git.huangwc.com/pig/pig-farm-controller.git
    cd pig-farm-controller
    
  2. 下载 Go 模块:
    go mod tidy
    
  3. 配置应用程序: 将 config.example.yml 复制到 config.yml 并更新必要的字段,特别是 jwt_secret、数据库凭据和 ChirpStack API 令牌。
    cp config.example.yml config.yml
    # 编辑 config.yml
    

1.4. 运行应用程序

要运行应用程序,您可以使用 go run 命令或 make run(如果定义了 Makefile 目标)。

# 使用 go run
go run main.go

# 使用 Makefile (如果存在 'run' 目标)
make run

1.5. 测试

运行单元测试和集成测试:

go test ./...

2. 操作信息

2.1. 配置

应用程序配置通过 config.yml 进行管理。主要可配置参数包括:

  • app.jwt_secret: JWT 签名密钥。
  • server.port: HTTP 服务器监听端口。
  • database: PostgreSQL 连接详细信息主机、端口、用户名、密码、数据库名、SSL 模式、是否为 TimescaleDB
  • log: 日志级别、格式和文件输出设置。
  • chirp_stack: ChirpStack API 主机和令牌。
  • lora_mesh: LoRa Mesh 特定配置UART 端口、波特率等)。

2.2. 日志

日志配置为根据 config.yml 输出到控制台和文件 (./app_logs/app.log)。日志级别可以调整。

2.3. 部署

未找到明确的 Dockerfile 或 CI/CD 流水线配置。部署预计将通过手动或基于编译后的 Go 二进制文件和 config.yml 的自定义脚本进行处理。