项目背景

2022年TodoList有一项是完成一个开源项目,加上自己尝试用go作为主要的开发语言,于是便突发奇想,用go来做一个开源项目。
因为独立设计到实现一个前后端的完成项目可太难了,加上自己的初衷只是为了熟悉go 的语法,于是便在github上找到了 新蜂商城

新蜂商城

原项目的单机版本一共有三个仓库

前端代码开箱即用,且后端使用的技术栈就是springboot+mysql,代码逻辑清晰,非常适合作为一个学习项目。
当我在qq群联系到作者表明我的想法后,原作者程序员十三表示如果完成的不错还会帮我推广,于是我便开始快乐的抄作业了。

这个开源项目之前有被某课网拿来做收费教程,被作者起诉了,起诉书!慕课网你敢抄袭,我就敢起诉你!

go语言版本新蜂商城

项目地址:https://github.com/newbee-ltd/newbee-mall-api-go相关技术栈

  • zap 高性能日志库
  • viper 配置管理神器
  • gorm orm库
  • gin web框架

目录结构说明

文件夹说明描述
apiapi层api层
--mall商城接口商城接口
--manage商城后管接口商城后管接口
config配置包config.yaml对应的配置结构体
core核心文件核心组件(zap, viper, server)的初始化
global全局对象全局对象
initialize初始化router,redis,gorm,validator, timer的初始化
--internal初始化内部函数gorm 的 longger 自定义,在此文件夹的函数只能由 initialize 层进行调用
middleware中间件层用于存放 gin 中间件代码
model模型层模型对应数据表
router路由层路由层
serviceservice层存放业务逻辑问题
utils工具包工具函数封装

结合原项目的前端项目可直接在本地启动,如果您发现了bug或者有优化的建议可以提交issue或者直接提交代码,我会尽快修复

结语

目前代码中很多需要优化的地方,比如项目实现的过程中还是有一些地方不知道通过go如何优雅的实现,java 的枚举类,一些判空,一些重复的代码…
如果您有优化建议还请不吝赐教

感谢

Logo

前往低代码交流专区

更多推荐