Project Introduction β
Gin-Vue-Admin is a full-stack management framework designed for rapid development of web applications with a complete frontend-backend separation architecture. Built on Go (Gin) and Vue.js, it provides a comprehensive development platform with automated code generation, AI-assisted development, and enterprise-grade security features.
π Quick Links β
- GitHub: https://github.com/flipped-aurora/gin-vue-admin
- GitCode: https://gitCode.com/flipped-aurora/gin-vue-admin
- Gitee: https://gitee.com/pixelmax/gin-vue-admin
- Online Demo: http://demo.gin-vue-admin.com/
- Username:
admin - Password:
123456
- Username:
π― Project Positioning β
Gin-Vue-Admin serves as a foundational framework for enterprise management systems, focusing on providing developers with:
- π Rapid Development: AutoCode generation system that can generate complete CRUD functionality in 1 minute
- π Enterprise Security: Dual security guarantee with JWT authentication + Casbin RBAC authorization
- π§ High Flexibility: Dynamic routing, menu management, and API configuration
- π Complete Documentation: Automatic Swagger API documentation generation
- βοΈ Cloud Native: Multi-cloud file storage support (Qiniu Cloud, Alibaba Cloud, AWS S3)
- ποΈ Multi-Database: Support for MySQL, PostgreSQL, SQLite, and MSSQL
This system is primarily targeted at developers building management backends, content management systems, and business applications requiring user management and permission control.
π οΈ Technology Stack β
Environment Requirements
- Node.js: β₯ 18.16.2
- Go: β₯ 1.22
- MySQL: β₯ 5.7 (engine must be InnoDB)
- Git: Version control tool
It is recommended to use Docker to create MySQL database to ensure environment consistency
Frontend Technology Stack β
| Technology | Version | Description |
|---|---|---|
| Vue.js | 3.3.4 | Progressive JavaScript framework |
| Element Plus | 2.3.8 | Vue 3 UI component library |
| Pinia | Latest | State management (replacement for Vuex) |
| Vue Router | Latest | SPA routing and dynamic routing |
| Vite | Latest | Build tool and development server |
Backend Technology Stack β
| Technology | Version | Description |
|---|---|---|
| Go | β₯ 1.22 | Programming language |
| Gin | 1.9.1 | High-performance web framework |
| GORM | 1.25.2 | ORM library with automatic migration support |
| Casbin | Latest | Access control library (RBAC) |
Database Support β
| Database | Version Requirement | Description |
|---|---|---|
| MySQL | β₯ 5.7 | Primary database, InnoDB engine |
| PostgreSQL | β₯ 9.6 | Relational database alternative |
| SQLite | Latest | Embedded database option |
| MS SQL Server | Latest | Microsoft database support |
| Oracle | Latest | Enterprise database support |
Cache and Storage β
- Redis: Cache and session management
- Qiniu Cloud: Object storage service
- Alibaba Cloud OSS: Alibaba Cloud storage
- AWS S3: Amazon Web Services storage
Development Tools β
- Swagger: Automatic API documentation generation
- Viper: Configuration management
- Zap: Structured logging
- fsnotify: File system notifications
AI Integration β
- LLM APIs: AI-assisted code generation
- MCP Protocol: Model Context Protocol for AI agents
π Core Features β
π Security Authentication System β
- JWT Authentication: Stateless user identity verification
- Casbin RBAC: Role-based access control
- Multi-point Login Control: Support for single sign-on restrictions
- API Permission Management: Fine-grained interface access control
π₯ User Permission Management β
- User Management: System administrators assign user roles and permissions
- Role Management: Create permission control objects, support API, menu, and button permission allocation
- Menu Management: Dynamic menu configuration, different menus for different roles
- Button Permissions: Page-level operation permission control
π Rapid Development Tools β
- AutoCode Generator: Code generator that creates complete CRUD functionality in 1 minute
- Form Generator: Visual form design based on Variant Form
- Automatic API Documentation: Swagger automatic API documentation generation
- RESTful Examples: Standard RESTful API design reference
π File Storage System β
- Multi-cloud Storage: Support for local, Qiniu Cloud, Alibaba Cloud, and Tencent Cloud storage
- Chunked Upload: Large file chunked upload functionality
- Resume Upload: Continue uploading after file upload interruption
- File Management: Complete file upload and download management
π§ System Management β
- Configuration Management: Frontend visual configuration file modification
- Log Management: System operation log recording and query
- Monitoring Dashboard: System runtime status monitoring
- Data Dictionary: System data dictionary management
π¨ User Interface β
- Rich Text Editor: Built-in MarkDown editor
- Conditional Search: Advanced search functionality examples
- Data Import/Export: Excel data processing functionality
- Responsive Design: Adapts to multiple device screens
π Plugin Ecosystem β
- Plugin Center NEW: Go plugin center based on GVA design
- WeChat Integration: WeChat payment, login and other functional plugins
- K8s Operations: Kubernetes-related operation plugins
- Third-party Login: Support for multiple third-party login methods
How to Contribute β
Before participating in any form, please read the development guide first. If you have any opinions or suggestions, you are welcome to inform us by creating Issues or PRs. You can also choose the gva official discussion group
π§
It is strongly recommended to read γHow to Ask Questions the Smart Wayγ and γHow to Ask Questions to Open Source Communitiesγ. Better questions are more likely to get help.
ποΈ System Architecture β
Overall Architecture Design β
Gin-Vue-Admin adopts a modern frontend-backend separation architecture, ensuring system maintainability and scalability through clear layered design:
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Frontend (Vue) β β Backend (Go) β β Data Layer β
βββββββββββββββββββ€ βββββββββββββββββββ€ βββββββββββββββββββ€
β β’ Vue 3 + Vite β β β’ Gin Framework β β β’ MySQL/PG/... β
β β’ Element Plus βββββΊβ β’ JWT + Casbin βββββΊβ β’ Redis Cache β
β β’ Pinia Store β β β’ GORM ORM β β β’ File Storage β
β β’ Vue Router β β β’ Swagger Docs β β β’ Cloud Storage β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββSystem Architecture Diagram β

Core Architecture Components β
π¨ Frontend Architecture (Vue.js + Vite) β
- Application Startup:
main.js- Application bootstrap - Routing System: Vue Router - Dynamic routing management
- State Management: Pinia Stores - Global state management
- Layout System: Header, Aside, Tabs - Page layout components
- Permission Control: Menu permissions, API permissions, button permissions
- Component Library: Upload, Select, Export - Common business components
βοΈ Backend Architecture (Go + Gin) β
- Service Startup:
main.go- Server bootstrap program - Configuration System:
core.Viper- Configuration management system - Authentication Middleware:
middleware.JWT- JWT identity verification - Authorization Middleware:
middleware.Casbin- Permission control processing - API Handlers:
api.v1- REST API handlers - Business Services:
service.*- Business logic services - Code Generation:
service.AutoCode- Automatic code generation engine
ποΈ Data Architecture β
- Main Database:
global.GVA_DB- Primary data storage - Cache System:
global.GVA_REDIS- Cache and sessions - File Storage: Local/cloud object storage services
- Permission Storage:
system.CasbinRule- Policy storage
Authentication and Authorization Flow β
sequenceDiagram
participant U as User
participant F as Frontend
participant A as API Gateway
participant S as Business Service
participant D as Database
U->>F: Login Request
F->>A: POST /base/login
A->>S: Verify User Credentials
S->>D: Query User Information
D-->>S: Return User Data
S->>A: Generate JWT Token
A-->>F: Return Token
F->>F: Store Token
U->>F: Access Protected Resource
F->>A: Request + JWT Header
A->>A: JWT Verification
A->>S: Casbin Permission Check
S-->>A: Permission Result
A-->>F: Return Data/Deny AccessFrontend Detailed Design Diagram β
Provided by: baobeisuper

Initialization Process β
The initialization sequence during system startup ensures proper loading of all components:
- Configuration Initialization:
core.Viper- Load configuration files - Log Initialization:
core.Zap- Set up logging system - Database Connection:
initialize.Gorm- Establish database connection - Data Table Registration:
initialize.RegisterTables- Register data models - Redis Connection:
initialize.Redis- Establish cache connection - Route Initialization:
initialize.Routers- Set up API routes - Service Startup:
core.RunWindowsServer- Start HTTP service


