GoAdmin是一个基于 golang 面向生产的数据可视化管理平台搭建框架,可以让你使用简短的代码在极短时间内搭建起一个管理后台。
一般开发一套管理后台需要至少一个后台工程师,一个前端工程师,花费至少一周时间才能搭建完成,搭建完成后我们需要分别去部署前端代码和后端代码。 而利用 GoAdmin,只需要一名golang后端工程师。在先花一点点时间了解掌握GoAdmin后,即可开发好一个面向生产环境的管理后台。而且所有的框架代码(包括前端文件)都将编译成一个二进制文件,直接部署到正式服务器即可运行,测试分发和部署十分便捷。
在功能需求方面,GoAdmin目前内置支持对主流SQL数据库(
mysql/postgresql/sqlite/mssql)增删改查的管理插件,更多的功能插件如:服务器文件管理,数据监控系统等等会陆续开发并开放。
对于前端个性化需求,GoAdmin目前官方免费支持Adminlte、Sword两个主题,更多主题正在制作中以及对应更多的登录界面组件也在制作中,敬请期待。
使用Apache-2.0开源协议
GoAdmin的项目模块如下:
模块名
模块功能
模块位置
engine
engine是GoAdmin最核心的模块,此模块的功能是利用web框架适配器将插件的路由与控制器方法的映射关系注入到框架中
./engine/engine.go
adapter
adapter的功能是实现web框架的context与GoAdmin的context的相互转换
./adapter/adapter.go
context
context是一个请求的上下文,记录包括了请求的路由参数与方法信息,context会被传入到插件的方法中
./context/context.go
plugin
plugin有自己的路由与控制器方法,在接收由adapter转换过来的context后经控制器方法处理返回给adapter再输出到web框架中去
./plugins/plugins.go
template
template是前端代码对应的golang实体化,前端代码对应的组件部分,比如表单,行,列等实体化为golang的一个接口,因此可以通过调用接口方法获取到该组件的html代码,此功能提供给插件去调用
./template/template.go
auth
auth实现了对cookie的管理,将前端的cookie存储并转换为登录的用户,同时实现了对权限的拦截
./modules/auth/auth.go
config
config是系统的全局配置
./modules/config/config.go
db
db是一个sql连接库,连接了sql数据库提供查询等帮助方法,支持多个driver
./modules/db/connection.go
language
language实现了简单的语言映射,从而支持语言本地化
./modules/language/language.go
file
file实现了一个文件上传引擎
./modules/file/file.go
logger
logger是项目的日志模块
./modules/logger/logger.go
menu
menu是对项目菜单的管理
./modules/menu/menu.go
cli
cli命令行模块,包括生成文件和开发的一些基本命令
./adm/cli.go
GoAdmin通过各种适配器使得你在各个web框架中使用都十分的方便。目前支持的web框架有:
gin / beego / fasthttp / buffalo / echo / gorilla/mux / iris / chi / gf
您可以选择拿手的或者业务项目正在用的框架开始。
提示:现在你也可以这样做。
$ mkdir new_project && cd new_project $ go install github.com/GoAdminGroup/go-admin/adm $ adm init -l cn
或者:(使用v1.2.16的adm)
$ mkdir new_project && cd new_project $ go install github.com/GoAdminGroup/go-admin/adm $ adm init web -l cn
通过以下三步运行:
main.go
详见示例
更多框架的例子: /go-admin/tree/master/examples
GO111MODULE=on go run main.go
访问:http://localhost:9033/admin
账号: admin 密码: admin
评论