chideat / go-admin

a dataviz tool for golang developer which supports most framework

Home Page:http://www.go-admin.cn

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

go-admin

the missing golang data admin 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 and manage platform 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

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

Backers

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

Code Contribution

very welcome to pr.

here to join into the develop team

join telegram

About

a dataviz tool for golang developer which supports most framework

http://www.go-admin.cn

License:Apache License 2.0


Languages

Language:Go 58.5%Language:JavaScript 29.7%Language:CSS 6.5%Language:TSQL 3.0%Language:PLpgSQL 1.7%Language:Makefile 0.6%