golang开发的bbs后端
.idea | ||
api | ||
common | ||
config | ||
dal | ||
handlers | ||
logic | ||
migrations | ||
models | ||
routes | ||
src | ||
.gitignore | ||
go.mod | ||
go.sum | ||
LICENSE | ||
main.go | ||
README.md |
bbs-backend
目录结构
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 # 项目的入口文件,负责初始化数据库、设置路由并启动服务器
数据库表
-
用户表 (
users
):存储用户的基本信息,如用户名、密码、电子邮件等。 -
帖子表 (
posts
):存储帖子的基本信息,如标题、内容、作者等。 -
评论表 (
comments
):存储帖子的评论信息,如评论内容、评论者、评论时间等。 -
板块表 (
categories
):存储论坛的板块信息,如板块名称、描述等。 -
用户角色表 (
roles
):存储用户的角色信息,如管理员、普通用户等。 -
用户角色关联表 (
user_roles
):存储用户和角色的关联信息。 -
会话表 (
sessions
):存储用户的会话信息,用于用户登录和身份验证。