bmad初始化
This commit is contained in:
		
							
								
								
									
										78
									
								
								bmad/development-guide-main-zh.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								bmad/development-guide-main-zh.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,78 @@
 | 
			
		||||
# 开发指南 - 主模块
 | 
			
		||||
 | 
			
		||||
本文档概述了猪场控制器应用程序的开发和操作方面。
 | 
			
		||||
 | 
			
		||||
## 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.  **克隆仓库**:
 | 
			
		||||
    ```bash
 | 
			
		||||
    git clone git.huangwc.com/pig/pig-farm-controller.git
 | 
			
		||||
    cd pig-farm-controller
 | 
			
		||||
    ```
 | 
			
		||||
2.  **下载 Go 模块**:
 | 
			
		||||
    ```bash
 | 
			
		||||
    go mod tidy
 | 
			
		||||
    ```
 | 
			
		||||
3.  **配置应用程序**:
 | 
			
		||||
    将 `config.example.yml` 复制到 `config.yml` 并更新必要的字段,特别是 `jwt_secret`、数据库凭据和 ChirpStack API 令牌。
 | 
			
		||||
    ```bash
 | 
			
		||||
    cp config.example.yml config.yml
 | 
			
		||||
    # 编辑 config.yml
 | 
			
		||||
    ```
 | 
			
		||||
 | 
			
		||||
### 1.4. 运行应用程序
 | 
			
		||||
 | 
			
		||||
要运行应用程序,您可以使用 `go run` 命令或 `make run`(如果定义了 Makefile 目标)。
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
# 使用 go run
 | 
			
		||||
go run main.go
 | 
			
		||||
 | 
			
		||||
# 使用 Makefile (如果存在 'run' 目标)
 | 
			
		||||
make run
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### 1.5. 测试
 | 
			
		||||
 | 
			
		||||
运行单元测试和集成测试:
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
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` 的自定义脚本进行处理。
 | 
			
		||||
		Reference in New Issue
	
	Block a user