bbs-backend/README.md

83 lines
3.8 KiB
Markdown
Raw Permalink Normal View History

2024-11-19 21:07:00 +08:00
# bbs-backend
2024-11-19 21:10:35 +08:00
## 目录结构
```bash
bbs-backend
|---api # API相关代码
| |---controller # 控制器
| | |---post_controller.go # 处理帖子相关的HTTP请求
| | |---user_controller.go # 处理用户相关的HTTP请求
| |---reply # 响应对象
| | |---post_reply.go # 定义帖子相关的响应对象
| | |---user_reply.go # 定义用户相关的响应对象
| |---request # 请求对象
| | |---post_request.go # 定义帖子相关的请求对象
| | |---user_request.go # 定义用户相关的请求对象
| |---router # 路由
| | |---router.go # 设置Gin路由将请求映射到相应的控制器
|---common # 通用代码
| |---app # 应用级别的配置和初始化逻辑
| | |---app.go # 应用级别的配置和初始化逻辑
| |---enum # 枚举类型
| | |---enum.go # 定义项目中使用的枚举类型
| |---errcode # 错误码
| | |---errcode.go # 定义项目中使用的错误码
| |---logger # 日志处理
| | |---logger.go # 定义日志处理的逻辑
| |---middleware # 中间件
| | |---middleware.go # 定义项目中使用的中间件
| |---util # 辅助函数
| | |---util.go # 包含项目中使用的辅助函数
| |---response # 统一的响应格式
| | |---response.go # 定义统一的响应格式
|---config # 配置文件
| |---config.go # 配置文件读取逻辑
| |---config.yaml # 定义项目的配置项,如数据库配置、服务器端口等
|---dal # 数据访问层
| |---cache # 缓存相关逻辑
| | |---cache.go # 定义缓存相关的逻辑
| |---dao # 数据访问对象,负责与数据库交互
| | |---post_dao.go # 定义帖子相关的数据访问对象
| | |---user_dao.go # 定义用户相关的数据访问对象
| |---db.go # 数据库连接初始化逻辑
| |---init_db.go # 数据库迁移和初始化数据插入逻辑
| |---model # 数据模型对象,表示数据库表结构
| | |---category_model.go # 定义板块的数据模型
| | |---comment_model.go # 定义评论的数据模型
| | |---post_model.go # 定义帖子的数据模型
| | |---role_model.go # 定义角色的数据模型
| | |---session_model.go # 定义会话的数据模型
| | |---user_model.go # 定义用户的数据模型
|---event # 事件处理
|---library # 第三方库或自定义库
|---logic # 业务逻辑层
| |---appservice # 应用服务,负责用例流的任务协调
| | |---post_service.go # 定义帖子相关的应用服务
| | |---user_service.go # 定义用户相关的应用服务
| |---domainservice # 领域服务,包含核心业务逻辑
| | |---post_domain_service.go # 定义帖子相关的领域服务
| | |---user_domain_service.go # 定义用户相关的领域服务
| |---do # 领域对象,表示业务实体
| | |---post_do.go # 定义帖子的领域对象
| | |---user_do.go # 定义用户的领域对象
|---resources # 静态资源文件
|---test # 测试脚本
|---main.go # 项目的入口文件,负责初始化数据库、设置路由并启动服务器
```
### 数据库表
1. **用户表 (`users`)**:存储用户的基本信息,如用户名、密码、电子邮件等。
2. **帖子表 (`posts`)**:存储帖子的基本信息,如标题、内容、作者等。
3. **评论表 (`comments`)**:存储帖子的评论信息,如评论内容、评论者、评论时间等。
4. **板块表 (`categories`)**:存储论坛的板块信息,如板块名称、描述等。
5. **用户角色表 (`roles`)**:存储用户的角色信息,如管理员、普通用户等。
6. **用户角色关联表 (`user_roles`)**:存储用户和角色的关联信息。
7. **会话表 (`sessions`)**:存储用户的会话信息,用于用户登录和身份验证。