# GoShop **Repository Path**: xidear/go-shop ## Basic Information - **Project Name**: GoShop - **Description**: No description available - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-29 - **Last Updated**: 2025-09-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GoShop #### 项目介绍 **GoShop** 是一个基于Go语言开发的高并发商城系统,专为单店铺自营电商打造。 ### 🎯 项目目的 - **高并发架构**: 支持万级并发访问,采用分布式架构保证系统稳定性 - **单店铺模式**: 专注于单店铺自营业务,提供完整的电商解决方案 - **现代化技术栈**: 使用Go + Gin + GORM等主流技术,提供高性能的API服务 - **全端覆盖**: 包含后台管理系统、客户端应用,打造完整的电商生态 ### ✨ 核心特性 - 🚀 **高性能**: Go语言原生高并发支持,Gin框架保证API响应速度 - 🔒 **高可用**: 完善的错误处理、日志记录、监控告警机制 - 📱 **全平台**: 支持Web端、移动端等多平台访问 - 🛡️ **高安全**: JWT认证、数据验证、SQL注入防护等安全措施 - 📊 **易管理**: 提供完善的管理后台,支持商品、订单、用户等全方位管理 #### 软件架构 基于流行Gin项目的架构设计,采用分层架构和依赖注入模式: ``` goshop/ ├── cmd/ # 主程序入口 │ ├── server/ # HTTP服务器入口 │ └── migrate/ # 数据库迁移工具 ├── internal/ # 私有应用代码 (核心业务) │ ├── api/ # API层 (控制器层) │ │ ├── v1/ # API v1版本 │ │ │ ├── user/ # 用户相关API │ │ │ ├── product/ # 商品相关API │ │ │ ├── order/ # 订单相关API │ │ │ ├── payment/ # 支付相关API │ │ │ └── customer-service/ # 客服系统API │ │ └── middleware/ # API专用中间件 │ ├── service/ # 业务逻辑层 (服务层) │ ├── repository/ # 数据访问层 (Repository层) │ ├── model/ # 数据模型层 │ ├── config/ # 配置管理 │ ├── cache/ # 缓存层 │ ├── middleware/ # 全局中间件 │ ├── router/ # 路由管理 │ ├── auth/ # 认证授权 │ ├── utils/ # 工具函数 │ └── database/ # 数据库连接管理 ├── pkg/ # 可复用的公共包 (工具库) ├── configs/ # 配置文件 ├── scripts/ # 构建和部署脚本 ├── docs/ # 文档 │ ├── database_customer_service_system.md # 客服数据库设计 │ ├── customer_service_api_guide.md # 客服API文档 │ └── API_DOCUMENTATION.md # 完整API文档 ├── test/ # 测试文件 ├── docker/ # Docker相关 ├── web/ # 前端项目目录 │ ├── admin/ # 后台管理系统 (Vue.js) │ │ ├── src/ # 源码目录 │ │ │ ├── views/customer-service/ # 客服管理页面 │ │ │ ├── api/customer-service.js # 客服API调用 │ │ │ └── components/CustomerChat.vue # 客服聊天组件 │ │ ├── public/ # 静态资源 │ │ ├── package.json # 项目配置 │ │ └── README.md # 项目说明 │ └── client/ # 客户端应用 (uni-app) │ ├── src/ # 源码目录 │ ├── static/ # 静态资源 │ ├── pages/ # 页面文件 │ │ └── customer-service/ # 客服相关页面 │ ├── components/ # 组件 │ ├── package.json # 项目配置 │ └── manifest.json # 应用配置 ├── go.mod # Go模块文件 └── README.md # 项目说明 ``` #### 架构特点 - **分层架构**: 清晰的API → Service → Repository三层架构 - **依赖注入**: 使用Wire进行依赖管理,避免循环依赖 - **接口定义**: 各层通过接口解耦,便于测试和扩展 - **统一规范**: 错误处理、日志、配置等统一管理 - **工具分离**: 业务代码与工具代码分离,pkg包可复用 #### 🚀 快速开始 ##### 环境要求 - Go 1.21+ - MySQL 8.0+ - Redis 6.0+ ##### 安装步骤 1. **克隆项目** ```bash git clone https://gitee.com/your-username/goshop.git cd goshop ``` 2. **检查编码规范** ```bash # Windows PowerShell .\scripts\check_rules.ps1 # 使用批处理脚本 scripts\check_rules.bat ``` 3. **安装依赖** ```bash go mod download ``` 4. **配置环境** ```bash cp configs/config.example.yaml configs/config.yaml # 编辑 configs/config.yaml 配置数据库等信息 ``` 5. **运行后端项目** ```bash go run cmd/server/main.go ``` #### 前端开发 ##### 后台管理系统开发 ```bash # 进入后台管理目录 cd web/admin # 安装依赖 npm install # 启动开发服务器 npm run dev ``` ##### 客户端应用开发 ```bash # 进入客户端应用目录 cd web/client # 安装依赖 npm install # H5开发 npm run dev:h5 # 微信小程序开发 npm run dev:mp-weixin ``` #### 📋 开发规范 ##### 编码规范检查 **重要**: 在开始任何开发工作前,请务必先运行规则检查: ```bash # Windows PowerShell (推荐) .\scripts\check_rules.ps1 # 使用批处理脚本 scripts\check_rules.bat ``` ##### 核心规范 - 📖 [详细编码规范](CODING_GUIDELINES.md) - 🔧 使用 `gofmt` 格式化代码 - 📝 遵循Go官方命名规范 - 🧪 编写单元测试和集成测试 - 🔒 实施安全编码实践 ##### 代码质量工具 ```bash # 格式化代码 gofmt -w . # 整理导入 goimports -w . # 代码检查 golint ./... # 运行测试 go test -v ./... ``` #### 🤝 参与贡献 ##### 开发流程 1. **Fork 本仓库** 2. **检查编码规范** ```bash .\scripts\check_rules.ps1 ``` 3. **新建功能分支** ```bash git checkout -b feature/your-feature-name ``` 4. **提交代码** - 确保代码符合编码规范 - 编写完整的单元测试 - 更新相关文档 - **禁止自动推送**,每次推送前必须手动审查 5. **代码审查** - 发起 Pull Request - 等待代码审查和测试通过 6. **合并代码** ##### Git规范 - **推送要求**: 仅在测试通过后手动推送,禁止自动推送 - **分支保护**: main分支受保护,必须通过PR合并 - **提交规范**: 使用清晰的提交信息,关联相关问题 ##### 分支命名规范 - `feature/功能名称` - 新功能开发 - `bugfix/问题描述` - 问题修复 - `hotfix/紧急修复` - 紧急修复 - `refactor/重构内容` - 代码重构 ##### 提交信息规范 ``` type(scope): description [可选的详细描述] [可选的关闭问题引用] ``` **类型说明**: - `feat`: 新功能 - `fix`: 修复bug - `docs`: 文档更新 - `style`: 代码格式调整 - `refactor`: 代码重构 - `test`: 测试相关 - `chore`: 构建过程和工具配置 #### 🛠️ 技术栈 ### 后端技术栈 - **框架**: Gin (高性能Web框架) - **ORM**: GORM (Go ORM框架) - **数据库**: MySQL 8.0 - **缓存**: Redis 6.0 - **配置**: Viper (配置管理) - **日志**: Zap (结构化日志) - **验证**: Go Validator v10 (数据验证) - **测试**: Go testing + Testify (测试框架) - **文档**: Swagger (API文档) - **部署**: Docker + GitHub Actions (CI/CD) - **依赖注入**: Google Wire (依赖管理) ### 前端技术栈 #### 后台管理系统 (Vue.js) - **框架**: Vue 3 + TypeScript - **UI库**: Element Plus - **状态管理**: Pinia - **路由**: Vue Router 4 - **HTTP客户端**: Axios - **构建工具**: Vite - **代码规范**: ESLint + Prettier #### 客户端应用 (uni-app) - **框架**: uni-app + Vue 3 - **UI库**: uni-ui + uView - **状态管理**: Pinia - **HTTP客户端**: uni.request - **构建工具**: HBuilderX / CLI - **多端支持**: H5、小程序、App #### 📊 项目状态 - ✅ 编码规范制定完成 - ✅ 项目结构定义完成 - ✅ 基础代码框架搭建完成 - ✅ 配置文件和中间件实现 - ✅ 前端项目结构规划完成 - ✅ 客服系统设计完成 - 🚧 业务模块开发中 (用户、商品、订单、支付) - 📝 API文档编写中 - 📋 客服系统数据库设计完成 - 📋 客服系统API接口文档完成 #### 📞 联系方式 - 项目主页: [Gitee](https://gitee.com/your-username/goshop) - 问题反馈: [Issues](https://gitee.com/your-username/goshop/issues) - 开发文档: [Wiki](https://gitee.com/your-username/goshop/wiki)