yumemite是一个简单的Golang应用模板,它包含了:
- 基于Gin的API后端
- 基于NextJS+Tailwind+DaisyUI的前端(TBD)
- 任务
目前进度:缓慢填坑中。
- 用户模块
- 鉴权middleware (auth)
- 自带了一个比较完善的用户系统(包括但不限于登录登出、会话管理、用户组、基于单个权限的权限控制)
- 基于模块的项目结构设计,能够很方便的在二次开发过程中进行功能的插拔
- 使用了go-wire进行依赖注入,更有效地组织各个依赖
Web Framework
- github.com/gin-gonic/gin
- github.com/toorop/gin-logrus Gin日志输出到logrus
- github.com/go-playground/validator 参数校验
- github.com/gorilla/websocket websocket server/client
DAO
- github.com/go-gorm/gorm gorm(RDBMS ORM框架)
Misc
- github.com/sirupsen/logrus 日志
- github.com/spf13/viper 配置管理
- github.com/google/wire 静态依赖注入(DI)
- github.com/swaggo/swag OpenAPI文档生成
Testing
- github.com/steinfletcher/apitest API接口mock
- github.com/stretchr/testify 测试断言
- github.com/onsi/ginkgo TDD测试框架(没迁移完)
Cloudflare Worker支持(挖坑)
首先请确保环境中安装了go-task(这是一个现代的GNU Make替代)。
task install-tools
# 运行测试
task test
# 更多命令请参考taskfile.yml进行使用
MIT