bbs-backend/README.md
2024-11-19 21:10:35 +08:00

83 lines
3.8 KiB
Markdown
Raw Permalink 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.

# bbs-backend
## 目录结构
```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`)**:存储用户的会话信息,用于用户登录和身份验证。