the missing golang data admin builder tool.
Documentation |
中文文档 |
DEMO
Inspired by laravel-admin
Preface
goAdmin is a toolkit help you to build a data visualization and manage platform for your golang app.
Now is the beta version. It means that you may meet some unpredictable bugs. The v1.0 will be released about October 8th.
demo: http://demo.go-admin.cn/admin
account: admin password: admin
demo source code: https://github.com/GoAdminGroup/demo
Feature
- beautiful admin interface builder powerd by adminlte
- many plugins to use(working on it)
- powerful auth manage system
- support most of the go web framework
How to
see the docs for detail
a super simple example here
Step 1: import sql
https://github.com/chenhg5/go-admin/blob/master/examples/datamodel/admin.sql
Step 2: create main.go
main.go
package main
import (
"github.com/gin-gonic/gin"
_ "github.com/chenhg5/go-admin/adapter/gin"
"github.com/chenhg5/go-admin/engine"
"github.com/chenhg5/go-admin/plugins/admin"
"github.com/chenhg5/go-admin/modules/config"
"github.com/chenhg5/go-admin/examples/datamodel"
"github.com/chenhg5/go-admin/modules/language"
)
func main() {
r := gin.Default()
eng := engine.Default()
// global config
cfg := config.Config{
Databases: config.DatabaseList{
"default": {
Host: "127.0.0.1",
Port: "3306",
User: "root",
Pwd: "root",
Name: "godmin",
MaxIdleCon: 50,
MaxOpenCon: 150,
Driver: "mysql",
},
},
UrlPrefix: "admin",
// STORE is important. And the directory should has permission to write.
Store: config.Store{
Path: "./uploads",
Prefix: "uploads",
},
Language: language.EN,
// debug mode
Debug: true,
// log file absolute path
InfoLogPath: "/var/logs/info.log",
AccessLogPath: "/var/logs/access.log",
ErrorLogPath: "/var/logs/error.log",
}
// Generators: see https://github.com/chenhg5/go-admin/blob/master/examples/datamodel/tables.go
adminPlugin := admin.NewAdmin(datamodel.Generators)
// add generator, first parameter is the url prefix of table when visit.
// example:
//
// "user" => http://localhost:9033/admin/info/user
//
adminPlugin.AddGenerator("user", datamodel.GetUserTable)
_ = eng.AddConfig(cfg).AddPlugins(adminPlugin).Use(r)
_ = r.Run(":9033")
}
More Examples: https://github.com/chenhg5/go-admin/tree/master/examples
Step 3: run
GO111MODULE=on go run main.go
Powered by
Contribution
very welcome to pr
here to join into the develop team
join slack
Special thanks
inspired by laravel-admin
Buy me a coffee
leave your github account name and we will put it on the donation list.