# smalltao **Repository Path**: smallTao_liu/smalltao ## Basic Information - **Project Name**: smalltao - **Description**: smalltao project for springboot - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 2 - **Created**: 2018-11-15 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # smalltao ## 前言 `smalltao`项目是基于**spring-boot** + **spring-all**的微服务开发架构,包括 **前端模板** - **基础框架** - **分布式架构** - **开源项目** - **持续集成** - **自动化部署** - **系统监测**。 ## 项目介绍 基于**spring-boot** + **spring-all**的微服务开发架构,提供整套公共微服务服务模块:后台管理系统、电商购物平台、OA、门户网站、博客、mui-App、用户管理(包括第三方)、微信公众号、配置中心、日志分析、任务和通知等,支持服务治理、监控和追踪,努力为中小型企业打造全方位J2EE企业级开发解决方案。 ### 项目结构 smalltao ├─ smalltao-core -- springboot框架公共模块 ├─ smalltao-admin -- 后台管理模板(thymeleaf、bootstrap) ├─ smalltao-mui -- mui-App模板(mui) ├─ smalltao-appcan -- appcan-App模版(appcan) ├─ smalltao-oa -- oa模板(bootstrap、AngularJS1、activiti) ├─ smalltao-web -- 门户网站模板(bootstrap、jq) ├─ smalltao-sso -- 用户权限管理系统(支持sso单点登录、第三方登录) ├─ smalltao-blog -- 用户权限管理系统(支持sso单点登录) ├─ smalltao-mall -- 电商购物平台(店铺、商场、sku商品、订单等) ├─ smalltao-pay -- 支付中心(微信、支付宝) ├─ smalltao-weixin -- 微信开发模板(微信公众号、小程序) ├─ smalltao-message -- 消息中心(消息推送、短信邮箱、消息订阅等) ### 技术选型 #### 后端技术 技术 | 名称 ---- | ------ Spring Boot | Spring Boot框架 Apache Shiro | 安全框架 Spring session | 分布式Session管理 redis session共享 Spring-Data-JPA | ORM框架 MyBatis | ORM框架 MyBatis-Plus | Mybatis 的增强工具 PageHelper | MyBatis物理分页插件 Druid | 数据库连接池 Thymeleaf | 模板引擎 Redis | 分布式缓存数据库 Solr | 分布式全文搜索引擎 Quartz | 作业调度框架 RabbitMQ | 消息队列 Logback | 日志组件 Swagger2 | 接口测试框架 使用spring4all提供的 Maven | 项目构建管理 RestTemplate | Rest请求 Activiti | 业务流程管理(BPM)框架 EasyPoi | Excel/Word导入导出 Lombok | Lombok工具 #### 前端技术 技术 | 名称 ---- | ------ jQuery | jQuery Bootstrap | 前端框架 Bootstrap-table | Bootstrap数据表格、列表分页 Font-awesome | 字体图标 zTree | 树插件 Select2 | 选择框插件 angular.js | angular1 mui | mui dialog.js | bootstrap弹窗 bootstrapValidator.js | bootstrap表单校验 store.js | 本地存储LocalStorage jquery.Query.js | url参数获取、设置 jquery-cookie.js | cookie存取 autocomplete.js | 自动补全插件 Web Uploader | 文件上传插件 UEditor | 在线编辑器 #### 架构图 #### 模块依赖 #### 模块介绍 ## 环境搭建 #### 开发工具 - IntelliJ IDEA - Navicate - Tomcat - Nginx - PowerDesigner - 墨刀 - 码云 #### 开发环境 - JDK8 - Mysql - Redis - RabbitMQ #### 注意事项 1、配置文件加载顺序: application.properties和application.yml文件可以放在一下四个位置(properties比yml优先加载): –file:./config/ L1 –file:./ L2 –classpath:/config/ L3 –classpath:/ L4 故core公共配置放在–classpath:/ 最低级别,其他项目配置放在–classpath:/config/进行覆盖。 其他项目依赖core包时,相同属性由当前项目覆盖core中配置,其余配置按core中默认。 #### 开发进度 时间 | 完成情况 ---- | ------ 2018.11.16 | 项目计划、开发环境初始化、框架搭建、编写技术文档 2018.11.19 | 完成logback日志配置;完成基于shiro单点登录及角色权限;完成swagger配置 2018.11.23 | 1、完成基于session-redis session共享 2、优化sso单点登录、退出 3、完成aop系统日志,自定义注解SmalltaoLog进行日志传参 2018.11.26 | 1、修改配置文件存放目录,解决core公共配置统一配置,其余项目自定义配置及覆盖默认。(原理参照【注意事项】中1)。 2018.11.30 | 1、完善单点登录、退出。shiro未登录、未授权时根据是否ajax请求区分返回html和json。2、解决前后端分离、跨域时,ajax请求未带cookie等,后端取不到cookie、session等问题。3、引入前端所用的相关插件。完成部分基于thymeleaf用户中心管理页面。