repositorypackage
0.0.0-20240919033358-cce434e5d354
Repository: https://github.com/codfrm/cago.git
Documentation: pkg.go.dev
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# README
Cago
Cago 一个快速开发的集成式框架.使用模块化的开发模式,每一个组件都可以单独的调用.
Cago 只对社区工具进行集成,大大减少迁移难度和学习成本,我们不生产代码,我们只是方案的搬运工.
使用 go 的struct
来声明 API 和 swagger 文档,可以通过脚手架来帮助你生成相关内容.
快速开始
你可以通过简单示例来快速的了解 Cago 的使用。你也可以复制这个示例来创建你的项目。
脚手架
你可以安装脚手架来帮助你生成代码。
CI/CD
cago 提供了gitlab-ci
、golanglint-ci
和
Kubernetes helm
的 CI/CD 配置文件,可以快速帮你实现 CI/CD.
当本地调试时也可以使用docker-compose.yaml
启动调试环境.
可以使用etcd
作为配置中心,也支持文件作为配置启动。
组件
大多数组件都是基于社区工具进行封装,方便使用。
目录结构
Cago使用三层架构,并混合了DDD的思想,推荐使用下面的目录结构。你也可以根据自己的需求来调整目录结构。
cmd/app/main.go
项目的入口configs
config.yaml
配置文件...
其他配置文件,也可以写配置读取方法,其它包调用:configs.GetConfig().XXX
docs
文档目录,包括 swagger api 文档、设计文档等deploy
部署资源文件internal
内部包api
API 请求结构体example/example.go
api请求与返回结构router.go
路由定义
controller
控制器目录,API请求会调用控制器,做一些数据处理校验逻辑model
数据模型entity
数据库实体模型,推荐使用充血模型xxx.go
一些数据模型的定义
pkg
项目内通用的模块code
错误码定义utils
工具包
repository
数据库操作service
服务接口task
任务模块crontab
定时任务queue
消息队列handler
消息队列处理器message
消息定义xxx.go
消息队列定义
task.go
任务定义
migrations
数据库迁移文件pkg
公共的模块,可以被其它项目引用.golangci.yml
golangci-lint 配置文件Makefile
项目的 Makefile 文件
参考项目
- GoFrame
- GoMicro