Easyadmin
有用的话请鼓励
❤ ️下作者,右上角☝ ️watch、star、fork三连点🙏 🙏 🙏 一波
🌵 介绍
基于 SpringBoot2+MybatiPlus+LayUI+Snaker+Mysql技术,可前后端分离开发或者 前后端一体式开发 ,一款简单、轻量级的 后台管理系统脚手架 。 内置权限管理、工作流引擎、应用监控、Api文档、行为监控、前后端代码生成、动态定时任务、在线WebLog等 。可以理解为 轻量、升级版的若依/RuoYi 。
相比于若依优势如下:
- 若依有的功能EasyAdmin都有,但是使用简洁、有效的轻量级实现,更少的依赖,更低的学习成本
- 若依缺乏的常用功能EasyAdmin也添加了,都是从我实际接触的项目提炼而来,例如:工作流、在线WebLog、应用监控、NginxUI等
- EasyAdmin具有更全面的配套文档,这个项目也是由配套专栏《从零搭建开发脚手架》整理而来
这里没有说若依不好,若依是非常优秀的开源项目,我也是若依项目的使用者之一,EasyAdmin是我根据工作中很多实际项目锤炼出的一套非常适合中小型企业开发的框架,简单来说EasyAdmin是杀鸡刀,若依是杀牛刀,用户名可以根据具体的需求场景进行选择,莫喷、莫喷、莫喷。
愿景是打造一款简单、轻量级的后台管理系统脚手架
适合场景:
项目架构灵活多变,开发模式支持前后端分离和不分离模式,部署模式支持多种方式:Fat.jar模式、Nginx反向代理、Nginx正向代理。
项目地址:https://gitee.com/lakernote/easy-admin
本开源项目,也是从我的专栏《从零搭建开发脚手架》整理而来
视频正在实时更新中,欢迎大家批评指导
🌰 在线演示
低配机轻点拍,穷比
✈ ️✈ ️✈ ️✈ ️✈ ️✈ ️✈ ️
-
用户名/密码:laker/lakernote(普通员工-老李提交请假申请)
-
用户名/密码:yang/lakernote(部门领导-杨总审批)
-
用户名/密码:zhang/lakernote(公司领导-大于2天张总审批)
当前处于开发阶段 ,由于我前端技术小白水平,开发进度较慢,还有很多功能未开发完成,有想一起开发的小伙伴,请加微信
☎ ️【lakernote】联系我。
🌴 功能列表
功能 | 状态 | 相关文档 |
---|---|---|
用户管理、部门管理、菜单管理、角色管理 |
||
基于RBAC角色的访问控制 |
认证授权 sa-token | |
基于knife4j-Api文档集成 |
Knife4j替换swagger | |
基于javamelody应用监控 |
Javamelody-应用程序监控 | |
基于Snakerflow的工作流引擎 |
轻量级工作流引擎Snakerflow集成 | |
自定义注解+AOP用户行为分析 |
SpringBoot自定义注解+AOP实现用户行为监控 | |
基于Freemrker的前后端代码一键生成 |
||
基于mybatis插件的数据权限控制 |
基于Mybatis-Plus的数据权限实现 | |
基于SpringTask定时任务(支持动态CRUD任务) |
基于Spring Task实现动态管理任务 | |
在线WebLog、动态修改日志级别 |
在线WebLog、动态修改日志级别 | |
保证服务的幂等性和防止重复请求 |
相关文档 | |
独特的数据权限过滤功能 |
||
前端路由守卫 | ||
前端按钮控制 |
🌲 软件架构
其他相关文章
- 从零搭建开发脚手架 HttpServletRequest多次读取异常,仅能读取一次
- 从零搭建开发脚手架 Spring Boot 输入参数校验多种方式整理
- 从零搭建开发脚手架 实现在线WebLog、动态修改日志级别
- 跨站请求伪造(CSRF)示例、原理及其防御措施
- 从零搭建开发脚手架 Spring Boot集成Mybatis-plus之一
- 从零搭建开发脚手架 Spring Boot集成Flyway实现数据库版本管理
- Spring Boot Tomcat临时目录tmp抛错误异常
🌳 技术选型
前端:
底座是Layui
这里重点感谢Layui、Pear-Admin-Layui、layuimini,我一个前端小白,学习一周就能撸出来EasyAdmin了。
后端
- Spring Boot 2.3.7.RELEASE
- hutool-all 工具类
- lombok
- mybatis-plus 3.4.2
- druid 数据库连接池
- mysql 数据库
- knife4j Api文档
- sa-token 认证授权
- javamelody 应用监控
- easyexcel Excel处理
- mail 邮箱
- snakerflow 国产工作流引擎
🌼 开发教程
服务端
1.执行sql/easy-admin.sql
2.修改src/main/resource/application.yaml
server:
port: 8080
spring:
datasource:
username: root
password: 123456
url: jdbc:mysql://localhost:3306/laker?serverTimezone=GMT%2B8&characterEncoding=utf8&useSSL=false
3.运行EasyAdminApplication.java
windows系统会自动在浏览器打开首页。超级管理员用户名密码:admin/ilovelaker
前端
有2种方式供选择
方式一、Spring Boot虚拟磁盘模式
运行EasyAdminApplication.java
会自动在浏览器打开首页。属于一体化开发模式。
方式二、纯静态模式
纯静态的,可直接在浏览器运行,属于前后端分离开发模式。
1.修改配置web/admin/config/pear.config.yml
## 配置服务端地址
admin:
server: http://localhost:8080
2.在web/admin/index.html
处,如下图示例操作,点击图标就可以在浏览器访问了
🍄 代码生成
执行CodeGenerator.java
,按照提示输入即可,以下为示例和解释
--------生成文件输出目录---------
D:\JT\easy-admin/src/main/java
-----------------
请输入模块名:
module.ext // 仅仅会影响生成java代码路径D:\JT\easy-admin/src/main/java/com/laker/admin/module/ext
请输入表名,多个英文逗号分割:
ext_log // 影响前端代码生成路径D:\JT\easy-admin/web/admin/view/ext/log
// 影响接口定义 http://xx:port/ext/log
生成好后,直接在菜单权限处,配置访问路径view/ext/log.html
即可访问新建模块
🍂 规约
数据库表命名:模块名+实体,例如:ext_log
数据库字段:主键定义为bigint,且命名为:业务Id,例如:logId
🍃 项目截图
在线WebLog
🌺 部署教程
整体部署规划结构如下:
服务端
先使用
mvn clean package
命令进行打包成Jar.
1.执行easy-admin.sql
2.修改application.yaml
server:
port: 8080
spring:
datasource:
username: root
password: 123456
url: jdbc:mysql://localhost:3306/laker?serverTimezone=GMT%2B8&characterEncoding=utf8&useSSL=false
3.启动
nohup java -jar easy-admin-1.0.0.jar &
由于验证码涉及到java安全协议,建议使用脚本启动
sh run.sh start
前端
首先修改配置web/admin/config/pear.config.yml
,填写你自己服务器实际ip、port
## 配置服务端地址
admin:
server: http://localhost:8080
按照相对位置放即可(或者自己弄个nginx丢进去)
easy-admin.jar
application.yml
run.sh
web
--admin
----admin
----compoment
----config
----view
----index.html
----login.html
校验
浏览器访问http://ip:port/admin
如果部署失败请查看Easyadmin部署及部署常见问题解决,或者联系作者。
☎ ️联系方式☎ ️
个人微信: lakernote(进群加我拉你,备注:easyadmin)
微信公众号 : 李哥聊架构