English | 简体中文
-
Follow RESTful API design specifications
-
Provides rich middleware support based on GIN WEB API framework (user authentication, cross domain, access log, tracking ID, etc.)
-
Casbin-based RBAC access control model
-
JWT certification
-
Support Swagger documentation (based on swaggo)
-
GORM-based database storage that can expand many types of databases
-
Simple model mapping of configuration files to quickly get the desired configuration
-
TODO: unit test
- User management: The user is the system operator. This function mainly completes the system user configuration.
- Department management: configure the system organization (company, department, group), and display the tree structure to support data permissions.
- Post management: Configure system users to hold positions.
- Menu management: configure system menus, operation permissions, button permission labels, etc.
- Role management: role menu permissions assignment, setting roles to divide data range permissions by organization.
- Dictionary management: to maintain some fixed data often used in the system.
- Parameter management: Dynamically configure common parameters for the system.
- Operation log: system normal operation log record and query; system exception information log record and query.
- Login log: The system login log record query contains login exceptions.
- System interface: Automatically generate related api interface documents according to business code.
- Configuration file description
settings: application: # Project launch environment env: dev # When env: demo, prompts for request operations other than GET envmsg: "谢谢您的参与,但为了大家更好的体验,所以本次提交就算了吧!" # Host IP or domain name, default 0.0.0.0 host: 0.0.0.0 # Whether to initialize the database structure and basic data; true: required; false: not required isinit: false # JWT encrypted string jwtsecret: 123abc # log storage path logpath: temp/logs/log.log # application name name: go-admin # application port port: 8000 readtimeout: 1 writertimeout: 2 database: # database name database: dbname # database type dbtype: mysql # database host host: 127.0.0.1 # database password password: password # database port port: 3306 # database username username: root redis: # redis addresss addr: 0.0.0.0:6379 # db db: 0 # password password: password # read timeout readtimeout: 50
- file path go-admin/src/go-admin/config/settings.yml
First start instructions
# Get the code git clone https://github.com/wenjianzhang/go-admin.git # Enter working path cd ./go-admin/src/go-admin # Build the project go build # Change setting vi ./config/setting.yml (Note: Change isinit and database connection) # 1. Database information in the configuration file # Note: the corresponding configuration data under settings.database # 2. Confirm database initialization parameters # Note: If this is the first time settings.application.isinit is set, please set the current value to true, the system will automatically initialize the database structure and basic data information; # 3. Confirm the log path # Start the project or debug with the IDE ./go-admin # See also instructions in WIKI
Document generation
swag init
If there is no swag command go get installed
go get -u github.com/swaggo/swag/cmd/swag
Cross compilation
env GOOS=windows GOARCH=amd64 go build main.go
# or
env GOOS=linux GOARCH=amd64 go build main.goadmin / 123456
Demo address:http://www.zhangwj.com
- Add user avatar upload
- Add user password modification
- Operation log page adjustment
- Optimize captcha background color
I saw a lot of friends who experience the wrong verification code, so I adjusted the contrast for everyone to experience!
Copyright (c) 2020 wenjianzhang
[中文]qq technical exchange group: 74520518