# fresco
**Repository Path**: ing/fresco
## Basic Information
- **Project Name**: fresco
- **Description**: 基于spring boot 2.7.18和mybatis的基础开发项目模板
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-08-05
- **Last Updated**: 2024-08-23
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#### 主要特性
- 使用最新技术栈,社区资源丰富。
- 高效率开发,代码生成器可一键生成前后端代码
- 支持数据字典,可方便地对一些状态进行管理
- 支持接口限流,避免恶意请求导致服务层压力过大
- 支持接口级别的功能权限与数据权限,可自定义操作
- 自定义权限注解与匿名接口注解,可快速对接口拦截与放行
- 对一些常用地前端组件封装:表格数据请求、数据字典等
- 前后端统一异常拦截处理,统一输出异常,避免繁琐的判断
- 支持在线用户管理与服务器性能监控,支持限制单用户登录
- 支持运维管理,可方便地对远程服务器的应用进行部署与管理
#### 系统功能
- 用户管理:提供用户的相关配置,新增用户后,默认密码为123456
- 角色管理:对权限与菜单进行分配,可根据部门设置角色的数据权限
- 菜单管理:已实现菜单动态路由,后端可配置化,支持多级菜单
- 部门管理:可配置系统组织架构,树形表格展示
- 岗位管理:配置各个部门的职位
- 字典管理:可维护常用一些固定的数据,如:状态,性别等
- 系统日志:记录用户操作日志与异常日志,方便开发人员定位排错
- 定时任务:整合Quartz做定时任务,加入任务日志,任务运行情况一目了然
- 代码生成:高灵活度生成前后端代码,减少大量重复的工作任务
- 邮件工具:配合富文本,发送html格式的邮件
- 服务监控:监控服务器的负载情况
- 运维管理:一键部署你的应用
#### 项目结构
项目采用按功能分模块的开发方式,结构如下
- `fresco-common` 为系统的公共模块,各种工具类,公共配置存在该模块
- `fresco-system` 为系统核心模块也是项目入口模块,也是最终需要打包部署的模块
- `fresco-logging` 为系统的日志模块,其他模块如果需要记录日志需要引入该模块
- `fresco-tools` 为第三方工具模块,包含:邮件、本地存储
- `fresco-generator` 为系统的代码生成模块,支持生成前后端CRUD代码
#### 详细结构
```
- fresco-common 公共模块
- annotation 为系统自定义注解
- aspect 自定义注解的切面
- base 提供了 Entity 基类
- config 自定义权限实现、redis配置、swagger配置、Rsa配置等
- exception 项目统一异常的处理
- utils 系统通用工具类
- fresco-system 系统核心模块(系统启动入口)
- config 配置跨域与静态资源,与数据权限
- thread 线程池相关
- modules 系统相关模块(登录授权、系统监控、定时任务、运维管理等)
- fresco-logging 系统日志模块
- fresco-tools 系统第三方工具模块
- fresco-generator 系统代码生成模块
```
### 运行1
```
java -jar fresco.jar --spring.profiles.active=prod --spring.config.location=c:\config
```
### 运行2
```
java -jar -Dspring.profiles.active=prod fresco.jar
```
## 项目中的pom.xml的properties配置
```shell
http://192.168.94.1:9000
squ_525f6da7ada7acddd6427afb8dbb4387882b19cb
```
其中sonar.login的配置,需要在sonarqube服务器中进行配置,登录系统后,右上角找到我的账号,找到安全选项,配置通用令牌,填写相关信息后,生成令牌,填写到中
## 项目中根下面的pom.xml插件配置
```shell
org.apache.maven.plugins
maven-compiler-plugin
3.8.1
org.sonarsource.scanner.maven
sonar-maven-plugin
3.10.0.2594
org.jacoco
jacoco-maven-plugin
0.8.11
coverage
true
org.jacoco
jacoco-maven-plugin
prepare-agent
prepare-agent
report
report
```
## Sonar扫描执行指令(windows执行)
```shell
mvn clean package verify sonar:sonar `-Dmaven.test.skip=true -D"sonar.scm.disabled=true"
```