Skip to content

Commit df69c96

Browse files
author
pixel
committed
默认readme修改为中文
1 parent c6700a7 commit df69c96

File tree

4 files changed

+326
-319
lines changed

4 files changed

+326
-319
lines changed

README-en.md

Lines changed: 324 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,324 @@
1+
2+
<div align=center>
3+
<img src="http://qmplusimg.henrongyi.top/gvalogo.jpg" width=300" height="300" />
4+
</div>
5+
<div align=center>
6+
<img src="https://img.shields.io/badge/golang-1.12-blue"/>
7+
<img src="https://img.shields.io/badge/gin-1.4.0-lightBlue"/>
8+
<img src="https://img.shields.io/badge/vue-2.6.10-brightgreen"/>
9+
<img src="https://img.shields.io/badge/element--ui-2.12.0-green"/>
10+
<img src="https://img.shields.io/badge/gorm-1.9.12-red"/>
11+
</div>
12+
13+
English | [简体中文](./README.md)
14+
15+
# Project Guidelines
16+
[Online Documentation](https://www.gin-vue-admin.com/) : https://www.gin-vue-admin.com/
17+
18+
19+
20+
[Development Steps](https://www.gin-vue-admin.com/docs/help) (Contributor: <a href="https://github.com/LLemonGreen">LLemonGreen</a> And <a href="https://github.com/fkk0509">Fann</a>)
21+
- Web UI Framework:[element-ui](https://github.com/ElemeFE/element)
22+
- Server Framework:[gin](https://github.com/gin-gonic/gin)
23+
24+
## 1. Basic Introduction
25+
26+
### 1.1 Project Introduction
27+
28+
[Online Demo](http://demo.gin-vue-admin.com/)
29+
30+
username:admin
31+
32+
password:123456
33+
34+
> Gin-vue-admin is a full-stack (frontend and backend separation) framework designed for management system.
35+
> It integrates multiple functions, such as JWT authentication, dynamic routing, dynamic menu, casbin authentication, form generator, code generator, etc. So that you can focus more time on your business Requirements.
36+
37+
Hi! Thank you for choosing gin-vue-admin.
38+
39+
Gin-vue-admin is a full-stack (frontend and backend separation) framework for developers, designers and product managers.
40+
41+
We are excited that you are interested in contributing to gin-vue-admin. Before submitting your contribution though, please make sure to take a moment and read through the following guidelines.
42+
43+
### 1.2 Contributing Guide
44+
#### 1.2.1 Issue Guidelines
45+
46+
- Issues are exclusively for bug reports, feature requests and design-related topics. Other questions may be closed directly. If any questions come up when you are using Element, please hit [Gitter](https://gitter.im/element-en/Lobby) for help.
47+
48+
- Before submitting an issue, please check if similar problems have already been issued.
49+
50+
#### 1.2.2 Pull Request Guidelines
51+
52+
- Fork this repository to your own account. Do not create branches here.
53+
54+
- Commit info should be formatted as `[File Name]: Info about commit.` (e.g. `README.md: Fix xxx bug`)
55+
56+
- <font color=red>Make sure PRs are created to `develop` branch instead of `master` branch.</font>
57+
58+
- If your PR fixes a bug, please provide a description about the related bug.
59+
60+
- Merging a PR takes two maintainers: one approves the changes after reviewing, and then the other reviews and merges.
61+
62+
### 1.3 Version list
63+
64+
- master: 2.0 code, for prod
65+
66+
- develop: 2.0 dev code, for test
67+
68+
- [gin-vue-admin_v2.0_dev](https://github.com/flipped-aurora/gin-vue-admin/tree/gin-vue-admin_v2_dev) (v2.0 is no longer compatible with v1.0)
69+
70+
- [gin-vue-admin_v1.0_stable](https://github.com/flipped-aurora/gin-vue-admin/tree/gin-vue-admin_v1_stable) (stop maintenance)
71+
72+
- [gin-vue-admin_v1.0_dev](https://github.com/flipped-aurora/gin-vue-admin/tree/gin-vue-admin_v1_dev) (stop maintenance)
73+
74+
75+
## 2. Getting started
76+
77+
> Use docker-compose to experience this project
78+
- Installation docker-compose [Official document](https://docs.docker.com/compose/install/)
79+
- ```shell script
80+
# Install on Linux
81+
# 1.1 Run this command to download the current stable version of Docker Compose
82+
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
83+
# 1.2 Apply executable permissions to binary files
84+
sudo chmod +x /usr/local/bin/docker-compose
85+
```
86+
- ```shell script
87+
# Use Python's pip installation
88+
pip3 install docker-compose -i https://pypi.tuna.tsinghua.edu.cn/simple
89+
```
90+
- Use Docker Desktop
91+
- Windows: https://hub.docker.com/editions/community/docker-ce-desktop-windows
92+
- Mac: https://hub.docker.com/editions/community/docker-ce-desktop-mac/
93+
94+
- Use git to clone this project
95+
- ```git
96+
git clone https://github.com/flipped-aurora/gin-vue-admin.git
97+
```
98+
- Use docker-compose up to start the startup project with one click
99+
- ```shell script
100+
# Use docker-compose to start four containers
101+
docker-compose up
102+
# If you modify some configuration options, you can use this command to repackage the image
103+
docker-compose up --build
104+
# Use docker-compose to start in the background
105+
docker-compose up -d
106+
```
107+
108+
- Web project preview [http://127.0.0.1:8888/admin](http://127.0.0.1:8888/admin)
109+
110+
- swagger APIs [http://127.0.0.1:8888/swagger/index.html](http://127.0.0.1:8888/swagger/index.html)
111+
112+
```
113+
- node version > v8.6.0
114+
- golang version >= v1.11
115+
- IDE recommendation: Goland
116+
- After you clone the project, use the scripts in directory db to create your own database.
117+
- We recommend you to apply for your own cloud service in QINIU. Replace the public key, private key, warehouse name and default url address with your own, so as not to mess up the test database.
118+
```
119+
120+
### 2.1 Web
121+
122+
```bash
123+
# clone the project
124+
git clone https://github.com/piexlmax/gin-vue-admin.git
125+
126+
# enter the project directory
127+
cd web
128+
129+
# install dependency
130+
npm install
131+
132+
# develop
133+
npm run serve
134+
```
135+
136+
### 2.2 Server
137+
138+
```bash
139+
# using go.mod
140+
141+
# install go modules
142+
go list (go mod tidy)
143+
144+
# build the server
145+
go build
146+
```
147+
148+
### 2.3 API docs auto-generation using swagger
149+
150+
#### 2.3.1 install swagger
151+
152+
##### (1) Using VPN or outside mainland China
153+
````
154+
go get -u github.com/swaggo/swag/cmd/swag
155+
````
156+
157+
##### (2) In mainland China
158+
159+
In mainland China, access to go.org/x is prohibited,we recommend [goproxy.io](https://goproxy.io/zh/)
160+
161+
````bash
162+
163+
If you are using Go version 1.13 and above (recommended)
164+
# Enable Go Modules function
165+
go env -w GO111MODULE=on
166+
# Configure GOPROXY environment variables
167+
go env -w GOPROXY=https://goproxy.io,direct
168+
If you are using Go version 1.12 and below
169+
go env -w GO111MODULE=on
170+
go env -w GOPROXY=https://goproxy.io
171+
172+
# get swag
173+
go get -g -v github.com/swaggo/swag/cmd/swag
174+
175+
# cd GOPATH/src/github.com/swaggo/swag/cmd/swag
176+
go install
177+
````
178+
179+
#### 2.3.2 API docs generation
180+
181+
````
182+
cd server
183+
swag init
184+
````
185+
After executing the above command,`docs` will show in `server/`,then open your browser, jump into `http://localhost:8888/swagger/index.html` to see the swagger APIs.
186+
187+
188+
## 3. Technical selection
189+
190+
- Frontend: using `Element-UI` based on vue,to code the page.
191+
- Backend: using `Gin` to quickly build basic RESTful API. `Gin` is a web framework written in Go (Golang).
192+
- DB: `MySql`(5.6.44),using `gorm` to implement data manipulation, added support for SQLite databases.
193+
- Cache: using `Redis` to implement the recording of the JWT token of the currently active user and implement the multi-login restriction.
194+
- API: using Swagger to auto generate APIs docs。
195+
- Config: using `fsnotify` and `viper` to implement `yaml` config file。
196+
- Log: using `go-logging` record logs。
197+
198+
## 4. Project Architecture
199+
200+
### 4.1 Architecture Diagram
201+
202+
![Architecture diagram](http://qmplusimg.henrongyi.top/gva/gin-vue-admin.png)
203+
204+
### 4.2 Front-end Detailed Design Diagram (Contributor: <a href="https://github.com/baobeisuper">baobeisuper</a>)
205+
206+
![Front-end Detailed Design Diagram](http://qmplusimg.henrongyi.top/naotu.png)
207+
208+
### 4.3 Project Layout
209+
210+
```
211+
├─server (backend)
212+
│ ├─api (API entrance)
213+
│ ├─config (config file)
214+
│ ├─core (core code)
215+
│ ├─db (db scripts)
216+
│ ├─docs (swagger APIs docs)
217+
│ ├─global (global objet)
218+
│ ├─initialiaze (initialiazation)
219+
│ ├─middleware (middle ware)
220+
│ ├─model (model and services)
221+
│ ├─resource (resources, such as static pages, templates)
222+
│ ├─router (routers)
223+
│ ├─service (services)
224+
│ └─utils (common utilities)
225+
└─web (frontend)
226+
├─public (deploy templates)
227+
└─src (source code)
228+
├─api (frontend APIs)
229+
├─assets (static files)
230+
├─components(components)
231+
├─router (frontend routers)
232+
├─store (vuex state management)
233+
├─style (common styles)
234+
├─utils (frontend common utilitie)
235+
└─view (pages)
236+
237+
```
238+
239+
## 5. Features
240+
241+
- Authority management: Authority management based on `jwt` and `casbin`.
242+
- File upload & download: File upload operation based on Qiniu Cloud (In order to make it easier for everyone to test, I have provided various important tokens of my Qiniu test number, and I urge you not to make things a mess).
243+
- Pagination Encapsulation:The frontend uses mixins to encapsulate paging, and the paging method can call mixins
244+
- User management: The system administrator assigns user roles and role permissions.
245+
- Role management: Create the main object of permission control, and then assign different API permissions and menu permissions to the role.
246+
- Menu management: User dynamic menu configuration implementation, assigning different menus to different roles.
247+
- API management: Different users can call different API permissions.
248+
- Configuration management: The configuration file can be modified in the web page (the test environment does not provide this function).
249+
- Rich text editor: Embed MarkDown editor function.
250+
- Conditional search: Add an example of conditional search.
251+
- Restful example: You can see sample APIs in user management module.
252+
253+
```
254+
fontend code file: src\view\superAdmin\api\api.vue
255+
backend code file: model\dnModel\api.go
256+
```
257+
- Multi-login restriction: Change `userMultipoint` to true in `system` in `config.yaml` (You need to configure redis and redis parameters yourself. During the test period, please report in time if there is a bug).
258+
- Upload file by chunk:Provides examples of file upload and large file upload by chunk.
259+
- Form Builder:With the help of [@form-generator](https://github.com/JakHuang/form-generator).
260+
- Code generator: Providing backend with basic logic and simple curd code generator.
261+
262+
## 6. To-do list
263+
264+
- [ ] upload & export Excel
265+
- [ ] e-chart
266+
- [ ] workflow, task transfer function
267+
- [ ] frontend independent mode, mock
268+
269+
## 7. Knowledge base
270+
271+
### 7.1 Team blog
272+
273+
> https://www.yuque.com/flipped-aurora
274+
>
275+
>There are video courses about frontend framework in our blo. If you think the project is helpful to you, you can add my personal WeChat:shouzi_1994,your comments is welcomed。
276+
277+
### 7.2 Video courses
278+
279+
(1) Development environment course
280+
> Bilibili:https://www.bilibili.com/video/BV1Fg4y187Bw/
281+
282+
(2) Template course
283+
> Bilibili:https://www.bilibili.com/video/BV16K4y1r7BD/
284+
285+
(3)2.0 version introduction and development experience
286+
> Bilibili:https://www.bilibili.com/video/BV1aV411d7Gm#reply2831798461
287+
288+
(4) Golang basic course (coming soon)
289+
290+
> https://space.bilibili.com/322210472/channel/detail?cid=108884
291+
292+
## 8. Contacts
293+
### 8.1 Groups
294+
#### QQ group: 622360840
295+
296+
| QQ group |
297+
| :---: |
298+
| <img src="http://qmplusimg.henrongyi.top/qq.jpg" width="180"/> |
299+
300+
301+
#### Wechat group: add anyone above, comment "加入gin-vue-admin交流群"
302+
303+
### 8.2 Team members
304+
| Jiang | Yan | Yin | Du | Yin | Song |
305+
| :---: | :---: | :---: | :---: | :---: | :---: |
306+
| <img width="150" src="http://qmplusimg.henrongyi.top/qrjjz.png"> | <img width="150" src="http://qmplusimg.henrongyi.top/qryr.png"> | <img width="150" src="http://qmplusimg.henrongyi.top/qryx.png"> | <img width="150" src="http://qmplusimg.henrongyi.top/qrdjl.png"> | <img width="150" src="http://qmplusimg.henrongyi.top/qrygl.png"> | <img width="150" src="http://qmplusimg.henrongyi.top/qrsong.png"> |
307+
308+
| Nick name | Project position | First name |
309+
| ---- | ---- | ---- |
310+
| [@piexlmax](https://github.com/piexlmax) | Project sponsor | Jiang |
311+
| [@Ruio9244](https://github.com/Ruio9244) | Architect | Yan |
312+
| [@granty1](https://github.com/granty1) | Backend developer | Yin |
313+
| [@1319612909](https://github.com/1319612909) | UI developer | Du |
314+
| [@krank666](https://github.com/krank666) | Frontend developer | Yin |
315+
| [@chen-chen-up](https://github.com/chen-chen-up) | Novice developer | Song |
316+
| [@SliverHorn](https://github.com/SliverHorn) | Community Administrator | Lai |
317+
318+
## 9. Donate
319+
320+
If you find this project useful, you can buy author a glass of juice :tropical_drink: [here](https://www.gin-vue-admin.com/docs/coffee)
321+
322+
## 10. Commercial considerations
323+
324+
If you use this project for commercial purposes, please comply with the Apache2.0 agreement and retain the author's technical support statement.

0 commit comments

Comments
 (0)