bindbox-game/docs/项目框架/ALIGNMENT_项目框架.md
邹方成 1ab39d2f5a
Some checks failed
Build docker and publish / linux (1.24.5) (push) Failing after 25s
refactor: 重构项目结构并重命名模块
feat(admin): 新增工会管理功能
feat(activity): 添加活动管理相关服务
feat(user): 实现用户道具卡和积分管理
feat(guild): 新增工会成员管理功能

fix: 修复数据库连接配置
fix: 修正jwtoken导入路径
fix: 解决端口冲突问题

style: 统一代码格式和注释风格
style: 更新项目常量命名

docs: 添加项目框架和开发规范文档
docs: 更新接口文档注释

chore: 移除无用代码和文件
chore: 更新Makefile和配置文件
chore: 清理日志文件

test: 添加道具卡测试脚本
2025-11-14 21:10:00 +08:00

2.3 KiB
Raw Blame History

项目和任务特性规范

原始需求

梳理项目框架,为后续开发做准备。

边界确认

  • 目标: 分析现有项目结构、技术栈、架构模式、依赖关系,并输出分析报告。
  • 范围: 仅分析现有代码库,不涉及运行时环境或外部系统。

需求理解

该项目是一个Go语言编写的后端服务命名为 bindbox_game,可能是一个“盲盒游戏”相关的应用。

从目录结构来看,项目遵循了一定的分层架构或整洁架构思想,主要模块包括:

  • cmd/: 存放可执行命令,如代码生成器 (gormgen, handlergen)。
  • configs/: 配置文件,区分不同环境 (dev, fat, pro, uat)。
  • deploy/: 部署相关文件,如 docker-compose.yaml
  • docs/: 项目文档,包括 swagger 定义和一些说明文档。
  • internal/: 项目核心业务逻辑,这是分析的重点。
  • scripts/: 辅助脚本。
  • static/: 静态资源。

internal/ 目录下的结构进一步体现了分层设计:

  • api/: API接口定义按模块划分admin)。
  • repository/: 数据仓库层,负责与数据库交互,使用了 gorm(从 gormgen 推断)和 mysql
  • service/services/: 服务层,处理核心业务逻辑。
  • router/: 路由定义和中间件。
  • pkg/: 可重用的公共库或工具类,如日志、错误处理、加解密等。
  • code/: 业务状态码定义。
  • metrics/: 监控指标。
  • alert/: 告警。

技术栈和依赖推断:

  • 语言: Go
  • Web框架: 可能是 Gin 或类似框架(需要查看 go.mod 确认)。
  • ORM: GORM(从 gormgeninternal/repository/mysql 目录推断)。
  • 数据库: MySQL
  • 文档: Swagger
  • 部署: Docker

疑问澄清

  • Web框架具体是哪个 Gin
  • 项目依赖了哪些主要的第三方库? GORM, Viper, Zap, Gin
  • serviceservices 两个目录的区别是什么? service 目录为空,services 目录用于存放按功能模块组织的业务逻辑,但目前未被积极使用。
  • proposal 目录的作用是什么? 定义了用于告警、日志等目的的数据结构和处理器。

接下来,我将通过分析 go.mod 文件来解答这些疑问。