GoAdminGroup/go-admin: A dataviz framework help gopher to build a admin panel in ten minutes
2019-10-30 23:44:50 Author: github.com(查看原文) 阅读量:486 收藏

Join GitHub today

GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

Sign up

Go CSS TSQL PLpgSQL Other

Permalink

Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates Oct 16, 2019
adapter reorganize templates and components, make them more clearer and easie… Oct 29, 2019
adm fixed Oct 30, 2019
context process the error of database operations && modify comments Oct 23, 2019
data add sqlite test Oct 8, 2019
engine process the error of database operations && modify comments Oct 23, 2019
examples Fix: make primary key allow to add && update readme Oct 30, 2019
modules ready for new version v1.0.6 Oct 29, 2019
plugins fixed Oct 30, 2019
template ready for new version v1.0.6 Oct 29, 2019
tests add chartjs component to examples and tests Oct 29, 2019
vendor update vendor Oct 26, 2019
.gitignore fixed dependency problem Oct 26, 2019
.travis.yml modify travis Oct 12, 2019
CODE_OF_CONDUCT.md modify CODE_OF_CONDUCT Oct 18, 2019
CONTRIBUTING.md modify readme Oct 16, 2019
CONTRIBUTING_CN.md modify readme Oct 16, 2019
DONATION.md add donation list Sep 26, 2019
LICENSE Update LICENSE Sep 24, 2019
Makefile ready for new version v1.0.6 Oct 29, 2019
README.md Fix: make primary key allow to add && update readme Oct 30, 2019
README_CN.md Fix: make primary key allow to add && update readme Oct 30, 2019
go.mod fixed dependency problem Oct 26, 2019
go.sum fixed dependency problem Oct 26, 2019

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: https://demo.go-admin.com account: admin password: admin

demo source code: https://github.com/GoAdminGroup/demo.go-admin.cn

interface

Features

  • 🚀 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.

Translation

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.

Step 1: import sql

mysql postgresql sqlite

Step 2: create main.go

main.go
package main

import (
	"github.com/gin-gonic/gin"
	_ "github.com/GoAdminGroup/go-admin/adapter/gin"
	_ "github.com/GoAdminGroup/go-admin/modules/db/drivers/mysql"
	"github.com/GoAdminGroup/go-admin/engine"
	"github.com/GoAdminGroup/go-admin/plugins/admin"
	"github.com/GoAdminGroup/go-admin/modules/config"
	"github.com/GoAdminGroup/themes/adminlte"
	"github.com/GoAdminGroup/go-admin/template"
	"github.com/GoAdminGroup/go-admin/template/chartjs"
	"github.com/GoAdminGroup/go-admin/template/types"
	"github.com/GoAdminGroup/go-admin/examples/datamodel"
	"github.com/GoAdminGroup/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",
		ColorScheme: adminlte.ColorschemeSkinBlack,
	}

    	// Generators: see https://github.com/GoAdminGroup/go-admin/blob/master/examples/datamodel/tables.go 
	adminPlugin := admin.NewAdmin(datamodel.Generators)
	
	// add component chartjs
	template.AddComp(chartjs.NewChart())
	
	// 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)
	
	// customize your pages
    
    	r.GET("/admin", func(ctx *gin.Context) {
    		engine.Content(ctx, func(ctx interface{}) (types.Panel, error) {
    			return datamodel.GetContent()
    		})
    	})

	_ = eng.AddConfig(cfg).AddPlugins(adminPlugin).Use(r)

	_ = r.Run(":9033")
}

More Examples: https://github.com/GoAdminGroup/go-admin/tree/master/examples

Step 3: run

GO111MODULE=on go run main.go

visit: http://localhost:9033/admin

A super simple example here

See the docs for more details.

Backers

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

Contribution

here for contribution guide

here to join into the develop team

join telegram


文章来源: https://github.com/GoAdminGroup/go-admin
如有侵权请联系:admin#unsafe.sh