explaingit

go-admin-team/go-admin

12,650GoAudience · developerComplexity · 4/5Setup · hard

TLDR

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.

Mindmap

mindmap
  root((go-admin))
    Backend
      Gin framework
      JWT auth
      Casbin RBAC
    Frontend Options
      Element UI Vue 2
      Arco Design Vue 3
      Ant Design
    Built-in Tools
      Code generator
      Form builder
      User management
      Operation logs
    Setup
      Go 1.18 needed
      Node.js needed
      Database needed
    Audience
      Go developers
      Internal tooling
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Scaffold create, read, update, and delete screens for a database table in minutes using the built-in code generator.

USE CASE 2

Build a role-based access control admin dashboard where managers and staff see different menus and have different permissions.

USE CASE 3

Create custom form page layouts by dragging and dropping form elements without writing frontend code.

USE CASE 4

Manage users, departments, roles, and operation logs through a browser interface backed by a Go API.

Tech stack

GoGinCasbinJWTVue.jsElement UIAnt DesignDocker

Getting it running

Difficulty · hard Time to first run · 1h+

Requires Go 1.18, Node.js, and a running database, the frontend and backend must be started as separate processes.

In plain English

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.

Copy-paste prompts

Prompt 1
I have a MySQL table called orders with columns id, customer_name, amount, and status. Show me how to use the go-admin code generator to scaffold full CRUD screens for this table.
Prompt 2
Walk me through configuring Casbin roles in go-admin so that managers can view and edit orders but regular staff can only view them.
Prompt 3
Write a docker-compose.yml that starts the go-admin Go API, the Vue frontend, and a MySQL database together so I can run the whole stack with one command.
Prompt 4
Show me how to add a new sidebar menu item to go-admin that links to a custom statistics page I built in the Vue frontend.
Prompt 5
I need to add a new API endpoint to the go-admin Gin backend and register it so it shows up in the auto-generated Swagger docs.
Open on GitHub → Explain another repo

← go-admin-team on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.