Code Monkey home page Code Monkey logo

cmall-go's Introduction

CMall 电子商城

此项目为前后端分离项目,已经部署至CMall http://cmall.congz.top/#/,用 golang 实现接口函数,如需要看前端请前往cmall-vue

前言

本人准备大三,拿这个项目学习一些新的技能,如果有错误或者实现不好的地方欢迎 issues

后续会实现支付功能(已完成),QQ 第三方登录 (已完成),重写搜索系统,后台管理系统,优化代码和数据库,因为即将开学,后续更新的进度可能会放慢。

如果觉得这个项目不错,您可以右上角 Star 支持一下!谢谢您的支持,您的支持是我完善的动力!

项目依赖

本项目采用了一系列 golang 中比较流行的组件来进行开发

  • Gin
  • Gorm
  • mysql
  • redis
  • godotenv
  • jwt-go
  • go-mail

使用的 SDK 或调用的 API

  • 阿里云 OSS
  • 极验
  • 支付 FM
  • QQ 第三方登录

目录结构

mall-go/
├── api
├── cache
├── conf
├── middleware
├── model
├── pkg
│	├── e
│	├── util
│   ├── sdk
├── serializer
├── server
└── service

  • api:用于定义接口函数

  • cache:redis 相关操作

  • conf:用于存储配置文件

  • middleware:应用中间件

  • model:应用数据库模型

  • pkg / e:封装错误码

  • pkg / util:工具函数

  • pkg / sdk: 极验 sdk 核心函数

  • serializer:将数据序列化为 json 的函数

  • server 路由逻辑处理

  • service:接口函数的实现

Godotenv

项目在启动的时候依赖以下环境变量,但是在也可以在项目根目录创建.env 文件设置环境变量便于使用(建议开发环境使用)

MYSQL_DSN="db_user:db_password@/db_name?charset=utf8&parseTime=True&loc=Local" # Mysql连接语句
REDIS_ADDR="127.0.0.1:6379" # Redis端口地址
REDIS_PW="" # Redis连接密码
REDIS_DB="" # Redis库从0到10
GIN_MODE="debug"#开发模式下使用debug
OSS_END_POINT="oss-cn-shenzhen.aliyuncs.com"#你的仓库所在的阿里云对象存储地域节点
OSS_ACCESS_KEY_ID=""#阿里云RAM访问控制用户ID
OSS_ACCESS_KEY_SECRET=""#阿里云RAM访问控制KEY
OSS_BUCKET=""#阿里云OSS仓库名
VAILD_EMAIL="http://localhost:8080/#/vaild/email/" #本地环境邮箱验证地址

#本项目用的是163邮箱STMP
SMTP_HOST=""#163是smtp.163.com
SMTP_EMAIL=""#发送邮件的邮箱
SMTP_PASS=""#SMTP服务的通行证

#极验配置
GEETEST_ID=""#极验账号对应的ID(需要申请)
GEETEST_KEY=""#极验账号对应的KEY(需要申请)

#以下是支付FM配置,详情请查阅支付FM文档
FM_Pay_ID=""#支付FM账号对应的ID
FM_Pay_Key=""#支付FM账号对应的KEY
FM_Pay_NotifyURL=""#支付FM回调地址
FM_Pay_ReturnURL=""#支付FM返回地址

#以下是QQ第三方登录配置,详情请查阅QQ开放平台帮助文档
QQ_Client_ID=""#申请QQ登录时的ID
QQ_Client_KEY=""#申请QQ登录时的KEY
QQ_Redirect_URI=""#QQ登录回调地址
QQ_State=""

运行

本项目使用Go Mod管理依赖。

git clone https://github.com/congz666/cmall-go.git
cd cmall-go
go run main.go

项目运行后启动在 3000 端口

cmall-go's People

Contributors

congz666 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cmall-go's Issues

sql文件

sql文件是否可以提供下呢,项目不会自动创建sql表结构

提几点建议

  1. 详情图片只能添加1张,这样图片要比较大才行,不是很好。
  2. 商品应该加上sku,spu和库存的设定,这样比较适合现实生产的情况。

好像后台管理还没完善是吗?
代码写得很好,加油!

admin管控界面是不是还没开发?

您好。我觉得您的项目代码很清晰,在学习中。
但是我看到是不是管理界面还没开发?比如添加删除商品,添加删除用户。我看到您后端里有admin的APIs, 但是vue的前端我找不到相关界面哎。

logic error

Hi, it's really a good work! 👍🏼
I tried to add 10 identical good to the shopping cart. and wen I saw my s cart, it's only be added once.
There may be many other hidden mistakes, please recheck and repair them!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.