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

3.8 KiB
Raw Blame History

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  # 项目的入口文件,负责初始化数据库、设置路由并启动服务器

数据库表

  1. 用户表 (users):存储用户的基本信息,如用户名、密码、电子邮件等。

  2. 帖子表 (posts):存储帖子的基本信息,如标题、内容、作者等。

  3. 评论表 (comments):存储帖子的评论信息,如评论内容、评论者、评论时间等。

  4. 板块表 (categories):存储论坛的板块信息,如板块名称、描述等。

  5. 用户角色表 (roles):存储用户的角色信息,如管理员、普通用户等。

  6. 用户角色关联表 (user_roles):存储用户和角色的关联信息。

  7. 会话表 (sessions):存储用户的会话信息,用于用户登录和身份验证。