简介
本项目实现了一个电商项目的核心功能,内容包括:用户登录、用户注册、jwt鉴权、商品分类管理、商品管理、订单管理、购物车管理。
技术栈
golang核心技术
学习本项目必须掌握golang核心技术,相关课程请参考:https://golang-tech-stack.com/tutorial/golang
mysql+gorm
本项目数据库采用mysql,orm映射采用gorm,相关课程请参考:https://golang-tech-stack.com/tutorial/gorm
web框架gin
本项目使用到了golang最流行的web框架gin,相关课程请参考:https://golang-tech-stack.com/tutorial/gin
jwt跨域鉴权
本项目使用jtw跨域鉴权技术,相关课程请参考:https://golang-tech-stack.com/tutorial/topic/golang-jwt
配置管理库viper
本项目使用到了配置管理库viper,相关课程请参考:https://golang-tech-stack.com/tutorial/topic/golang-viper
swagger api接口
本项目使用到了swagger生成接口文档,相关课程请参考:https://golang-tech-stack.com/tutorial/topic/golang-swagger
项目热加载技术air
本项目使用了热加载air库,相关课程请参考:https://golang-tech-stack.com/tutorial/topic/web-air
分页技术
本项目使用到了分页技术,相关课程请参考:https://golang-tech-stack.com/tutorial/topic/gin-gorm-page
项目开发工具
本项目既可以使用vscode开发、也可以使用goland开发,相关课程请参考:
https://golang-tech-stack.com/tutorial/topic/vscode_golang
https://golang-tech-stack.com/tutorial/topic/goland-golang
项目部署
本项目可以使用centos直接部署,也可以使用docker部署,相关技术请参考:
https://golang-tech-stack.com/tutorial/topic/gin-nginx
https://golang-tech-stack.com/tutorial/topic/go-project-docker
项目架构、术语、运行结果架构
本电商项目采用mvc设计模式,及Model-View-Controller设计模式,有五大模块:
- 用户模块user
- 商品分类模块category
- 商品模块product
- 订单模块order
- 购物车模块cart
目录结构
- api ,包括controller和router路由,向客户端提供api接口。
- config,系统配置文件和配置类
- docs,swagger文档配置类和配置文件
- domain,数据模型entity、数据逻辑repository、和业务逻辑service
- utils,系统工具类,jwt、中间件、分页等
术语
- api,appplication programming interface,api接口
- config,配置
- docs,文档
- domain,域
- utils,工具
- cart,购物车
- category,分类
- order,订单
- product,商品
- user,用户