本项目的创建旨在打造一个企业级微服务全栈开发框架,为中小企业降低开发难度。

Ukulele是一个乐器,它小巧、携带方便,声音好听可爱,能够激发节奏潜能。只要它在手中,没有你不会弹的歌。这正如我想要打造的企业级全站开发框架一样:小巧,易构建,对用户友好,涵盖绝大数企业开发需求。因此我将框架命名为 Ukulele.

项目地址open in new window

技术选型

  • 核心框架: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) 获取源码open in new window

2. ukulele-data

接口数据定义模块

3. ukulele-facade

接口定义,分别定义controller接口和feign接口

使用说明

  1. clone并mvn install基础框架:ukulele-masteropen in new window
  2. clone并mvn install数据模块:ukulele-dataopen in new window
  3. clone接口模块:ukulele-facadeopen in new window
  4. 切换至feign分支,mvn install
  5. clone本项目
  6. 切换至oauth2分支(或gateway分支)
  7. 启动Mysql,并导入数据库,脚本在database文件夹下,分4个库
  8. 启动nacos,并导入nacos配置
  9. 启动redis、rabbimq
  10. 修改各个服务中的脚本使之与自己的环境匹配[可选]
  11. 分别启动各个服务
  12. 访问各个服务接口文档页面:ip:port/上下文/swagger-ui.html

前端项目地址

Ukulele-Mg-Alainopen in new window

接口文档

  • 用户服务

用户中心

  • 日志服务

日志服务

  • 系统服务

系统服务

系统截图

  • 登录

登录

  • 用户管理

用户管理

  • 角色管理

角色管理

  • 菜单管理 菜单管理

菜单管理

  • 角色菜单

角色菜单

  • 用户角色

用户角色

  • 字典管理 字典管理

  • 参数管理 参数管理

  • 用户中心

用户中心