本项目的创建旨在打造一个企业级微服务全栈开发框架,为中小企业降低开发难度。
Ukulele是一个乐器,它小巧、携带方便,声音好听可爱,能够激发节奏潜能。只要它在手中,没有你不会弹的歌。这正如我想要打造的企业级全站开发框架一样:小巧,易构建,对用户友好,涵盖绝大数企业开发需求。因此我将框架命名为 Ukulele.
技术选型
- 核心框架:SpringBoot2、Spring Cloud Alibaba
- 注册中心:Nacos
- 网关: Spring Cloud Gateway
- 安全框架:Spring Security、Jwt、Spring Security OAuth2
- 消息中间件:Redis、RocetMq、Rabbitmq
- 持久层框架:Mybatis、MyBatis-Plus
- 工具:Lombok
- JDK版本:Java8+
- 数据库:mysql5.7+
- 前端框架: Angular、Ng-Alain
模块说明
- ukulele-auth:鉴权模块,登录接口,token发放
- ukulele-gateway:网关,校验token、接口权限等
- ukulele-log:日志,记录请求日志
- ukulele-portal:用户RBAC配置,字典,参数,图标等配置
- ukulele-user:用户中心
- ukulele-share:公共模块
依赖项目组成
1. Ukulele-Master
开箱即用的基础框架
- 通用组件(ukulele-commom)
- zookeeper分布式锁集成(ukulele-curator)
- 网络库(ukulele-http)
- 日志库(ukulele-log4j)
- 持久层库(ukulele-persistence)
- redis分布式锁集成(ukulele-redisson)
- ribbon集成(ukulele-ribbon)
- swagger集成(ukulele-swagger)
- web层集成库(ukulele-web) 获取源码
2. ukulele-data
接口数据定义模块
- auth数据(Auth-Data)
- 日志数据(Syslog-Data)
- 系统管理数据(Portal-Data)
- 用户管理数据(User-Data) 获取源码
3. ukulele-facade
接口定义,分别定义controller接口和feign接口
- Auth接口(Auth-Cloud-Facade)
- 系统接口(Portal-Cloud-Facade)
- 用户接口(User-Cloud-Facade) 获取源码
使用说明
- clone并mvn install基础框架:ukulele-master
- clone并mvn install数据模块:ukulele-data
- clone接口模块:ukulele-facade
- 切换至feign分支,mvn install
- clone本项目
- 切换至oauth2分支(或gateway分支)
- 启动Mysql,并导入数据库,脚本在database文件夹下,分4个库
- 启动nacos,并导入nacos配置
- 启动redis、rabbimq
- 修改各个服务中的脚本使之与自己的环境匹配[可选]
- 分别启动各个服务
- 访问各个服务接口文档页面:ip:port/上下文/swagger-ui.html
前端项目地址
接口文档
- 用户服务
- 日志服务
- 系统服务
系统截图
- 登录
- 用户管理
- 角色管理
- 菜单管理
- 角色菜单
- 用户角色
字典管理
参数管理
用户中心