go-backend-clean-architecture:一个Golang后端整洁Clean清洁架构项目


一个带有 Gin、MongoDB、JWT 身份验证中间件、测试和 Docker 的 Go (Golang) 后端清洁架构项目。

您可以使用此项目作为模板,在此项目之上使用 Go 语言构建您的后端项目。
在创建这个项目之前,我已经在 GitHub 上浏览了 20 多个与 Go(Golang) Clean Architecture 相关的项目。
感谢所有这些项目,我从中学到了很多东西。正如我一直说的:
学习编码的最好方法就是编码。但是,要写出好的代码,您还必须阅读好的代码。养成阅读好的代码的习惯。您可以在 GitHub 上找到许多开源项目并开始阅读。
然后对于实施部分,我结合了我所有的想法、经验和从这些项目中学到的知识来创建这个项目。
和往常一样,我很乐意获得有关我的项目的反馈。这对每个人都有帮助,最重要的是对我有帮助。
从博客文章中详细了解此项目架构:Go Backend Clean Architecture

项目的架构层

  • 路由器
  • 控制器
  • 用例
  • 仓储库
  • 领域

本项目中使用的主要包

  • gin:Gin 是一个用 Go (Golang) 编写的 HTTP Web 框架。它具有类似 Martini 的 API,具有更好的性能——速度提高了 40 倍。如果您需要出色的表演,请给自己喝点杜松子酒。
  • mongo go driver:MongoDB 的官方 Golang 驱动程序。
  • jwt:JSON Web Tokens 是一种开放的、行业标准的 RFC 7519 方法,用于在两方之间安全地表示声明。用于访问令牌和刷新令牌。
  • viper:用于从.env文件加载配置。去配置毒牙。查找、加载和解组 JSON、TOML、YAML、HCL、INI、envfile 或 Java 属性格式的配置文件。
  • bcrypt:包 bcrypt 实现了 Provos 和 Mazières 的 bcrypt 自适应哈希算法。
  • testify:一个带有常见断言和模拟的工具包,可以很好地与标准库配合使用。
  • mockery:用于测试的 Golang 模拟代码自动生成器。
  • 在go.mod.