OPSLI is a low-code fast platform with zero-code development, dedicated to making a simpler backend management system!
The OPSLI rapid development platform is based on springboot, vue, and element-ui. The project adopts a front-end and back-end separation architecture. The hot-swappable business modules and plug-ins have high scalability, the code is concise, and the functions are rich. It can be used out of the box, helping Java projects solve 70% of the problems. Repeating work allows development to focus more on business logic, which can quickly improve efficiency and save R&D costs without losing flexibility!
Standalone version
name | version number | name | version number | |
---|---|---|---|---|
jdk version | 1.8 | springboot version | 2.7.10 | |
mybatis-plus version | 3.5.2 | pagehelper version | 1.4.6 | |
druid version | 1.1.17 | dynamic version | 2.5.4 | |
fastjson version | 1.2.83 | transmittable version | 2.12.5 | |
ehcache version | 3.9.0 | easyexcel version | 2.2.6 | |
captcha version | 1.6.2 | guava version | 30.0-android | |
enjoy version | 4.9.06 | hutool version | 5.7.14 |
- Address: https://demo.opsli.bedebug.com
- Account: demo
- Password: Aa123456
- Database monitoring/system interface
- Account: admin
- Password: 123456
Highly scalable login : A highly scalable interface based on the transformation of Spring Security to facilitate later support for login via email, mobile phone, account password, third party, etc.
Highly scalable API control : automatically supports v1-vn multi-version, multi-terminal interface compatibility, and business expansion without fighting
Code generation : Using self-developed code generator + Jfinal Enjoy template engine, front-end and back-end code can be generated visually online, and code templates can be customized
Multi-tenant function : adopt self-developed and perfect multi-tenant SaaS function to provide a complete set of industry SaaS solutions
Login security : Login data adopts two-way encryption mode, and the encryption key can be switched with one click in the background to ensure the privacy and security of logged in users.
Data security : supports custom annotations and one-click encryption of data
Cache security : Use self-developed Security Cache to solve cache penetration, breakdown, and avalanche problems
Identity security : When changing your email address, mobile phone number or forgetting your password, there is independent identity authentication.
Online documentation : By accessing Knife4j, you can view and debug online API documentation;
Business separation : adopt a framework design with front-end and back-end separation, and the front-end adopts vue-admin-beautiful (the open source version is based on element-ui)
.
├── opsli-api 对外API 控制中心
│ ├── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── org
│ │ │ │ └── opsli
│ │ │ │ └── api
│ │ │ │ ├── base API 基础
│ │ │ │ ├── web API Web层
│ │ │ │ └── warpper API 封装对象
│ │ │ │
├── opsli-base-support 基础模块
│ ├── opsli-common 基础 - 公共模块
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── org
│ │ │ │ │ └── opsli
│ │ │ │ │ └── common
│ │ │ │ │ ├── annotation 公共模块 - 注解类
│ │ │ │ │ ├── api 公共模块 - Result内部文件(暂时无用)
│ │ │ │ │ ├── base 公共模块 - 基础类
│ │ │ │ │ ├── constants 公共模块 - 常量
│ │ │ │ │ ├── enums 公共模块 - Enums
│ │ │ │ │ ├── exception 公共模块 - 异常类
│ │ │ │ │ ├── msg 公共模块 - 信息
│ │ │ │ │ ├── thread 公共模块 - 线程相关
│ │ │ │ │ └── utils 公共模块 - 工具类
│ │ │ │ │
│ └── opsli-core 基础 - 核心模块
│ ├── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── org
│ │ │ │ └── opsli
│ │ │ │ ├── core 核心
│ │ │ │ │ ├── api 核心模块 - API接口相关(登录Token缓存)
│ │ │ │ │ ├── autoconfigure 核心模块 - 自动配置
│ │ │ │ │ │ ├── conf 自动装配
│ │ │ │ │ │ └── properties 配置文件注入
│ │ │ │ │ ├── base 核心模块 - 基础类 Entity Service
│ │ │ │ │ ├── cache 核心模块 - 缓存处理
│ │ │ │ │ ├── eventbus 核心模块 - 消息事件
│ │ │ │ │ ├── filters 核心模块 - 过滤器
│ │ │ │ │ │ ├── aspect AOP切面
│ │ │ │ │ │ └── interceptor Spring拦截器
│ │ │ │ │ ├── general 核心模块 - 其他处理器
│ │ │ │ │ ├── handler 核心模块 - 异常拦截处理
│ │ │ │ │ ├── holder 核心模块 - 上下文数据
│ │ │ │ │ ├── listener 核心模块 - 系统监听器
│ │ │ │ │ ├── log 核心模块 - 日志处理
│ │ │ │ │ ├── msg 核心模块 - 信息
│ │ │ │ │ ├── options 核心模块 - 系统参数
│ │ │ │ │ ├── persistence 核心模块 - 查询条件构造器
│ │ │ │ │ │ └── querybuilder
│ │ │ │ │ │ └── chain 核心模块 - 查询条件构造器 - 责任链(例: 租户处理)
│ │ │ │ │ ├── security 核心模块 - 权限验证
│ │ │ │ │ │ ├── filter 拦截器
│ │ │ │ │ │ └── service 获取用户的Service
│ │ │ │ │ └── utils 核心模块 - 工具类
│ │ │ │ └── pligins 插件
│ │ │ │ └── oss 插件模块 - OSS文件存储
│ │ │ │
├── opsli-modulars 业务
│ ├── opsli-modulars-generator 代码生成器
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── org
│ │ │ │ │ └── opsli
│ │ │ │ │ ├──core 代码生成器 - 核心包
│ │ │ │ │ │ └── generator
│ │ │ │ │ │ ├── enums 代码生成器 - 枚举类
│ │ │ │ │ │ ├── exception 代码生成器 - 异常类
│ │ │ │ │ │ ├── msg 代码生成器 - 信息类
│ │ │ │ │ │ ├── strategy 代码生成器 - 策略类
│ │ │ │ │ │ └── utils 代码生成器 - 工具包
│ │ │ │ │ │
│ │ │ │ │ └── modulars 代码生成器 - 业务包
│ │ │ │ │ └── generator
│ │ │ │ │ ├── column 代码生成器 - 表结构
│ │ │ │ │ ├── createrlogs 代码生成器 - 生成记录
│ │ │ │ │ ├── general 代码生成器 - 同步数据库执行器
│ │ │ │ │ ├── importable 代码生成器 - 数据库导入
│ │ │ │ │ └── table 代码生成器 - 表管理
│ │ │ │ │
│ └── opsli-modulars-system 系统模块
│ ├── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── org
│ │ │ │ └── opsli
│ │ │ │ └── modulars
│ │ │ │ ├── system 系统模块 - 系统配置
│ │ │ │ │ ├── area 系统模块 - 地域
│ │ │ │ │ ├── dict 系统模块 - 字典
│ │ │ │ │ ├── login 系统模块 - 登录
│ │ │ │ │ │ ├── dto 系统模块 - 登录 - DTO
│ │ │ │ │ │ ├── event 系统模块 - 登录 - 消息事件
│ │ │ │ │ │ ├── handler 系统模块 - 登录 - 前置、成功、失败处理器
│ │ │ │ │ │ ├── vo 系统模块 - 登录 - 返回数据
│ │ │ │ │ │ └──web 系统模块 - 登录 - 接口控制器
│ │ │ │ │ ├── logs 系统模块 - 日志
│ │ │ │ │ ├── menu 系统模块 - 菜单
│ │ │ │ │ ├── monitor 系统模块 - 系统监控
│ │ │ │ │ ├── options 系统模块 - 参数配置
│ │ │ │ │ ├── org 系统模块 - 组织机构
│ │ │ │ │ ├── role 系统模块 - 角色
│ │ │ │ │ ├── tenant 系统模块 - 租户
│ │ │ │ │ └── user 系统模块 - 用户
│ │ │ │ │
│ │ │ │ └── tools 工具包
│ │ │ │ ├── api 工具包 - 版本控制API测试类
│ │ │ │ ├── common 工具包 - 公共服务
│ │ │ │ ├── email 工具包 - 邮件包
│ │ │ │ ├── oss 工具包 - 文件存储
│ │ │ │ └── searchhis 工具包 - 搜索历史
│ │ │ │
├── opsli-plugins 插件
│ ├── opsli-plugins-crypto 加解密插件包
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── org
│ │ │ │ │ └── opsli
│ │ │ │ │ └── plugins
│ │ │ │ │ └── crypto
│ │ │ │ │ ├── enums 加解密插件包 - 枚举
│ │ │ │ │ ├── exception 加解密插件包 - 异常处理类
│ │ │ │ │ ├── model 加解密插件包 - 模型
│ │ │ │ │ ├── msg 加解密插件包 - 异常消息
│ │ │ │ │ ├── spring 加解密插件包 - Spring集成相关内容
│ │ │ │ │ └── strategy 加解密插件包 - 加解密策略 包含 对称、非对称等等
│ │ │ │ │
│ ├── opsli-plugins-ehcache Ehcache缓存插件 (二级缓存)
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── org
│ │ │ │ │ └── opsli
│ │ │ │ │ └── plugins
│ │ │ │ │ └── cache
│ │ │ │ │ ├── conf Ehcache缓存插件 - 自动装配
│ │ │ │ │ ├── msg Ehcache缓存插件 - 信息
│ │ │ │ │ └── service Ehcache缓存插件 - 服务
│ │ │ │ │
│ ├── opsli-plugins-email 邮件插件包
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── org
│ │ │ │ │ └── opsli
│ │ │ │ │ └── plugins
│ │ │ │ │ └── email
│ │ │ │ │ ├── conf 邮件插件包 - 配置文件
│ │ │ │ │ ├── exception 邮件插件包 - 异常处理类
│ │ │ │ │ ├── msg 邮件插件包 - 异常消息
│ │ │ │ │ ├── service 邮件插件包 - 处理类
│ │ │ │ │ └── wrapper 邮件插件包 - 包装器
│ │ │ │ │
│ ├── opsli-plugins-excel Excel插件
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── org
│ │ │ │ │ └── opsli
│ │ │ │ │ └── plugins
│ │ │ │ │ └── excel
│ │ │ │ │ ├── annotation Excel插件 - 注解
│ │ │ │ │ ├── exception Excel插件 - 异常类
│ │ │ │ │ ├── factory Excel插件 - 工厂
│ │ │ │ │ ├── listener Excel插件 - 监听器
│ │ │ │ │ └── msg Excel插件 - 信息
│ │ │ │ │
│ └── opsli-plugins-redis Redis缓存插件(一级缓存)
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── org
│ │ │ │ │ └── opsli
│ │ │ │ │ └── plugins
│ │ │ │ │ └── redis
│ │ │ │ │ ├── conf Redis缓存插件 - 自动装配
│ │ │ │ │ ├── exception Redis缓存插件 - 异常类
│ │ │ │ │ ├── jsonserializer Redis缓存插件 - json特殊处理器
│ │ │ │ │ ├── lock Redis缓存插件 - 分布式锁
│ │ │ │ │ ├── msg Redis缓存插件 - 信息
│ │ │ │ │ ├── pushsub Redis缓存插件 - 消息订阅
│ │ │ │ │ └── scripts Redis缓存插件 - 脚本处理
│ │ │ │ └── resources
│ │ │ │ │ └── lua Redis缓存插件 - Lua脚本
│ │ │ │ │
│ └── opsli-plugins-redisson Redisson分布式锁
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── org
│ │ │ │ │ └── opsli
│ │ │ │ │ └── plugins
│ │ │ │ │ └── redis
│ │ │ │ │ ├── annotation Redisson分布式锁 - 注解
│ │ │ │ │ ├── conf Redisson分布式锁 - 自动装配
│ │ │ │ │ ├── constant Redisson分布式锁 - 常量
│ │ │ │ │ ├── enums Redisson分布式锁 - 枚举类
│ │ │ │ │ ├── properties Redisson分布式锁 - 配置类
│ │ │ │ │ └── strategy Redisson分布式锁 - 策略
│ │ │ │ │
│ ├── opsli-plugins-security 安全认证插件包
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── org
│ │ │ │ │ └── opsli
│ │ │ │ │ └── plugins
│ │ │ │ │ └── security
│ │ │ │ │ ├── authentication 安全认证插件包 - 识别器
│ │ │ │ │ ├── checker 安全认证插件包 - 检查器
│ │ │ │ │ ├── eventbus 安全认证插件包 - 消息事件
│ │ │ │ │ ├── eventdto 安全认证插件包 - 消息事件DTO
│ │ │ │ │ ├── exception 安全认证插件包 - 异常
│ │ │ │ │ ├── handler 安全认证插件包 - 登陆处理器
│ │ │ │ │ ├── properties 安全认证插件包 - 配置文件
│ │ │ │ │ ├── provider 安全认证插件包 - Security认证器
│ │ │ │ │ ├── service 安全认证插件包 - 加载用户信息抽象Service
│ │ │ │ │ ├── utils 安全认证插件包 - 工具包
│ │ │ │ │ └── vo 安全认证插件包 - VO
│ │ │ │ │
│ ├── opsli-plugins-sms 短信插件包
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── org
│ │ │ │ │ └── opsli
│ │ │ │ │ └── plugins
│ │ │ │ │ └── sms
│ │ │ │ │ ├── enums 短信插件包 - 配置文件
│ │ │ │ │ ├── exception 短信插件包 - 异常处理类
│ │ │ │ │ ├── model 短信插件包 - 模型
│ │ │ │ │ ├── msg 短信插件包 - 异常消息
│ │ │ │ │ └── service 短信插件包 - 服务处理
│ │ │ │ │
│ └── opsli-plugins-waf Waf软防火墙
│ ├── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── org
│ │ │ │ └── opsli
│ │ │ │ └── plugins
│ │ │ │ └── redis
│ │ │ │ ├── conf Waf软防火墙 - 自动装配
│ │ │ │ ├── filter Waf软防火墙 - 拦截器
│ │ │ │ ├── msg Waf软防火墙 - 信息
│ │ │ │ ├── properties Waf软防火墙 - 配置类
│ │ │ │ ├── servlet Waf软防火墙 - Servlet处理器
│ │ │ │ └── util Waf软防火墙 - 工具包
│ │ │ │
└── opsli-starter 启动类
└── src
└── main
├── java
│ └── org
│ └── opsli 启动类 - 启动器
└── resources 启动类 - 配置
└── config 启动类 - 其他配置
Thank you Star, thank you for meeting us, and may the beauty of the world be with us, come on! We in front of the screen break the shackles and stick to our original aspirations. In fact, there are not many opportunities to change our destiny in life. We are not not good, and we are not useless. We also hope to stand on the top of the mountain and be looked up to by everyone. Maybe what we lack is just an opportunity, and what we lack is just a mentor in life. I I hope this framework will help more people. I hope that one day, we will no longer be timid when interviewing. I hope that one day, others will see not only your efforts, but also your success and success.
Thanks to JetBrains for providing free open source License:
opsli-boot adopts Apache License2.0 protocol
opsli-ui is a secondary development of open source products on the market. Relevant developers are requested to follow the open source agreement of the corresponding front-end framework.
The code can be used for personal projects, private work, or corporate project scaffolding, completely free of charge.
If secondary development is used for open source competing products, please contact the group owner first to communicate. Failure to review will be considered infringement.
Please do not delete or modify the copyright and author statement and source of the source dock department.
Thank you for your willingness to support open source