Nunu 是一个根据 Golang 的应用脚手架,它的名字来自于英豪联盟中的游戏人物,一个骑在雪怪膀子上的小男孩。和努努一样,该项目也是站在巨人的膀子上,它是由 Golang 生态中各种非常盛行的库整合而成的,它们的组合能够协助你快速构建一个高效、牢靠的应用程序。
项目主页:github.com/go-nunu/nun…
功用
Nunu 采用了多种盛行的库,包含 Gin、Gorm、Wire、Viper、Zap、Golang-jwt、Go-redis、Testify、Sonyflake、robfig-cron 等等。这些库的组合能够协助你快速构建一个高效、牢靠的应用程序。
特性
Nunu 具有以下特性:
- 超低学习本钱和定制:Nunu 封装了 Gopher 最熟悉的一些盛行库。你能够轻松定制应用程序以满足特定需求。
- 高性能和可扩展性:Nunu 旨在具有高性能和可扩展性。它运用最新的技术和最佳实践,确保你的应用程序能够处理高流量和很多数据。
- 安全牢靠:Nunu 运用了稳定牢靠的第三方库,确保你的应用程序安全牢靠。
- 模块化和可扩展:Nunu 旨在具有模块化和可扩展性。你能够通过运用第三方库或编写自己的模块轻松增加新功用和功用。
- 文档完善和测验完备:Nunu 文档完善,测验完备。它供给了全面的文档和示例,协助你快速入门。它还包含一套测验套件,确保你的应用程序按预期作业。
简洁分层架构
Nunu 采用了经典的分层架构。一起,为了更好地实现模块化和解耦,采用了依靠注入结构 Wire。
文档
Nunu 供给了全面的文档和示例,协助你快速入门。它还包含一套测验套件,确保你的应用程序按预期作业。
要求
要运用 Nunu,你需要在系统上装置以下软件:
- Golang 1.16 或更高版别
- Git
- MySQL 5.7 或更高版别(可选)
- Redis(可选)
装置
你能够通过一行指令装置 Nunu:
go install github.com/go-nunu/nunu@latest
创立新项目
你能够运用以下指令创立一个新的 Golang 项目:
nunu new projectName
// or
nunu new projectName -r https://github.com/go-nunu/nunu-layout-advanced.git
效果预览:
此指令将创立一个名为 projectName
的目录,并在其中生成一个优雅的 Golang 项目结构。
.
├── cmd
│ ├── job
│ ├── migration
│ └── server
│ ├── wire
│ │ ├── wire.go
│ │ └── wire_gen.go
│ └── main.go
├── config
│ ├── local.yml
│ └── prod.yml
├── deploy
├── internal
│ ├── dao
│ │ ├── dao.go
│ │ └── user.go
│ ├── handler
│ │ ├── handler.go
│ │ └── user.go
│ ├── job
│ │ └── job.go
│ ├── middleware
│ │ ├── cors.go
│ │ ├── jwt.go
│ │ ├── log.go
│ │ └── sign.go
│ ├── migration
│ │ └── migration.go
│ ├── model
│ │ └── user.go
│ ├── provider
│ │ └── provider.go
│ ├── server
│ │ └── http.go
│ └── service
│ ├── service.go
│ └── user.go
├── pkg
│ ├── config
│ ├── helper
│ ├── http
│ └── log
├── script
├── storage
├── test
├── web
├── LICENSE
├── README.md
├── README_zh.md
├── go.mod
└── go.sum
这是一个经典的Golang 项目的目录结构,包含以下目录:
-
cmd
:寄存指令行应用的代码,例如main.go
。 -
config
:寄存配置文件,例如config.yaml
。 -
internal
:寄存项目内部的代码,不对外暴露。-
dao
:寄存数据访问对象(Data Access Object)的代码。 -
handler
:寄存 HTTP 恳求处理器的代码。 -
middleware
:寄存 HTTP 中间件的代码。 -
model
:寄存数据模型的代码。 -
provider
:寄存依靠注入的代码。 -
server
:寄存 HTTP 服务器以及路由注册的代码。 -
service
:寄存事务逻辑的代码。
-
-
pkg
:寄存可重用的代码,对外暴露。-
config
:寄存读取配置文件的代码。 -
helper
:寄存辅佐函数的代码。 -
http
:寄存 HTTP 相关的代码。 -
log
:寄存日志相关的代码。
-
创立组件
你能够运用以下指令为项目创立 handler、service 和 dao 等组件:
nunu create handler user
nunu create service user
nunu create dao user
nunu create model user
这些指令将分别创立一个名为 UserHandler
、UserService
、UserDao
和 UserModel
的组件,并将它们放置在正确的目录中。
发动项目
你能够运用以下指令快速发动项目:
nunu run
此指令将发动你的 Golang 项目,并支持文件更新热重启。
编译 wire.go
你能够运用以下指令快速编译 wire.go
:
nunu wire
此指令将编译你的 wire.go
文件,并生成所需的依靠项。
贡献
假如你发现任何问题或有任何改善意见,请随时提出问题或提交拉取恳求。非常欢迎你的贡献!
许可证
Nunu 是根据 MIT 许可证发布的。有关更多信息,请参见 LICENSE 文件。
总之,Nunu 是一个非常优异的 Golang 应用脚手架,它能够协助你快速构建高效、牢靠的应用程序。假如你正在寻找一个优异的 Golang 应用脚手架,那么 Nunu 肯定是你的不二挑选!