Some checks failed
Build docker and publish / linux (1.24.5) (push) Failing after 25s
feat(admin): 新增工会管理功能 feat(activity): 添加活动管理相关服务 feat(user): 实现用户道具卡和积分管理 feat(guild): 新增工会成员管理功能 fix: 修复数据库连接配置 fix: 修正jwtoken导入路径 fix: 解决端口冲突问题 style: 统一代码格式和注释风格 style: 更新项目常量命名 docs: 添加项目框架和开发规范文档 docs: 更新接口文档注释 chore: 移除无用代码和文件 chore: 更新Makefile和配置文件 chore: 清理日志文件 test: 添加道具卡测试脚本
2.3 KiB
2.3 KiB
项目和任务特性规范
原始需求
梳理项目框架,为后续开发做准备。
边界确认
- 目标: 分析现有项目结构、技术栈、架构模式、依赖关系,并输出分析报告。
- 范围: 仅分析现有代码库,不涉及运行时环境或外部系统。
需求理解
该项目是一个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(从gormgen和internal/repository/mysql目录推断)。 - 数据库:
MySQL。 - 文档:
Swagger。 - 部署:
Docker。
疑问澄清
- Web框架具体是哪个? Gin
- 项目依赖了哪些主要的第三方库? GORM, Viper, Zap, Gin
service和services两个目录的区别是什么?service目录为空,services目录用于存放按功能模块组织的业务逻辑,但目前未被积极使用。proposal目录的作用是什么? 定义了用于告警、日志等目的的数据结构和处理器。
接下来,我将通过分析 go.mod 文件来解答这些疑问。