# ITMUCH **Repository Path**: mm808/ITMUCH ## Basic Information - **Project Name**: ITMUCH - **Description**: itmuch - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 3 - **Created**: 2015-07-23 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #技术选型: ## 前端 - JS框架: jQuery - CSS框架: Bootstrap 3.3.x - 后台控件: Easyui - 表单序列化: jquery.serializeJSON(序列化表单为json) - 上传组件: Uploadify ## 后端 - 项目管理/构建: Maven - 核心框架: Spring Framework 4.x - 安全框架: Apache Shiro - MVC框架: Spring MVC 4.x - 服务端验证: Hibernate Validator 5.x(JSR349) - 持久层框架: MyBatis 3.3.0 - 数据库连接池: Alibaba Druid - NOSQL: MongoDB(目前用于记录日志) - 缓存: Ehcache、Redis - 日志管理: slf4j门面、logback实现 - 工具类: Dozer(对象转换与映射)、guava(集合API) ## 支持平台 - JDK版本:支持jdk1.6及以上 - Web容器: 支持Tomcat6+、Jboss7、WebLogic10、WebSphere8、jetty等。 - 数据库支持: Oracle、mysql - 开发环境: Eclipse、Maven、Git # 各模块的规划 - code-generator:代码生成器, 用于生产Mybatis的代码; - itmuch-core:公共组件,该模块主要抽取了项目中常用的工具类/BaseService/BaseMapper等; - dicms-parent/dicms-biz:项目中的Model(包含:service/dao等); - dicms-parent/dicms-war:项目的后台(包含后台的controller/页面视图等) - dicms-parent/dicms-front:项目前台 # 项目特点 ##前端 - 后台使用EasyUI视图, 前台使用bootstrap, 解放美工 ##后端 - 分页可插拔(mybatis pagehelper), 并进行扩展, 排序防注入 - JSR349的后端校验 - 代码的生成(扩展自mybatis-generator): 实体带注释, mapper.xml生成基础的增删改查 - 避免复杂查询与多表join, 提升性能 - 异常统一控制, 所有异常只需throw, 无需自行处理 - 精确到按钮的细粒度的权限划分 - 无侵入可插拔的MongoDB日志,对使用者透明,打印日志和之前无任何区别 - 前后台完全隔离, 根本上避免有人操作不规范, 类乱建,导致后期拆分项目难的情况 ## 其他 - rest风格的url #实现功能 ## 基础功能 - 地区管理 - 机构管理 - 权限管理 - 角色管理 - 用户管理 ## 监控 - 系统监控: JavaMelody - 日志记录: MongoDB - 数据源监控: Druid # TODO ## 必须的 - 详见Tasks - 上传图片时候的302问题, 由于swf获取不到sessionId, 考虑不使用uploadify - 机构可能要拆分成两张表: 公司一张, 部门一张, 然后用联动菜单, 这样较为合理. - 日志的重新设计: ① 支持模糊查询 ② 日志的分类, 例如登陆记录/SQL监控等等 - 异步的树形结构 - 缓存(redis)加入开关 - Remember Me - 注册整合spring web flow, 过程式的注册 - 注册时,不允许特定字符, 参考: http://blog.csdn.net/ppby2002/article/details/37919283 - 全文搜索(lucene) - 数据权限 ## 可能会做: - 报表系统(登陆/注册时间段统计、成员分布统计)