/hsweb-framework

hsweb 是一个用于快速搭建企业后台管理系统的基础项目,集成一揽子便捷功能如:通用增删改查,在线代码生成,权限管理(可控制到列和行),动态多数据源分布式事务,动态脚本,动态定时任务,在线数据库维护等等. 基于 spring-boot,mybaits

Primary LanguageJavaApache License 2.0Apache-2.0

hsweb后台管理基础框架

Join the chat at https://gitter.im/hs-web/hsweb-framework

Build Status License Insight.io

3.0

全新的架构,开发中...

业务功能

现在:

  1. 权限管理: 权限资源-角色-用户.
  2. 配置管理: kv结构,自定义配置.可通过此功能配置数据字典.
  3. 脚本管理: 动态脚本,支持javascript,groovy,java动态编译执行.
  4. 表单管理: 动态表单,可视化设计表单,自动生成数据库以及系统权限.无需重启直接生效.
  5. 模块设置: 配合动态表单实现表格页,查询条件自定义.
  6. 数据库维护: 在线维护数据库,修改表结构,执行sql.
  7. 数据源管理: 配置多数据源.
  8. 代码生成器: 在线生成代码,打包下载.可自定义模板.
  9. 定时任务: 配置定时任务,使用动态脚本编写任务内容.
  10. 系统监控: 监控系统资源使用情况.
  11. 缓存监控: 监控缓存情况.
  12. 访问日志: 记录用户每次操作情况

未来

  1. 组织架构管理: 地区-机构-部门-职务-人员.
  2. 工作流管理: activiti工作流,在线配置流程,配合动态表单实现自定义流程.
  3. 邮件代收: 代收指定邮箱的邮件

框架功能

  1. 全局restful+json,前后分离.
  2. 通用dao,service,controller类,增删改查直接继承即可.
  3. 通用mybatis配置文件,支持多种条件查询自动生成,支持自动生成insert,update,delete语句,支持和查询相同的各种条件.
  4. 实现用户,权限管理;基于aop,注解,精确到按钮的权限控制.
  5. 动态表单功能,可在前端设计表单,动态生成数据库表,提供统一的增删改查接口.
  6. 在线代码生成器,可自定义模板.
  7. 动态多数据源,支持数据源热加载,热切换,支持分布式事务.
  8. 数据库支持 mysql,oracle,h2.
  9. websocket支持.
  10. 定时调度支持,可在页面配置定时任务,编写任务脚本执行。
  11. 强大的dsl查询方式,复杂条件一句生成

演示

  1. 示例:demo.hsweb.me
  2. 测试用户:test (test2,test3,test4....) 密码:123456
  3. 演示项目源码:hsweb-platform

文档

  1. 安装使用
  2. API

此版本待完善功能

  1. 单元测试编写
  2. 项目文档编写
  3. 增加定时调度,支持集群,任务采用脚本方式编写.
  4. 完善数据库持续集成,版本更新时自动更新数据库结构.
  5. 完善动态表单发布,表单发生变化后,自动重新发布(解决集群下,表单配置不一致).

技术选型

第三方:

  1. MVC:spring-boot. 开箱即用,学习成本低,部署方便(main方法运行).
  2. ORM:mybatis. 配置灵活,简单方便.
  3. JTA:atomikos. 分布式事务,多数据源事务全靠他.
  4. Cache:spring-cache. 统一接口,注解使用,simple,redis... 自动切换.
  5. Scheduler:quartz. 开源稳定,支持集群.

自家:

  1. hsweb-commons :通用工具类
  2. hsweb-easy-orm :为动态表单设计的orm框架
  3. hsweb-expands-compress :文件压缩,解压操作
  4. hsweb-expands-office :office文档操作( excel读写,模板导出,word模板导出)
  5. hsweb-expands-request: 请求模拟(http,ftp)
  6. hsweb-expands-script:动态脚本,动态编译执行java,groovy,javascript,spel,ognl....
  7. hsweb-expands-shell:shell执行
  8. hsweb-expands-template:各种模板引擎