dokit

Project Url: Perye/dokit
Introduction: 基于 Spring Boot2、 Jpa、 Spring Security、JWT、redis、Vue 的前后端分离的后台管理系统开发平台, 用户管理、菜单管理、角色管理、字典管理、权限控制的方式为 RBAC(Role-Based Access Control,基于角色的访问控制),操作日志、异常日志、接口限流、项目支持数据权限管理,支持一键生成前后端代码(支持在线预览及打包下载),支持前端菜单动态路由 可一键部署服务器应用,数据库。系统中活跃用户状态监控,监视当前系统 CPU、内存、磁盘、堆栈等相关信息。
More: Author   ReportBugs   OfficialWebsite   
Tags:

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://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
│           │   └── 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

系统预览

首页 首页

用户管理 用户管理

角色管理 角色管理

菜单管理 菜单管理

代码生成 代码生成

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools