gitmyhub

go-admin

Go ★ 13k updated 1mo ago

基于Gin + Vue + Element UI & Arco Design & Ant Design 的前后端分离权限管理系统脚手架(包含了:多租户的支持,基础用户管理功能,jwt鉴权,代码生成器,RBAC资源控制,表单构建,定时任务等)3分钟构建自己的中后台项目;项目文档》:https://www.go-admin.pro V2 Demo: https://vue2.go-admin.dev V3 Demo: https://vue3.go-admin.dev Antd PRO:https://antd.go-admin.pro

Web-based admin panel framework in Go with role-based access control, a code generator that scaffolds CRUD screens from database tables, and a drag-and-drop form builder.

GoGinCasbinJWTVue.jsElement UIAnt DesignDockersetup: hardcomplexity 4/5

go-admin is a web-based administration panel framework written in Go. It gives developers a starting point for building internal management tools, typically used by teams who need to control user access, manage data, and configure business settings through a browser interface.

The backend is built with Gin, a Go web framework, and uses Casbin for role-based access control (RBAC), meaning you can define which users or groups are allowed to do what. Authentication is handled with JWT tokens. The frontend connects to the API as a separate project, and developers can choose between several UI libraries: Element UI (Vue 2), Arco Design (Vue 3), or Ant Design.

The system comes with a code generator that reads your database table structure and produces the standard create, read, update, and delete screens for that table, reducing repetitive setup work. There is also a form builder that lets you drag and drop elements to create custom page layouts without writing frontend code from scratch. Other built-in pieces include user management, department trees, role assignments, menu configuration, dictionary lookups, parameter management, operation logs, and basic server monitoring.

Getting it running locally requires Go (version 1.18), Node.js, and a database connection. You edit a configuration file with your database details, run a migration command to set up the schema, then start the API server. A separate step starts the frontend. The project also works with Docker if you prefer containers. Swagger API documentation is generated automatically from the backend code.

The project is primarily documented in Chinese with an English translation of the main README. Video tutorials on a Chinese video platform cover the setup process, permission configuration, and how to use the code generation tools. Online demos for each UI variant are publicly accessible. The repository does not yet have unit tests, which is listed as a planned addition.

Where it fits