项目初始化

This commit is contained in:
2025-12-10 19:03:24 +08:00
commit 04d920aa92
14 changed files with 909 additions and 0 deletions

119
README.md Normal file
View File

@@ -0,0 +1,119 @@
# RelationshipManagement-backend
基于 Gin 框架的分层架构后端项目
## 项目结构
```
RelationshipManagement-backend/
├── main.go # 应用入口
├── go.mod # Go 模块依赖
├── config/ # 配置层
│ └── config.go # 配置管理
├── model/ # 数据模型层
│ └── user.go # 用户模型
├── dao/ # 数据访问层 (Data Access Object)
│ ├── db.go # 数据库连接
│ └── user_dao.go # 用户数据访问
├── service/ # 业务逻辑层
│ └── user_service.go # 用户服务
├── handler/ # 处理器层 (Controller)
│ └── user_handler.go # 用户处理器
├── router/ # 路由层
│ └── router.go # 路由配置
└── middleware/ # 中间件
├── cors.go # 跨域中间件
├── logger.go # 日志中间件
└── recovery.go # 恢复中间件
```
## 架构说明
### 分层架构
1. **Router 层** (`router/`)
- 负责路由配置和请求分发
- 将 HTTP 请求路由到对应的 Handler
2. **Handler 层** (`handler/`)
- 处理 HTTP 请求和响应
- 参数验证和绑定
- 调用 Service 层处理业务逻辑
3. **Service 层** (`service/`)
- 业务逻辑处理
- 数据验证和业务规则
- 调用 DAO 层进行数据操作
4. **DAO 层** (`dao/`)
- 数据访问对象
- 数据库 CRUD 操作
- 数据库连接管理
5. **Model 层** (`model/`)
- 数据模型定义
- 数据库表结构映射
6. **Config 层** (`config/`)
- 配置管理
- 环境变量读取
7. **Middleware 层** (`middleware/`)
- 全局中间件
- CORS、日志、错误恢复等
## 环境配置
通过环境变量配置(可选,有默认值):
- `SERVER_PORT`: 服务器端口(默认: 8080
- `GIN_MODE`: Gin 模式debug/release/test默认: debug
- `DB_HOST`: 数据库主机(默认: localhost
- `DB_PORT`: 数据库端口(默认: 3306
- `DB_USER`: 数据库用户(默认: root
- `DB_PASSWORD`: 数据库密码(默认: 空)
- `DB_NAME`: 数据库名称(默认: relationship_db
## 运行项目
1. 安装依赖:
```bash
go mod tidy
```
2. 配置数据库(可选,修改环境变量或代码中的默认值)
3. 运行项目:
```bash
go run main.go
```
4. 访问健康检查接口:
```
GET http://localhost:8080/health
```
## API 接口
### 用户相关接口
- `POST /api/users` - 创建用户
- `GET /api/users` - 获取用户列表(支持分页)
- `GET /api/users/:id` - 根据ID获取用户
- `PUT /api/users/:id` - 更新用户
- `DELETE /api/users/:id` - 删除用户
## 依赖说明
- **gin**: Web 框架
- **gorm**: ORM 框架
- **mysql**: MySQL 数据库驱动
- **logrus**: 日志库
## 开发建议
1. 添加新的业务模块时,按照相同的分层结构创建文件
2.`dao/db.go``AutoMigrate()` 函数中添加新模型的自动迁移
3. 根据实际需求调整中间件和配置
4. 生产环境建议使用配置文件(如 YAML、JSON替代环境变量