[PanJiaChen/vue-element-admin](https://github.com/PanJiaChen/vue-element-admin) (full features supported vue admin)
[PanJiaChen/electron-vue-admin](https://github.com/PanJiaChen/electron-vue-admin) (a vue electron admin project)
## Features
```txt
- Login / Logout
- Permission Authentication
- Page permission
- Directive permission
- Permission configuration page
- Two-step login
- Multi-environment build
- Dev / Stage / Prod
- Global Features
- I18n
- Dynamic themes
- Dynamic sidebar (supports multi-level routing)
- Dynamic breadcrumb
- Tags-view (supports right-click operation)
- Clipboard
- Svg icons
- Search
- Screenfull
- Settings
- Mock data / Mock server
- PWA support
- Components
- Editors
- Rich Text Editor
- Markdown Editor
- JSON Editor
- Avatar Upload
- Back To Top
- CountTo
- Dropzone
- Draggable Dialog
- Draggable Kanban
- Draggable List
- Draggable Select
- ECharts
- Mixin
- SplitPane
- Sticky
- Table
- Dynamic Table
- Draggable Table
- Inline Edit Table
- Complex Table
- Excel
- Export Excel
- Upload Excel
- Excel Visualization
- Zip
- Export zip
- PDF
- Download pdf
- Dashboard
- Guide Page
- Advanced Example Page
- Error Log
- Error Page
- 401
- 404
```
## Preparation
## Preparation
You need to install [node](http://nodejs.org/) and [git](https://git-scm.com/) locally. The project is based on [typescript](https://www.typescriptlang.org/), [vue](https://vuejs.org/index.html), [vuex](https://vuex.vuejs.org/), [vue-router](https://router.vuejs.org/), [vue-cli](https://github.com/vuejs/vue-cli) , [axios](https://github.com/axios/axios) and [element-ui](https://github.com/ElemeFE/element), Understanding and learning these knowledge in advance will greatly help you on using this project.
- [node](http://nodejs.org/) and [git](https://git-scm.com/) - Project development environment
- [Vite](https://vitejs.dev/) - Familiar with vite features
- [Vue3](https://v3.vuejs.org/) - Familiar with Vue basic syntax
- [TypeScript](https://www.typescriptlang.org/) - Familiar with the basic syntax of `TypeScript`
- [Es6+](http://es6.ruanyifeng.com/) - Familiar with es6 basic syntax
- [Vue-Router-Next](https://next.router.vuejs.org/) - Familiar with the basic use of vue-router
- [Ant-Design-Vue](https://2x.antdv.com/docs/vue/introduce-cn/) - ui basic use
@ -135,34 +99,26 @@ You need to install [node](http://nodejs.org/) and [git](https://git-scm.com/) l
│ ├── assets # module assets like fonts, images (processed by webpack)
│ ├── assets # module assets like fonts, images (processed by webpack)
│ ├── components # global components
│ ├── components # global components
│ ├── directives # global directives
│ ├── directives # global directives
│ ├── filters # global filter
│ ├── enums # global enums
│ ├── icons # svg icons
│ ├── hooks # global hooks
│ ├── lang # i18n language
│ ├── locales # locales
│ ├── layout # global layout
│ ├── layout # layouts
│ ├── pwa # PWA service worker related files
│ ├── router # router
│ ├── router # router
│ ├── settings # global settings
│ ├── store # store
│ ├── store # store
│ ├── styles # global css
│ ├── utils # global utils
│ ├── utils # global utils
│ ├── views # views
│ ├── views # views
│ ├── App.vue # main app component
│ ├── App.vue # main app component
│ ├── main.ts # app entry file
│ ├── main.ts # app entry file
│ ├── permission.ts # permission authentication
├── types # types
│ ├── settings.ts # setting file
│ └── shims.d.ts # type definition shims
├── tests/ # tests
├── tests/ # tests
├── .circleci/ # automated CI configuration
├── .browserslistrc # browserslist config file (to support Autoprefixer)
├── .editorconfig # editor code format consistency config
├── .env.xxx # env variable configuration
├── .env.xxx # env variable configuration
├── .eslintrc.js # eslint config
├── .eslintrc.js # eslint config
├── babel.config.js # babel config
├── cypress.json # e2e test config
├── jest.config.js # jest unit test config
├── jest.config.js # jest unit test config
├── package.json # package.json
├── package.json # package.json
├── postcss.config.js # postcss config
├── postcss.config.js # postcss config
├── tsconfig.json # typescript config
├── tsconfig.json # typescript config
└── vue.config.js # vue-cli config
└── vite.config.js # vue vite config
```
```
## Project setup
## Project setup
@ -182,71 +138,21 @@ yarn install
Modify the server address that the development environment will use for the proxy. Provide the following three addresses: IdentityService, IdentityServer, and ApiService
Modify the server address that the development environment will use for the proxy. Provide the following three addresses: IdentityService, IdentityServer, and ApiService
In directory **./aspnet-core/configuration** ,Copy the given settings file to your own project directory (only if you are cloning the repository for the first time)
Make sure the configuration file is the same as the connection configuration of your development environment middleware, such as RabbitMQ, MySql, Redis, and so on
### EntityFramework migration
### EntityFramework migration
Please switch to the service project startup directory and execute the **dotnet EF ** command for database migration
Please switch to the service project startup directory and execute the **dotnet EF ** command for database migration
@ -263,14 +169,6 @@ dotnet ef database update
- You can also use quick migration script files: **./build/build-aspnetcore-ef-update.ps1**
- You can also use quick migration script files: **./build/build-aspnetcore-ef-update.ps1**
### Initializes the apigateway database
In the **2020-08-05 16:25:00** submission, the **apigateway-init.SQL** file has been read and written to the **DataSeeder** type. Starting the gateway management project will automatically initialize the gateway data.
Make sure the **aspnet-core/Database/apigateway-init.sql** file exists
### Configure the RabbitMQ
### Configure the RabbitMQ
Therefore project design for the micro service architecture, with the method of distributed event, communication between project USES is [DotNetCore/CAP](https://github.com/dotnetcore/CAP)
Therefore project design for the micro service architecture, with the method of distributed event, communication between project USES is [DotNetCore/CAP](https://github.com/dotnetcore/CAP)
@ -295,23 +193,23 @@ start-all-service.bat
```shell
```shell
cd vueJs
cd apps/vue
start-vue-admin.bat
yarn dev
```
```
#### Compiles and minifies for production
#### Compiles and minifies for production
```bash
```bash
yarn run build:prod
yarn run build
```
```
### About Docker container
### About Docker container
**Step 1**: Building background services, powershell script: **./build/build-aspnetcore-release.ps1**, **Warning: after the release of service need configuration file: appsettings.Production.json**
**Step 1**: Building background services, powershell script: **./build/build-aspnetcore-release.ps1**, **Warning: after the release of service need configuration file: appsettings.Production.json**
**Step 2**: Build the front-end, **./build/build-vue-element-admin.ps1**
**Step 2**: Build the front-end, **./build/build-vue-apps.ps1**
**Step 3**: Build after the release of the address of the default in **./aspnet-core/services/Publish**, change nginx proxy server address: **./client/docker/nginx/default.conf**
**Step 3**: Build after the release of the address of the default in **./aspnet-core/services/Publish**, change nginx proxy server address: **./client/docker/nginx/default.conf**
@ -322,7 +220,7 @@ yarn run build:prod
#### Lints and fixes files
#### Lints and fixes files
```bash
```bash
yarn run lint
yarn lint:eslint
```
```
#### Run your unit tests
#### Run your unit tests
@ -331,34 +229,60 @@ yarn run lint
yarn run test:unit
yarn run test:unit
```
```
#### Run your end-to-end tests
```bash
## How to contribute
yarn run test:e2e
```
#### Generate all svg components
You are very welcome to join!Raise an issue Or submit a Pull Request。
```bash
**Pull Request:**
yarn run svg
```
1. Fork code!
2. Create your own branch: `git checkout -b feat/xxxx`
3. Submit your changes: `git commit -am 'feat(function): add xxxxx'`