首页
Preview

我的2023年项目模板,使用Go(Fiber和MongoDB)👨🏽‍💻

你会说西班牙语吗?在我的博客中查看西班牙语版本

我们已经接近2022年的尾声,这意味着我已经作为一名Golang开发人员全职工作了一年。在这一年的工作中,我发现了一些新的工具,可以帮助你在开发流程和文档编写方面更加高效,同时也找到了一种新的组织项目的方式,使它们能够健康地扩展。

技术栈 🧱

我们将对为该模板带来生命的工具进行简要介绍,并了解我目前使用它们的原因。

  • 路由器🚀:对于路由器,我选择使用Fiber,因为它在框架内部开发了多种工具,并且因为它的路由声明方式更加直观。
  • 数据库💾:对于数据存储,我选择了MongoDB,因为它易于部署,而且2022年和2021年我开发的大多数项目都要求我使用此数据库。
  • 文档编写📄:在专业领域开发项目时,最重要的部分之一是文档编写,记住你将与更多的开发人员合作。为此,我们将使用Swag,这是一个Go包,允许我们基于注释生成文档。
  • 日志记录⚡️:关于日志记录,它是项目中开发的工具和我在服务器上使用的Zap的组合。
  • 测试💀:在测试中,我使用了本地Go库,结合gomock模拟库,以自动生成我的接口的模拟。
  • 容器🐳:目前,我仍在使用Docker进行容器部署,我正在探索新的选择,如果你有任何建议,请在评论中留言。
  • 部署🐙:对于CI,我非常喜欢Github actions及其潜力,我选择Github Actions,因为它与你的仓库集成非常容易。

文件结构📂

我们将Go的著名“Go标准布局”与Hexagonal架构文件夹结构的包结构相结合。

在包中,我们可以看到internal/user文件夹中有3个文件夹application、domain和infrastructure。为了使功能尽可能易于理解,我为每个功能分别创建了文件。

如果你想更详细地了解并实现整个登录和身份验证系统使用JWT,请将此项目作为模板放在Github上。

查看项目

结论🤔

如果你不断地启动新项目,那么每年你作为开发人员的提高将呈指数级增长,它帮助你思考:当你开始这个项目时,你会做些什么不同的事情?你会使用哪个工具代替另一个工具?并且应用它们,你逐渐迭代,直到找到你完美的“模板”来开始一个项目。目前,这是我的,我希望它能帮助你,这样你就可以根据自己的需求创建自己的模板。

译自:https://cgarciarosales97.medium.com/my-template-for-projects-in-2023-using-go-fiber-and-mongodb-7081341fc9fb

版权声明:本文内容由TeHub注册用户自发贡献,版权归原作者所有,TeHub社区不拥有其著作权,亦不承担相应法律责任。 如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

点赞(0)
收藏(0)
菜鸟一只
你就是个黄焖鸡,又黄又闷又垃圾。

评论(0)

添加评论