53

GitHub - GoAdminGroup/go-admin: a dataviz tool for golang developer to build adm...

 4 years ago
source link: https://github.com/GoAdminGroup/go-admin
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

go-admin

the missing golang data admin panel builder tool.

Documentation | 中文文档 | DEMO

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

Inspired by laravel-admin

Preface

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

demo: http://demo.en.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

mysql postgresql sqlite

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

Backers

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

Code Contribution

very welcome to pr.

here to join into the develop team

join telegram


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK