go-admin

module
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Oct 5, 2019 License: Apache-2.0

README

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.

Now is the beta version. It means that you may meet some unpredictable bugs. The v1.0 will be released about October 8th.

demo: http://demo.go-admin.cn/admin account: admin password: admin

demo source code: https://github.com/GoAdminGroup/demo

Feature

  • beautiful admin interface builder powerd by adminlte
  • many plugins to use(working on it)
  • powerful auth manage system
  • support most of the go web framework

How to

see the docs for detail

a super simple example here

Step 1: import sql

https://github.com/chenhg5/go-admin/blob/master/examples/datamodel/admin.sql

Step 2: create main.go

main.go

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{
		Databases: config.DatabaseList{
			"default": {
				Host:         "127.0.0.1",
				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",
	}

    	// 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

Step 3: run

GO111MODULE=on go run main.go

Powered by

Contribution

very welcome to pr

here to join into the develop team

join slack

Special thanks

inspired by laravel-admin

Buy me a coffee

leave your github account name and we will put it on the donation list.

Jump to

Keyboard shortcuts

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