一款基于 SpringBoot 开源的权限管理框架,非常适合个人独立完成全栈项目
本项目采用最简单的方式来实现一套项目脚手架!系统功能,或者相关依赖,都是尽量写的最简化,并不会过多的定制功能,导致实际开发中不灵活等问题,又或者不敢随意增加、删除某个模块或功能,从我编写或设计这个框架的角度来分析,尽量避免的这种问题的发生,让使用者能够随意修改或者替换项目中使用的框架或者组件等
很多开发几年的小伙伴从事工作之后,都是不断的写业务 CURD,公司都是有自己的一套开发模板或框架,又或者说使用的是一套低代码平台,比如说若依、jeecg、人人开源等,咸鱼都不怎么关心它里面的基础模块、认证授权、代码生成等模块的实现方法,充当一个无情的 CRUD 工具人,所以这里以文章 + 技术实现的方式,给各位小伙伴做一套基于 SpringBoot 的权限管理系统,然后基于实战业务,针对不同的业务模块,直接构建相关的基础功能,让集成其他业务更加的简单,正所谓万事开头难。
例如:微信公众号授权登录,像这种常用业务,每个项目都要去复制粘贴一遍,虽然代码改动比较小了,但是终归还是要去梳理一遍逻辑,我们可以直接搭建一套模板,把需要的代码相关信息,直接打包成文件夹,复制到项目中,或者项目本身就直接嵌入这些一个项目常用的模块,当然,不会像网上低代码平台那样,项目本身就带有这些模块,如果是中小型公司开发一些常规互联网项目,用不上这么多东西,所以我们做成代码+模块的方式进行装配或者进行复制粘贴
模块介绍
qboot
├─qboot-admin【启动模块】项目启动类,负责启动整个服务端项目
├─qboot-dependencies【依赖模块】管理整个项目所有依赖版本
├─qboot-core【核心模块】项目核心配置,存放所有配置信息
├─qboot-common【工具模块】项目通用工具,存放全局通用工具类
├─qboot-system【系统模块】负责系统管理相关功能,权限必备模块
├─qboot-extend【扩展模块】负责项目集成第三方或者模块扩展
│ ├─qboot-extend-generate【代码生成】负责项目代码生成、项目生成
│ ├─qboot-extend-monitor【监控模块】负责Redis、Druid、服务器等信息监控
│ ├─qboot-extend-oss-local【对象存储本地】
│ ├─qboot-extend-file-storage【对象存储FileStorage】
│ ├─qboot-extend-quartz【定时任务Quartz】
通常情况下,系统内置的功能只有如上几点,所以内置功能就不做过多的增加,只有必须的内置相关功能,如果您觉得不合适,或者想增加、减少某个功能,可以在 issue 提出想法,或者在交流群中一起交流学习!
已完成内置功能
直接查看预览链接即可,后台功能后续会主键完善文档
即将开发内置功能
怎么样开发和设计一个这样的框架?这是很多小伙伴不会的点,市面上有很多低代码平台,也只能直接拉取代码部署到本地,然后代码生成就开始写业务了。这个确实是一个比较漫长的过程,我的目标就是搭建一套极其简约的开源权限管理框架!
服务端框架选型
框架 | 版本 | 框架 | 版本 |
---|---|---|---|
qboot | 1.0.0 | java | 1.8 |
mybatis-plus-boot-starter | 3.5.2 | dynamic-datasource-spring-boot-starter | 3.6.1 |
druid-spring-boot-starter | 1.2.15 | mysql-connector-java | 5.1.47 |
knife4j-spring-boot-starter | 2.0.9 | sa-token-spring-boot-starter | 1.33.0 |
spring-boot-admin-starter | 2.6.10 | sa-token-dao-redis-jackson | 1.33.0 |
sa-token-jwt | 1.33.0 | easypoi-spring-boot-starter | 4.4.0 |
fastjson | 1.2.75 | lombok | 1.18.20 |
hutool-all | 5.8.10 | velocity-engine-core | 2.3 |
oshi-core | 6.3.2 | ip2region | 1.7.2 |
screw-core | 1.0.5 |
PC 端框架选型
框架 | 版本 | 框架 | 版本 |
---|---|---|---|
ant-design-vue | "^1.7.8 | axios | "^0.24.0 |
core-js | "^3.19.2 | echarts | "^5.2.2 |
file-saver | "^2.0.5 | highlight.js | "9.18.5 |
lodash.clonedeep | "^4.5.0 | lodash.get | "^4.4.2 |
lodash.pick | "^4.4.0 | md5 | "^2.3.0 |
moment | "^2.29.1 | nprogress | "^0.2.0 |
qs | "^6.10.1 | screenfull | "5.0.2 |
store | "^2.0.12 | vue | "^2.6.14 |
vue-clipboard2 | "^0.3.3 | vue-container-query | "^0.1.0 |
vue-copy-to-clipboard | "^1.0.3 | vue-cropper | "0.5.8 |
vue-i18n | "^8.24.2 | vue-router | "^3.5.1 |
vue-svg-component-runtime | "^1.0.1 | vuex | "^3.6.2 |
wangeditor | "^4.7.10 |
开发一个完整的项目脚手架或者项目,需要从哪里开始做?这里简单的说一下实际流程大概是什么样子的:
框架基础功能会参照各大低代码平台的功能开发,企业中常见的一些实际业务集成,会通过微信群等渠道,和全国各地的网友讨论之后,不断优化,增加或者减少功能模块,维护功能或优化,可以大家一起参与进来,利用业余摸鱼时间来学习和掌握一个自己完全熟悉的框架
目前我们都是通过微信交流群来交流学习的,或者在码云仓库上面提交 Issue 一起参与讨论与研究
觉得有用,可以 Star 一下仓库哟!或者请作者吃一包辣条!
微信捐赠 | 支付宝捐赠 |
---|---|
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型