go-admin

module
v0.0.9-20190910012351-... Latest Latest
Warning

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

Go to latest
Published: Sep 10, 2019 License: MIT

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.

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

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"
	"github.com/chenhg5/go-admin/modules/language"
)

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

	eng := engine.Default()

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

Powerd by

Contribution

very welcome to pr

here to join into the develop team

join slack

Special thanks

inspired by laravel-admin

Jump to

Keyboard shortcuts

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