Repolode
go-admin-team

go-admin-team/go-admin

A Gin + Vue admin system starter with RBAC, JWT auth, code generation and a form builder, supporting Element UI, Arco Design and Ant Design front ends.

Stars
12,828
Forks
2,596
Open issues
24
Last commit
11 days ago

What is it?

go-admin is a front-end and back-end separated admin system. The backend is written in Go on the Gin web framework with GORM for database access, and the matching front end is built with Vue and can use Element UI, Arco Design or Ant Design.

The project covers the common pieces of an internal admin tool: user, department, position, menu, role and dictionary management, operation and login logs, scheduled tasks, and a server monitoring page. Permissions use a Casbin-based RBAC model, and login is handled with JWT. A code generator builds add, delete, update and query pages from database table structures, and a drag-and-drop form builder handles page layout.

Setup is designed to be quick: SQLite can run with a single build tag and no separate database server, while MySQL, PostgreSQL and SQL Server are configured through the settings file. The project also provides a Dockerfile and multi-command startup for migrations and the API server.

Key features

  • 01Gin-based RESTful API with middleware for authentication, CORS, access logs and request tracing
  • 02RBAC permission control built on Casbin
  • 03JWT-based authentication
  • 04Code generator that produces CRUD pages from database tables
  • 05Drag-and-drop form builder
  • 06Swagger API documentation generated with swaggo
  • 07GORM data layer with configurable database backends

Use cases

  • Building an internal back-office or management console with users, roles and menus
  • Starting a Go admin project from a ready-made Gin and Vue template
  • Generating basic CRUD screens for database tables with little hand-written code

Quick start

  1. 1

    Enter the backend project folder

    cd ./go-admin
  2. 2

    Build the binary with the SQLite tag (needs a C compiler)

    go build -tags sqlite3
  3. 3

    Initialize the database with the SQLite config

    ./go-admin migrate -c config/settings.sqlite.yml
  4. 4

    Start the API server

    ./go-admin server -c config/settings.sqlite.yml

Things to know

  • The SQLite quick start needs a C compiler (cgo), and a plain go build does not include the sqlite3 tag.
  • The front end is a separate repository (go-admin-ui) that you must clone and run alongside the backend.
  • The README lists unit tests as a TODO, so test coverage is not provided.

Topics

FAQ

What is go-admin?
A Gin + Vue admin system starter with RBAC, JWT auth, code generation and a form builder, supporting Element UI, Arco Design and Ant Design front ends. go-admin is a front-end and back-end separated admin system. The backend is written in Go on the Gin web framework with GORM for database access, and the matching front end is built with Vue and can use Element UI, Arco Design or Ant Design.
Is go-admin free to use? What license does it have?
go-admin is open source under the MIT license. Check the license terms before using it in commercial products.
Is go-admin still maintained?
Actively maintained. The last commit to go-admin was on Oct 27, 2026.
What can I use go-admin for?
Building an internal back-office or management console with users, roles and menus Starting a Go admin project from a ready-made Gin and Vue template Generating basic CRUD screens for database tables with little hand-written code
How do I install go-admin?
Enter the backend project folder: cd ./go-admin Build the binary with the SQLite tag (needs a C compiler): go build -tags sqlite3 Initialize the database with the SQLite config: ./go-admin migrate -c config/settings.sqlite.yml Start the API server: ./go-admin server -c config/settings.sqlite.yml
Where can I get go-admin?
The source code and installation instructions are on GitHub: https://github.com/go-admin-team/go-admin

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects