项目简介
本项目是一个基于Gin框架和GORM库开发的电子商城系统,具备用户管理、商品管理、购物车管理等一系列功能,同时注重数据安全和日志管理。
项目的主要特性和功能
- 用户管理:支持用户注册登录(使用jwt - go),可进行基本信息修改、解绑定邮箱、修改密码等操作。
- 商品管理:实现商品的发布和浏览功能,记录各个商品的浏览次数以及部分种类商品的排行。
- 购物车管理:支持商品加入购物车、从购物车删除以及浏览购物车内容。
- 订单处理:包括订单的创建、删除和支付等操作,支持事务,支付错误可回退处理。
- 地址管理:可以进行地址的增加、删除和修改。
- 数据安全:设置支付密码,对用户金额进行对称加密。
- 图片上传:支持将图片上传到对象存储,也可切换分支上传到本地static目录。
- 日志管理:添加ELK体系,方便日志查看和管理。
安装使用步骤
前提条件
用户已下载本项目的源码文件,且安装了Go语言环境,并配置好MySQL数据库和Redis缓存服务。
配置文件
将config/locales/config.yaml.example
重命名为config.yaml
,并根据实际情况修改配置,如数据库连接信息、Redis连接信息等。
运行方式
手动运行
```bash cd./cmd go run main.go
go mod tidy cd./cmd go build -o../main ./main ``` 注意:手动运行方式不支持Skywalking,如果需要支持Skywalking,可以参考Makefile,按照文件内命令编译。
脚本运行
在项目根目录下,可使用Makefile中内置的指令:
bash
make tools # 构建Skywalking - Agent二进制文件
make # 构建二进制文件并自动运行
make build # 构建二进制文件
make env - up # 拉起项目环境
make env - down # 停止并删除环境
make docker - up # 以容器方式拉起项目
make docker - down # 停止并删除容器
对于第一次运行本项目,可以按如下顺序执行:
1. 在Makefile中的前几行修改ARCH
和OS
以对应自己的电脑系统,在注释中提供了可选项。
2. 运行如下代码:
bash
make env - up tools build # 拉起项目环境、编译Agent、构建项目二进制文件
./main # 运行项目
接口测试
打开Postman,点击导入,选择项目中的接口文件进行导入。点击Collection标题(gin - mall),在Variables
中新增一个名为url
的变量,Initial value和Current value均填入localhost:5001/api/v1/
,然后保存,即可开始测试。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】