All Projects → congz666 → Cmall Go

congz666 / Cmall Go

Licence: mit
golang写的电子商城的API接口

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Labels

Projects that are alternatives of or similar to Cmall Go

Gosql
golang orm and sql builder
Stars: ✭ 141 (-15.57%)
Mutual labels:  gorm, gin
Goforum
Let's go a forum
Stars: ✭ 23 (-86.23%)
Mutual labels:  gorm, gin
Go Gin Api
基于 Gin 进行模块化设计的 API 框架,封装了常用功能,使用简单,致力于进行快速的业务研发。比如,支持 cors 跨域、jwt 签名验证、zap 日志收集、panic 异常捕获、trace 链路追踪、prometheus 监控指标、swagger 文档生成、viper 配置文件解析、gorm 数据库组件、gormgen 代码生成工具、graphql 查询语言、errno 统一定义错误码、gRPC 的使用 等等。
Stars: ✭ 730 (+337.13%)
Mutual labels:  gorm, gin
Go Admin
基于Gin + Vue + Element UI的前后端分离权限管理系统脚手架(包含了:多租户的支持,基础用户管理功能,jwt鉴权,代码生成器,RBAC资源控制,表单构建,定时任务等)3分钟构建自己的中后台项目;文档:https://doc.go-admin.dev Demo: https://www.go-admin.dev Antd beta版本:https://preview.go-admin.dev
Stars: ✭ 5,439 (+3156.89%)
Mutual labels:  gin, gorm
Logrus
Hooks for logrus logging
Stars: ✭ 110 (-34.13%)
Mutual labels:  gorm, gin
Go Gin Example
An example of gin
Stars: ✭ 4,992 (+2889.22%)
Mutual labels:  gorm, gin
Zendea
A free, open-source, self-hosted forum software written in Go 官方QQ群:656868
Stars: ✭ 116 (-30.54%)
Mutual labels:  gorm, gin
goft-gin
基于gin的开发脚手架
Stars: ✭ 108 (-35.33%)
Mutual labels:  gin, gorm
Ugin
UGin is an API boilerplate written in Go (Golang) with Gin Framework.
Stars: ✭ 110 (-34.13%)
Mutual labels:  gorm, gin
Ginbro
Converting a MySQL database'schema to a RESTful golang APIs app in the fastest way
Stars: ✭ 97 (-41.92%)
Mutual labels:  gorm, gin
Go Project Sample
Introduce the best practice experience of Go project with a complete project example.通过一个完整的项目示例介绍Go语言项目的最佳实践经验.
Stars: ✭ 344 (+105.99%)
Mutual labels:  gorm, gin
Golang Gin Realworld Example App
Exemplary real world application built with Golang + Gin
Stars: ✭ 1,780 (+965.87%)
Mutual labels:  gorm, gin
golang api
This is a source code of my golang restful api series on youtube.
Stars: ✭ 36 (-78.44%)
Mutual labels:  gin, gorm
Snake
🐍 一款小巧的基于Go构建的开发框架,可以快速构建API服务或者Web网站进行业务开发,遵循SOLID设计原则
Stars: ✭ 615 (+268.26%)
Mutual labels:  gorm, gin
lyanna
go的gin框架实现一个博客系统
Stars: ✭ 39 (-76.65%)
Mutual labels:  gin, gorm
Wblog
基于gin+gorm开发的个人博客项目
Stars: ✭ 763 (+356.89%)
Mutual labels:  gorm, gin
Go-bjut
A bbs system.
Stars: ✭ 60 (-64.07%)
Mutual labels:  gin, gorm
Go-Gin-Api
基于golang开源框架 gin封装的api框架
Stars: ✭ 42 (-74.85%)
Mutual labels:  gin, gorm
Duckygo
一个同时支持Session以及JWT的高性能高可用 Golang Restful API 脚手架 !
Stars: ✭ 57 (-65.87%)
Mutual labels:  gorm, gin
Ultimate Go
This repo contains my notes on working with Go and computer systems.
Stars: ✭ 1,530 (+816.17%)
Mutual labels:  gorm, gin

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:[email protected]/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 端口

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].