From 5976eda61be4e5cfe25fa394a1553b34a12c20d5 Mon Sep 17 00:00:00 2001 From: Crimson Date: Tue, 19 Nov 2024 21:10:35 +0800 Subject: [PATCH] update README --- .gitignore | 1 + README.md | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 82 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index adf8f72..0bdfe4f 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ # Go workspace file go.work +test.db \ No newline at end of file diff --git a/README.md b/README.md index bd8393b..cdcb0c0 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,83 @@ # bbs-backend -golang开发的bbs后端 \ No newline at end of file +## 目录结构 + +```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`)**:存储用户的会话信息,用于用户登录和身份验证。 \ No newline at end of file