Goby 是一个基于微服务架构的现代化电商平台,采用 Go 语言开发后端,Next.js 开发前端,提供完整的电商解决方案。
goby/
├── app/ # 后端应用
│ ├── clients/ # 客户端代码
│ ├── common/ # 公共代码
│ ├── consts/ # 常量定义
│ ├── models/ # 数据模型
│ ├── rpc/ # RPC服务
│ ├── services/ # 业务服务
│ └── utils/ # 工具函数
└── delpoy/ # docker部署
goby-frontend/ # 前端应用
├── app/ # Next.js应用
├── components/ # React组件
├── public/ # 静态资源
└── styles/ # 样式文件
docs/ # 项目文档
- Go 1.20+
- Node.js 18+
- MySQL 8.0+
- Redis 6.0+
- 安装依赖
cd goby
go mod tidy- 配置数据库
# 修改 config/config.yaml 中的数据库配置- 启动docker
cd delpoy
docker compose-up- 启动服务
make run svc=...- 安装依赖
cd goby-frontend
npm install- 启动开发服务器
npm run dev- 编译
cd app
go build -o goby- 运行
./goby- 构建
cd web
npm run build- 启动
npm start- 遵循 Go 标准代码规范
- 使用 ESLint 进行前端代码检查
- 提交前进行代码格式化
- main: 主分支,用于生产环境
- develop: 开发分支,用于开发环境
- feature/*: 功能分支,用于新功能开发
- hotfix/*: 修复分支,用于紧急bug修复
feat: 新功能
fix: 修复bug
docs: 文档更新
style: 代码格式调整
refactor: 代码重构
test: 测试用例
chore: 构建过程或辅助工具的变动
# 后端测试
cd app
go test ./...
# 前端测试
cd web
npm test# API测试
cd tests/api
npm install
npm test
# 数据库测试
cd app
go test -v ./tests/database# 安装依赖
cd tests/e2e
npm install
# 运行测试
npm test# 负载测试
ab -n 1000 -c 100 http://localhost:8080/api/products# 漏洞扫描
zap-cli quick-scan --self-contained --start-options "-config api.disablekey=true" http://localhost:3000详细的测试说明请参考 测试说明文档。
- 用户注册/登录
- 个人信息管理
- 收货地址管理
- 订单历史查询
- 收藏夹管理
- 商品分类展示
- 商品搜索
- 商品详情
- 商品评价
- 库存管理
- 购物车管理
- 商品收藏
- 订单管理
- 支付系统
- 物流跟踪
- 优惠券管理
- 促销活动
- 折扣规则
- 限时特价
- 框架:Next.js 13+ (App Router)
- UI组件库:Ant Design
- 状态管理:React Context
- 数据请求:Axios
- 样式方案:Tailwind CSS
- 开发语言:Go
- 数据库:MySQL (GORM)
- 缓存:Redis
- 微服务框架:自定义微服务架构
- 用户服务 (User Service)
- 商品服务 (Product Service)
- 订单服务 (Order Service)
- 购物车服务 (Cart Service)
- 支付回调服务 (PayCallback Service)
- 网关服务 (Gateway Service)