/go-admin

a dataviz tool for golang developer which supports most framework

Primary LanguageGoMIT LicenseMIT

go-admin

the missing golang data admin builder tool.

Documentation | 中文文档 | DEMO

Go Report Card Go Report Card golang gitter qq群 GoDoc license

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

generate the data model use cli tool

go install github.com/chenhg5/go-admin/admincli

admincli generate -h=127.0.0.1 -p=3306 -P=root -n=godmin -pa=main -o=./model

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"
)

func main() {
	r := gin.Default()

	eng := engine.Default()

	// global config
	cfg := config.Config{
		DATABASE: []config.Database{
			{
				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: "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)

	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

QQ Group Num: 756664859, remember to add the reason of apply.

Special thanks

inspired by laravel-admin