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.
demo: http://demo.go-admin.cn/admin
account: admin password: admin
Feature
- beautiful admin interface builder powerd by adminlte
- many plugins to use
- powerful auth manage system
- support most of the go web framework
How to
see the docs for detail
install
$ go get -v -u github.com/chenhg5/go-admin
import sql
https://github.com/chenhg5/go-admin/blob/master/examples/datamodel/admin.sql
$ go install github.com/chenhg5/go-admin/admincli
$ admincli generate
gin example
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{
DATABASE: config.DatabaseList{
"default": {
HOST: "127.0.0.1",
PORT: "3306",
USER: "root",
PWD: "root",
NAME: "godmin",
MAX_IDLE_CON: 50,
MAX_OPEN_CON: 150,
DRIVER: "mysql",
},
},
DOMAIN: "localhost", // the domain of cookie which be used when visiting your site.
PREFIX: "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
INFOLOG: "/var/logs/info.log",
ACCESSLOG: "/var/logs/access.log",
ERRORLOG: "/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
Powerd by
Contribution
very welcome to pr
here to join into the develop team
join slack
Special thanks
inspired by laravel-admin