Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/perye/dokit
基于 Spring Boot2、 Jpa、 Spring Security、JWT、redis、Vue的前后端分离的后台管理系统开发平台, 用户管理、菜单管理、角色管理、字典管理、权限控制的方式为RBAC,操作日志、异常日志、接口限流、项目支持数据权限管理,支持一键生成前后端代码(支持在线预览及打包下载),支持前端菜单动态路由 可一键部署服务器应用,数据库。系统中活跃用户状态监控,监视当前系统CPU、内存、磁盘、堆栈等相关信息,基于Element UI在线表单设计及生成Vue代码。
https://github.com/perye/dokit
axios druid element-ui jpa jwt log4jdbc mapstruct mysql quartz rbac redis spring-boot springboot springcache springsecurity swagger2 vue vue-router vuex websocket
Last synced: 3 months ago
JSON representation
基于 Spring Boot2、 Jpa、 Spring Security、JWT、redis、Vue的前后端分离的后台管理系统开发平台, 用户管理、菜单管理、角色管理、字典管理、权限控制的方式为RBAC,操作日志、异常日志、接口限流、项目支持数据权限管理,支持一键生成前后端代码(支持在线预览及打包下载),支持前端菜单动态路由 可一键部署服务器应用,数据库。系统中活跃用户状态监控,监视当前系统CPU、内存、磁盘、堆栈等相关信息,基于Element UI在线表单设计及生成Vue代码。
- Host: GitHub
- URL: https://github.com/perye/dokit
- Owner: perye
- Created: 2019-10-16T02:03:07.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-12-17T15:38:28.000Z (about 1 year ago)
- Last Synced: 2024-08-03T17:21:05.456Z (6 months ago)
- Topics: axios, druid, element-ui, jpa, jwt, log4jdbc, mapstruct, mysql, quartz, rbac, redis, spring-boot, springboot, springcache, springsecurity, swagger2, vue, vue-router, vuex, websocket
- Language: Java
- Homepage:
- Size: 9.23 MB
- Stars: 512
- Watchers: 16
- Forks: 136
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# dokit
Just do kit!
#### 项目简介
基于 Spring Boot 2.1.9 、 Jpa、 Spring Security、redis、Vue的前后端分离的后台管理系统, 权限控制的方式为RBAC,项目支持数据字典与数据权限管理,支持一键生成前后端代码(支持在线预览及打包下载),支持前端菜单动态路由
可一键部署服务器应用,数据库。系统中活跃用户状态监控,监视当前系统CPU、内存、磁盘、堆栈等相关信息,基于Element UI在线表单设计及生成Vue代码。- 前后端统一异常拦截处理,统一输出异常,避免繁琐的判断
- 高效率开发,使用代码生成器可以一键生成前后端代码
- 支持数据字典,可方便的对一些状态进行管理
- 支持接口限流,避免恶意请求导致服务层压力过大
- 支持接口级别的功能权限与数据权限,可自定义操作
- 自定义权限注解与匿名接口注解,可快速对某一接口拦截与放行
- 对一些常用的前端组件封装:表格数据请求、数据字典等
- 前端表单,后端代码,支持配置一键生成项目地址
|github|码云|
| ------ | ------ |
|[https://github.com/Perye/dokit](https://github.com/Perye/dokit)|[https://gitee.com/hongguodong/dokit](https://gitee.com/hongguodong/dokit)|#### 系统功能
- 用户管理:提供用户的相关配置,新增用户后,默认密码为123456
- 角色管理:对权限与菜单进行分配,可根据部门设置角色的数据权限
- 菜单管理:菜单动态路由,后端可配置化,支持多级菜单
- 部门管理:可配置系统组织架构,树形表格展示
- 岗位管理:配置各个部门的职位
- 字典管理:可维护常用一些固定的数据,如:状态,性别等
- 操作日志:记录用户操作的日志
- 异常日志:记录异常日志,方便开发人员定位错误,异常信息前台高亮显示
- 系统缓存:使用jedis将缓存操作可视化,并提供对redis的基本操作,可根据需求自行扩展
- SQL监控:采用druid 监控数据库访问性能,默认用户名admin,密码123456
- 定时任务:整合Quartz做定时任务,加入任务日志,任务运行情况一目了然
- 代码生成:高灵活度一键生成前后端代码,减少百分之80左右的工作任务,可以预览生成结果
- 邮件工具:配合富文本,发送html格式的邮件
- 系统接口:根据业务代码自动生成相关的api接口文档。
- 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
- 图床管理:使用sm.ms图床,用作公共图片上传使用
- 七牛云存储:可同步七牛云存储的数据到系统,无需登录七牛云直接操作云数据
- 在线用户:当前系统中活跃用户状态监控,查看实时在线用户,可以管理在线用户,踢下线等操作
- 服务器: 可以连接云服务器进行管理
- 数据库管理: 连接数据方便更新数据库脚本
- 应用管理:上传jar包到服务器进行管理
- 部署管理:可一键部署,根据配置的服务器和应用程序,线上直接配置,无需命令行
- 表单构建:基于Element UI在线表单设计及生成Vue代码##### 后端技术
| 技术 | 说明 |
| -------------------- | ------------------- |
| SpringBoot | 容器+MVC框架 |
| SpringSecurity | 认证和授权框架 |
| Spring-data-jpa | ORM框架 |
| Spring Cache | Spring缓存
| Swagger-UI | 文档生产工具 |
| log4jdbc | 监控sql日志 |
| Redis | 分布式缓存 |
| Druid | 数据库连接池 |
| OSS | 对象存储 |
| JWT | JWT登录支持 |
| Lombok | 简化对象封装工具 |
| quartz | 作业调度框架 |
| freemarker | 模版引擎 |
| sigar | 系统信息 |
| websocket | TCP通信 |
| ssh2 | 服务器连接 |
| jsch | SFTP文件传输 |
| mapstruct | 属性映射工具 |
| mysql| 关系型数据库|##### 前端技术
| 技术 | 说明 |
| ---------- | ---------------------
| Vue | 前端框架 |
| Vue-router | 路由框架 |
| Vuex | 全局状态管理框架 |
| Element | 前端UI框架 |
| Axios | 前端HTTP框架 |
| echarts | 基于Echarts的图表框架 |
| Js-cookie | cookie管理工具 |
| nprogress | 进度条控件 |
| vue-count-to|数字滚动 |
| vue-highlightjs|代码语法高亮|
| qs | 对象序列化 |
| vue-cropper | 图片剪切|
| vue-splitpane | 前端页面分割|
| path-to-regexp| url正则表达 |
| wangeditor|富文本编辑器 |
| mavon-editor|markdown编辑器|
| jszip| 压缩解压|
| jsencrypt | 参数前端加密|
| fusejs|基于 JavaScript 的轻量级模糊搜索引擎 |
| file-saver|客户端保存文件|
| codemirror|在线编辑代码|
| clipboard| 点击复制|
| vue-treeselect| 树形选择器|
| vue-jsx|JSX语法|
| screenfullJS| 全屏|
| xlsx| 生成报表 |
| sass| CSS扩展语言|
| svgo| svg压缩|#### 项目结构
```
后端
.
├── main
│ ├── java
│ │ └── com
│ │ └── perye
│ │ └── dokit
│ │ ├── DokitApplication.java 应用启动类
│ │ ├── annotation 系统自定义注解
│ │ ├── aop
│ │ ├── aspect 自定义注解的切面
│ │ ├── base 提供了Entity、DTO基类和mapstruct的通用mapper
│ │ ├── config 自定义权限实现、redis配置、swagger配置
│ │ ├── controller
│ │ ├── dto
│ │ ├── entity
│ │ ├── exception 统一异常的处理
│ │ ├── mapper
│ │ ├── redis
│ │ ├── repository
│ │ ├── security
│ │ ├── service
│ │ ├── swagger2
│ │ ├── task
│ │ ├── utils 系统通用工具类
│ │ ├── vo
│ │ └── websocket
│ └── resources
│ ├── banner.txt
│ ├── config
│ │ ├── application-dev.yml
│ │ ├── application-prod.yml
│ │ └── application.yml
│ ├── generator.properties
│ ├── log4jdbc.log4j2.properties
│ ├── logback.xml
│ ├── sigar-lib sigar所需文件
│ ├── sql
│ │ └── dokit.sql sql文件
│ └── template
│ │ └── email.ftl 发送邮件模版
│ └── generator 自动生成代码模版
│ ├── admin
│ │ ├── Controller.ftl
│ │ ├── Dto.ftl
│ │ ├── Entity.ftl
│ │ ├── Mapper.ftl
│ │ ├── QueryCriteria.ftl
│ │ ├── Repository.ftl
│ │ ├── Service.ftl
│ │ └── ServiceImpl.ftl
│ └── front
│ ├── api.ftl
│ └── index.ftl
└──
``````
前端
.
├── LICENSE
├── README.md
├── babel.config.js
├── jest.config.js
├── package.json
├── plopfile.js
├── postcss.config.js
├── public
│ ├── favicon.ico
│ └── index.html
├── src
│ ├── App.vue
│ ├── api
│ ├── assets
│ ├── components
│ │ ├── Breadcrumb
│ │ ├── Crud
│ │ ├── Dict
│ │ ├── Echarts
│ │ ├── Hamburger
│ │ ├── HeaderSearch
│ │ ├── IconSelect
│ │ ├── Iframe
│ │ ├── JavaEdit
│ │ ├── Pagination
│ │ ├── PanThumb
│ │ ├── Permission
│ │ ├── RightPanel
│ │ ├── Screenfull
│ │ ├── SizeSelect
│ │ ├── SvgIcon
│ │ ├── ThemePicker
│ │ └── YamlEdit
│ ├── layout
│ ├── main.js
│ ├── mixins
│ ├── router
│ ├── settings.js
│ ├── store
│ ├── utils
│ └── views
│ ├── components
│ ├── dashboard
│ ├── features
│ ├── generator
│ ├── home.vue
│ ├── login.vue
│ ├── mnt
│ ├── monitor
│ ├── system
│ └── tools
├── static
├── tree.txt
├── vue.config.js
└── yarn.lock```
#### 系统预览
首页
![首页](https://i.loli.net/2020/01/07/qRDfPelSUsgd4cX.jpg)用户管理
![用户管理](https://i.loli.net/2020/01/07/UzS2Jko48P1xpYi.png)角色管理
![角色管理](https://i.loli.net/2020/01/07/BWfhctILKGx3FOw.png)菜单管理
![菜单管理](https://i.loli.net/2020/01/07/6qhBA2edJxRzrWT.png)代码生成
![代码生成](https://i.loli.net/2020/01/07/1rouCmxwXRjaSF9.png)