# go-admin **Repository Path**: fory/go-admin ## Basic Information - **Project Name**: go-admin - **Description**: go-admin是基于golang快速搭建可视化数据管理后台的框架 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://www.go-admin.cn - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 435 - **Created**: 2020-01-15 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
the missing golang data admin panel builder tool.
Documentation | 中文文档 | DEMO
Inspired by laravel-admin
## Preface GoAdmin is a toolkit to help you build a data visualization admin panel for your golang app. demo: [https://demo.go-admin.com](https://demo.go-admin.com) account: admin password: admin demo source code: https://github.com/GoAdminGroup/demo.go-admin.cn  ## 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](https://github.com/GoAdminGroup/docs/issues/1) ## Who is using [Comment the issue to tell us](https://github.com/GoAdminGroup/go-admin/issues/71). ## How to Following three steps to run it. ### Step 1: import sql [mysql](https://raw.githubusercontent.com/GoAdminGroup/go-admin/master/data/admin.sql) [postgresql](https://raw.githubusercontent.com/GoAdminGroup/go-admin/master/data/admin.pgsql) [sqlite](https://raw.githubusercontent.com/GoAdminGroup/go-admin/master/data/admin.db) ### Step 2: create main.go```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) { eng.Content(ctx, func(ctx interface{}) (types.Panel, error) { return datamodel.GetContent() }) }) _ = eng.AddConfig(cfg).AddPlugins(adminPlugin).Use(r) _ = r.Run(":9033") } ```