# mee-admin
**Repository Path**: forinks/mee-admin
## Basic Information
- **Project Name**: mee-admin
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2021-05-17
- **Last Updated**: 2021-05-17
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
### mee-admin
```多用途后台系统MEE```
#### Quick start
+ Fork [mee-admin](https://github.com//funnyzpc/mee-admin/fork) to your repository
+ git clone `your fork project address `
+ 创建数据库(为`mee`)并导入`PG-mee-20201109.sql (postgres) or mysql_init.sql(mysql)`
+ 修改 `application-dev.properties` 配置文件DB连接
+ add this to your idea _Program arguments_ `--spring.profiles.active=dev`
+ add this to your idea _VM options_ `-Djasypt.encryptor.password="4489GoEncc8(HIYI101"`
+ startup `MeeApplication`
+ login: `admin/1233`
#### 更新(NEW)
+ 升级 springboot升级至`2.3.5 release`
+ 更新 数据库初始化脚本
+ 增加 角色用户查询
+ 增加 角色菜单查询
+ 增加 集群定时任务
+ 优化 DB密码加密(建议在IDE或脚本内)
+ 优化 CSV读取问题
+ 优化 excel读取(ExcelReadUtil)及写入(ExcelWriteUtil)问题
#### 项目结构概述
mee-admin是由我的个人`mee`项目开源而来,`mee-admin`项目是一个前后端一体化的项目,不过在代码上实现了页面与数据分离,是一个非常好的
轻量级后端工程,所以在正式使用时您会发现主体业务部门均是采用json交互,前端页面使用模板工具实现数据展现及编辑
与`jeesite`不一样,我们不使用`jsp+sitmesh+ehcache`臃肿化项目
与`Spring-Cloud-Platform` `xboot` 不一样,这里不使用`vue` `iview` 做前后端分离,也不使用`springclooud`做集群分布式
所以我的项目更加轻量级,不需要装`node` 不需要`npm`打包 需不要安装`nginx` 同时也不需要编写无聊的mapper接口,不需要单独写增删改....
所以对于企业内部需求开发更是无比的急速
同时,`mee-admin`只需具有`java`后端以及一点点`javascript`开发能力,便可急速上手。
#### 项目技术相关
+ 使用`springboot 2.3.5.RELEASE`作为基础框架
+ 使用`mybatis`作为`dao`框架
+ 使用`postgreSQL` 作为框架DB(可支持`Mysql`及`Oracle`)
+ 使用`shiro`做权限管理
+ 使用`Freemarker`做页面模板
+ 使用`jquery` 插件作`javascript`基本扩展库使用
- 目前只是一些组件依赖用,建议大多数情况下使用`ES5`或`ES6`规范的`javascript`扩展
+ 使用`handlebars`做表单及数据模板
+ 使用`seajs` 做基础模块管理
+ 封装了序列(`ID`)生成器(支持分布式)
- `SeqGenServiceImpl` 序列生成器(支持分布式)
- `SeqGenUtil` 普通序列生成器
+ 封装`Jackson`的`json`库,完全可替代`fastjson`
+ 封装物理分页`PhysicalPageInterceptor`及逻辑分页`LogicalPageIntercepter`(两个可任选其一),完全替代`RowBounds`及一众分页依赖
+ 封装`Excel`及`CSV`工具
- `ExcelReadUtil` EXCEL读工具
- `ExcelWriteUtil` EXCEL写工具
- `CSVUtils` CSV读工具
+ 简单封装java8日期工具类 `DateUtil`
#### IDE start config
+ --spring.profiles.active=dev
#### packaging
+ development environment
- `mvn clean -Dmaven.test.skip=true package -Pdev`
+ test environment
- `mvn clean -Dmaven.test.skip=true package -Ptest`
+ product environment
- `mvn clean -Dmaven.test.skip=true package -Pprod`
#### deploy script
>>> local(windows) deploy
+ Program arguments: ` java -jar mee.jar --server.port=8000 `
+ VM options: `-Djasypt.encryptor.password="YOUR PASSWORD SALT"`
>>> test deploy
+ `echo 正在启动mee模块.....`
+ `ps -ef|grep mee.jar|grep java|awk '{print $2}'|xargs kill -9`
+ `cd /mnt/app/8000-mee && nohup /usr/local/java/bin/java -Djasypt.encryptor.password="YOUR PASSWORD SALT" -jar /mnt/app/8000-mee/mee.jar --server.port=8000 --spring.profiles.active=test 1>/mnt/app/8000-mee/logs/mee_ALL.log 2>/mnt/app/8000-mee/logs/mee_ALL.log &`
>>> prod deploy[TODO need edit](#)
+ `echo 正在启动mee模块.....`
+ `ps -ef|grep mee.jar|grep java|awk '{print $2}'|xargs kill -9`
+ `cd /mnt/app/8000-mee && nohup /usr/local/java/bin/java -Djasypt.encryptor.password="YOUR PASSWORD SALT" -jar /mnt/app/8000-mee/mee.jar --server.port=8000 --spring.profiles.active=test 1>/mnt/app/8000-mee/logs/mee_ALL.log 2>/mnt/app/8000-mee/logs/mee_ALL.log &`
#### 功能模块
+ 系统及全局配置
- 日志管理(开发中)
- 字典配置(完成)
- 系统监控(开发中)
- 完善shiro功能(完成)
- 优化页面嵌套(完成)
- 优化表结构(完成)
— 添加DAO逻辑(完成)
+ 用户及菜单管理
- 菜单管理
- 用户管理[new](#)
- 角色管理[new](#)
- 用户角色管理(开发中)
- 角色菜单管理(开发中)
#### 需要说明
+ 对于前端
- 使用handlebar作为模板
- 使用seajs作为模块管理工具
- 基本增删改查参考tablex
+ 对于后端
- 使用springboot作为基础框架
— 使用jdk8作为应用运行环境
- 使用mybatis作为DAO层(仅仅使用)
+ 开发参考
- [完整的例子](https://github.com/zhaojiatao/springboot-zjt-chapter10-springboot-mysql-mybatis-shiro-freemarker-layui)
- [freemarker+shiro相关](https://github.com/fuce1314/Springboot_v2)
- [前后端结合](https://github.com/enilu/web-flash)
- [shiro权限参考](https://www.cnblogs.com/Jimc/p/10031094.html)
+ 登录密码加密参见: `PwdEncTest`
+ 数据库密码加密参见: `DBEncTest` (请自行学习jasypt的使用)
+ 接入MySQL数据库需较少修改xml(mybatis),建议初始化使用PG数据库
+ 初始化建议使用PG-mee-20201109.sql
+ `tcnative-1.dll`为tomcat优化,建议jdk版本>1.8
#### Issues and inprove
+ 输入框自动带出优化
+ bootstrap弹出框设计及构建
+ websocket消息推送功能
+ 功能开发文档编写
+ Controller params support LocalDateTime
+ 分页缓存
+ 数据库密码加密
+ 角色用户查询
+ 角色菜单查询
+ 集群定时任务