# README
the missing golang data admin panel builder tool.
Documentation | δΈζδ»η» | DEMO
Inspired by laravel-admin
Preface
GoAdmin is a toolkit to help you build a data visualization admin panel for your golang app.
Online demo: https://demo.go-admin.com
Quick follow up example: https://github.com/GoAdminGroup/example
Features
- π Fast: build a production admin panel app in ten minutes.
- π¨ Theming: beautiful ui themes supported(default adminlte, more themes are coming.)
- π’ Plugins: many plugins to use(more useful and powerful plugins are coming.)
- β Rbac: out of box rbac auth system.
- βοΈ Frameworks: support most of the go web frameworks.
Translation
We need your help: https://github.com/GoAdminGroup/docs/issues/1
Who is using
How to
Following three steps to run it.
Step 1: import sql
Step 2: create main.go
main.go
package main
import (
"github.com/gin-gonic/gin"
_ "github.com/davidlcarrascal/go-admin/adapter/gin"
_ "github.com/davidlcarrascal/go-admin/modules/db/drivers/mysql"
"github.com/davidlcarrascal/go-admin/engine"
"github.com/davidlcarrascal/go-admin/plugins/admin"
"github.com/davidlcarrascal/go-admin/modules/config"
"github.com/GoAdminGroup/themes/adminlte"
"github.com/davidlcarrascal/go-admin/template"
"github.com/davidlcarrascal/go-admin/template/chartjs"
"github.com/davidlcarrascal/go-admin/template/types"
"github.com/davidlcarrascal/go-admin/examples/datamodel"
"github.com/davidlcarrascal/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: "goadmin",
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",
ColorScheme: adminlte.ColorschemeSkinBlack,
}
// Generators: see https://github.com/davidlcarrascal/go-admin/blob/master/examples/datamodel/tables.go
adminPlugin := admin.NewAdmin(datamodel.Generators)
// add component chartjs
template.AddComp(chartjs.NewChart())
// 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)
// customize your pages
r.GET("/admin", func(ctx *gin.Context) {
eng.Content(ctx, func(ctx interface{}) (types.Panel, error) {
return datamodel.GetContent()
})
})
_ = eng.AddConfig(cfg).AddPlugins(adminPlugin).Use(r)
_ = r.Run(":9033")
}
More framework examples: https://github.com/davidlcarrascal/go-admin/tree/master/examples
Step 3: run
GO111MODULE=on go run main.go
visit: http://localhost:9033/admin
account: admin password: admin
See the docs for more details.
Backers
Your support will help me do better! [Become a backer]
Contribution
here to join into the develop team
# 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
No description provided by the author
No description provided by the author