Code Monkey home page Code Monkey logo

bootdo's Introduction

BootDo 面向学习型的开源框架

平台简介

一群[]BootDo交流群 二群BootDo交流群 三群:BootDo交流群

BootDo是高效率,低封装,面向学习型,面向微服的开源Java EE开发框架。

BootDo是在SpringBoot基础上搭建的一个Java基础开发平台,MyBatis为数据访问层,ApacheShiro为权限授权层,Ehcahe对常用数据进行缓存。

BootDo主要定位于后台管理系统学习交流,已内置后台管理系统的基础功能和高效的代码生成工具, 包括:系统权限组件、数据权限组件、数据字典组件、核心工具组件、视图操作组件、工作流组件、代码生成等。 前端界面风格采用了结构简单、性能优良、页面美观大气的Twitter Bootstrap页面展示框架。 采用分层设计、双重验证、提交数据安全编码、密码加密、访问验证、数据权限验证。 使用Maven做项目管理,提高项目的易开发性、扩展性。

BootDo目前包括以下四大模块,系统管理(SYS)模块、 内容管理(CMS)模块、在线办公(OA)模块、代码生成(GEN)模块。 系统管理模块 ,包括企业组织架构(用户管理、机构管理、区域管理)、 菜单管理、角色权限管理、字典管理等功能; 内容管理模块 ,包括内容管理(文章、链接),栏目管理、站点管理、 公共留言、文件管理、前端网站展示等功能; 在线办公模块 ,提供简单的请假流程实例;代码生成模块 ,完成重复的工作。

BootDo 提供了常用工具进行封装,包括日志工具、缓存工具、服务器端验证、数据字典、当前组织机构数据 (用户、机构、区域)以及其它常用小工具等。另外还提供一个强大的在线 代码生成 工具。

内置功能

  1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  2. 机构管理:配置系统组织机构(公司、部门、小组),树结构展现,可随意调整上下级。
  3. 区域管理:系统城市区域模型,如:国家、省市、地市、区县的维护。
  4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护,如:是否、男女、类别、级别等。
  7. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  8. 连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
  9. 工作流引擎:实现业务工单流转、在线流程设计器。

技术选型

1、后端

  • 核心框架:Spring Boot
  • 安全框架:Apache Shiro
  • 模板引擎:Thymeleaf
  • 持久层框架:MyBatis
  • 数据库连接池:Alibaba Druid
  • 缓存框架:Ehcache 、Redis
  • 日志管理:SLF4J
  • 工具类:Apache Commons、Jackson

2、前端

  • JS框架:jQuery
  • 客户端验证:JQuery Validation
  • 富文本在线编辑:summernote
  • 数据表格:bootstrapTable
  • 弹出层:layer
  • 树结构控件:jsTree

4、平台

  • 服务器中间件:SpringBoot内置
  • 数据库支持:目前仅提供MySql数据库的支持,但不限于数据库
  • 开发环境:Java、Eclipse Java EE 、Maven 、Git

安全考虑

  1. 开发语言:系统采用Java 语言开发,具有卓越的通用性、高效性、平台移植性和安全性。
  2. 分层设计:(数据库层,数据访问层,业务逻辑层,展示层)层次清楚,低耦合,各层必须通过接口才能接入并进行参数校验(如:在展示层不可直接操作数据库),保证数据操作的安全。
  3. 双重验证:用户表单提交双验证:包括服务器端验证及客户端验证,防止用户通过浏览器恶意修改(如不可写文本域、隐藏变量篡改、上传非法文件等),跳过客户端验证操作数据库。
  4. 安全编码:用户表单提交所有数据,在服务器端都进行安全编码,防止用户提交非法脚本及SQL注入获取敏感数据等,确保数据安全。
  5. 密码加密:登录用户密码进行SHA1散列加密,此加密方法是不可逆的。保证密文泄露后的安全问题。
  6. 强制访问:系统对所有管理端链接都进行用户身份权限验证,防止用户直接填写url进行访问。

演示地址

交流反馈

QQ群 669039323(满),614726589BootDo交流群

版权声明

本软件使用 Apache License 2.0 协议,请严格遵照协议内容

  • 注:已上内容为整体规化,部分功能还在实现中

如果感觉对您有帮助,请作者喝杯咖啡吧,请注明您的名字或者昵称,方便作者感谢o( ̄︶ ̄)o 输入图片说明输入图片说明

bootdo's People

Contributors

cgq355716727 avatar crazysanxia avatar fly695649238 avatar lcg0124 avatar lovewinner avatar october27 avatar void12355 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bootdo's Issues

【系统管理/部门管理】菜单有bug

【系统管理/部门管理】菜单有bug,点击菜单没有反应。bug解决:
(1)在js/appjs/sys/下建立目录sysDept。
(2)将js/appjs/sys/目录下面的add.js/edit/js/sysDept.js放到新增目录下。
(3)在template/system/dept/dept.html最后的引入js中,改为:<script type="text/javascript" src="/js/appjs/sys/sysDept/sysDept.js"></script>

clone项目启动页面只显示主页

这个项目应该算是部分开源吧???应该没有git全部配置文件。基本的mapper查询都是错误的。启动项目后,基础管理,系统管理等功能都不能展示。

查询无效

查询
list.js.vm 写法 function reLoad() { $('#exampleTable').bootstrapTable('refresh'); } 这样无法查到数据!

用户管理 - 异常

系统管理 - 用户管理:
添加用户时,不选“所属部门”,提交后点击“修改“,弹出页显示“500”错误。

原因:空指针异常
com.bootdo.system.service.impl.UserServiceImpl#get

一个小bug

bug描述:
在办公管理-通知公告菜单中,选择任意公告点击编辑按钮,弹出窗中类型项下拉菜单,显示值为列表读取的最后一条,并非当前数据对应的类型(如第一条数据“火箭五连败”类型为活动通告,但打开编辑窗口显示为会议通告)。
修复建议:
controller部分:在后台读取字典时,对应的setRemark,设置值为“selected”,代码如下:
for (DictDO dictDO:dictDOS){
if(type.equals(dictDO.getValue())){
dictDO.setRemarks("selected");
}
}
html部分:将代码
th:each="oaNotifyType : ${oaNotifyTypes}" th:value="${oaNotifyType.value}" th:text="${oaNotifyType.name}" th:if="${oaNotifyType.remarks ==checked}" th:selected="selected">
改为:
th:each="oaNotifyType : ${oaNotifyTypes}" th:value="${oaNotifyType.value}" th:text="${oaNotifyType.name}" th:selected="${oaNotifyType.remarks}">
经调试测试,可显示正确的类型项

小问题

com.bootdo.blog.controller.ContentController

86 line。

无效判断:
"".equals(bContent.getCid())

修改为:
StringUtils.isBlank(bContent.getCid().toString()) // Apache lang3 pkg

搜索功能有问题

代码自动生成的web前端页面不知道为什么不能使用搜索功能,点击查询都是单纯的页面刷新,系统管理页面的搜索是后端搜索,必须要输入完整的搜索内容。请问如何修改这个搜索功能?改为前端搜索或者模糊搜索

纯后端版本

感谢作者大大!!
请问能不能出一个纯后端的项目,因为我是写前端的,嘿嘿?~~

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.