Posted by

ITEM TILE – File Size: 10.6K

A dataviz framework help gopher to build a admin panel in ten minutes


the missing golang data admin panel builder tool.

Documentation | 中文文档 | DEMO

Go Report Card Go Report Card golang telegram slack GoDoc license

Inspired by laravel-admin


GoAdmin is a toolkit to help you build a data visualization admin panel for your golang app.

demo: https://demo.go-admin.comaccount: admin password: admin

demo source code:



  • 🚀 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.


We need your help:

Who is using

Comment the issue to tell us.

How to

Following three steps to run it.

Step 1: import sql


Step 2: create main.go


“`gopackage mainimport ( “” _ “” _ “” “” “” “” “” “” “” “” “” “”)func main() { r := gin.Default() eng := engine.Default() // global config cfg := config.Config{ Databases: config.DatabaseList{ “default”: { Host: “”, 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”, ColorScheme: adminlte.ColorschemeSkinBlack, } // Generators: see 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) { engine.Content(ctx, func(ctx interface{}) (types.Panel, error) { return datamodel.GetContent() }) }) _ = eng.AddConfig(cfg).AddPlugins(adminPlugin).Use(r) _ = r.Run(“:9033”)}“`

More Examples:

Step 3: run

shellGO111MODULE=on go run main.go

visit: http://localhost:9033/admin

A super simple example here

See the docs for more details.


Your support will help me do better! [Become a backer] backers.svg?width=890


here for contribution guide

here to join into the develop team

join telegram

To restore the repository download the bundle


and run:

 git clone GoAdminGroup-go-admin_-_2019-11-25_03-52-24.bundle 

Uploader: GoAdminGroup
Upload date: 2019-11-25