v1.3.2 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Jun 20, 2021 License: Apache-2.0



the missing golang data admin panel builder tool.

Documentation | 中文介绍 | DEMO | 中文DEMO | Twitter | Forum

Build Status 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.

Online demo: https://demo.go-admin.com

Quick follow up example: https://github.com/GoAdminGroup/example

GoAdmin+vue example: https://github.com/GoAdminGroup/goadmin-vue-example



  • 🚀 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: https://github.com/GoAdminGroup/docs/issues/1

Who is using

Comment the issue to tell us.

How to

Following three steps to run it.

Note: now you can quickly start by doing like this.

$ mkdir new_project && cd new_project
$ go install github.com/eavesmy/goadmin/adm
$ adm init

Or (use adm whose version higher or equal than v1.2.16)

$ mkdir new_project && cd new_project
$ go install github.com/eavesmy/goadmin/adm
$ adm init web

Step 1: import sql

Step 2: create main.go


package main

import (
	_ "github.com/eavesmy/goadmin/adapter/gin"
	_ "github.com/eavesmy/goadmin/modules/db/drivers/mysql"

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:         "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,

	// add component chartjs

	_ = eng.AddConfig(&cfg).
	        // add generator, first parameter is the url prefix of table when visit.
    	        // example:
    	        // "user" => http://localhost:9033/admin/info/user
		AddGenerator("user", datamodel.GetUserTable).
	// customize your pages
	eng.HTML("GET", "/admin", datamodel.GetContent)

	_ = r.Run(":9033")

More framework examples: https://github.com/eavesmy/goadmin/tree/master/examples

Step 3: run

GO111MODULE=on go run main.go

visit: http://localhost:9033/admin

account: admin password: admin

A super simple example here

See the docs for more details.


Your support will help me do better! [Become a backer]


here for contribution guide

here to join into the develop team

join telegram

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL