README.md

    go-admin

    Build Status Release License

    English | 简体中文

    The front-end and back-end separation authority management system based on Gin + Vue + Element UI OR Arco Design is extremely simple to initialize the system. You only need to modify the database connection in the configuration file. The system supports multi-instruction operations. Migration instructions can make it easier to initialize database information. Service instructions It's easy to start the api service.

    documentation

    Front-end project

    Video tutorial

    🎬 Online Demo

    Element UI vue demo:https://vue2.go-admin.dev

    账号 / 密码: admin / 123456

    Arco Design vue3 demo:https://vue3.go-admin.dev

    账号 / 密码: admin / 123456

    antd demo:https://antd.go-admin.pro

    账号 / 密码: admin / 123456

    Feature

    • Follow RESTful API design specifications

    • Based on the GIN WEB API framework, it provides rich middleware support (user authentication, cross-domain, access log, tracking ID, etc.)

    • RBAC access control model based on Casbin

    • JWT authentication

    • Support Swagger documents (based on swaggo)

    • Database storage based on GORM, which can expand multiple types of databases

    • Simple model mapping of configuration files to quickly get the desired configuration

    • Code generation tool

    • Form builder

    • Multi-command mode

    • TODO: unit test

    🎁 Internal

    1. User management: The user is the system operator, this function mainly completes the system user configuration.
    2. Department management: configure the system organization (company, department, group), and display the tree structure to support data permissions.
    3. Position management: configure the positions of system users.
    4. Menu management: configure the system menu, operation authority, button authority identification, interface authority, etc.
    5. Role management: Role menu permission assignment and role setting are divided into data scope permissions by organization.
    6. Dictionary management: Maintain some relatively fixed data frequently used in the system.
    7. Parameter management: dynamically configure common parameters for the system.
    8. Operation log: system normal operation log record and query; system abnormal information log record and query.
    9. Login log: The system login log record query contains login exceptions.
    10. Interface documentation: Automatically generate related api interface documents according to the business code.
    11. Code generation: According to the data table structure, generate the corresponding addition, deletion, modification, and check corresponding business, and the whole process of visual operation, so that the basic business can be implemented with zero code.
    12. Form construction: Customize the page style, drag and drop to realize the page layout.
    13. Service monitoring: View the basic information of some servers.
    14. Content management: demo function, including classification management and content management. You can refer to the easy to use quick start.

    Ready to work

    You need to install locally [go] [gin] nodegit

    At the same time, a series of tutorials including videos and documents are provided. How to complete the downloading to the proficient use, it is strongly recommended that you read these tutorials before you practice this project! ! !

    Easily implement go-admin to write the first application-documentation tutorial

    Step 1 - basic content introduction

    Step 2 - Practical application - writing database operations

    Teach you from getting started to giving up-video tutorial

    How to start go-admin

    Easily implement business using build tools

    v1.1.0 version code generation tool-free your hands [Advanced]

    Explanation of multi-command startup mode and IDE configuration

    Configuration instructions for go-admin menu [Must see]

    How to configure menu information and interface information [Must see]

    go-admin permission configuration instructions [Must see]

    Instructions for use of go-admin data permissions [Must see]

    If you have any questions, please read the above-mentioned usage documents and articles first. If you are not satisfied, welcome to issue and pr. Video tutorials and documents are being updated continuously.

    📦 Local development

    Environmental requirements

    go 1.18

    nodejs: v14.16.0

    npm: 6.14.11

    Development directory creation

    
    # Create a development directory
    mkdir goadmin
    cd goadmin

    Get the code

    Important note: the two projects must be placed in the same folder;

    # Get backend code
    git clone https://github.com/go-admin-team/go-admin.git
    
    # Get the front-end code
    git clone https://github.com/go-admin-team/go-admin-ui.git
    

    Startup instructions

    Server startup instructions

    # Enter the go-admin backend project
    cd ./go-admin
    
    # Update dependencies
    go mod tidy
    
    # Compile the project
    go build
    
    # Change setting 
    # File path go-admin/config/settings.yml
    vi ./config/settings.yml
    
    # 1. Modify the database information in the configuration file
    # Note: The corresponding configuration data under settings.database
    # 2. Confirm the log path

    :::tip ️Note that this problem will occur if CGO is not installed in the windows10+ environment;

    E:\go-admin>go build
    # github.com/mattn/go-sqlite3
    cgo: exec /missing-cc: exec: "/missing-cc": file does not exist

    or

    D:\Code\go-admin>go build
    # github.com/mattn/go-sqlite3
    cgo: exec gcc: exec: "gcc": executable file not found in %PATH%

    Solve the cgo problem and enter

    :::

    Initialize the database, and start the service

    # The first configuration needs to initialize the database resource information
    # Use under macOS or linux
    $ ./go-admin migrate -c config/settings.dev.yml
    
    # ⚠️Note: Use under windows
    $ go-admin.exe migrate -c config/settings.dev.yml
    
    # Start the project, you can also use the IDE for debugging
    # Use under macOS or linux
    $ ./go-admin server -c config/settings.yml
    
    # ⚠️Note: Use under windows
    $ go-admin.exe server -c config/settings.yml

    Use docker to compile and start

    # Compile the image
    docker build -t go-admin .
    
    
    # Start the container, the first go-admin is the container name, and the second go-admin is the image name
    # -v Mapping configuration file Local path: container path
    docker run --name go-admin -p 8000:8000 -v /config/settings.yml:/config/settings.yml -d go-admin-server

    Generation Document

    go generate

    Cross compile

    # windows
    env GOOS=windows GOARCH=amd64 go build main.go
    
    # or
    # linux
    env GOOS=linux GOARCH=amd64 go build main.go

    UI interactive terminal startup instructions

    # Installation dependencies
    npm install   # or cnpm install
    
    # Start service
    npm run dev

    📨 Interactive

    wenjianzhang
    Wechat Wechat公众号🔥🔥🔥 go-admin技术交流乙号 bilibili🔥🔥🔥

    💎 Contributors

    JetBrains open source certificate support

    The go-admin project has always been developed in the GoLand integrated development environment under JetBrains, based on the free JetBrains Open Source license(s) genuine free license. I would like to express my gratitude.

    🤝 Thanks

    1. ant-design
    2. ant-design-pro
    3. arco-design
    4. arco-design-pro
    5. gin
    6. casbin
    7. spf13/viper
    8. gorm
    9. gin-swagger
    10. jwt-go
    11. vue-element-admin
    12. ruoyi-vue
    13. form-generator

    🤟 Sponsor Us

    If you think this project helped you, you can buy a glass of juice for the author to show encouragement 🍹

    🤝 Link

    Go developer growth roadmap

    🔑 License

    MIT

    Copyright (c) 2022 wenjianzhang

    项目简介

    基于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 订阅版:https://antd.go-admin.pro

    🚀 Github 镜像仓库 🚀

    源项目地址

    https://github.com/go-admin-team/go-admin

    发行版本

    当前项目没有发行版本

    贡献者 45

    全部贡献者

    开发语言

    • Go 98.0 %
    • HTML 1.2 %
    • Makefile 0.4 %
    • Shell 0.2 %
    • Dockerfile 0.2 %