在線演示
演示地址:http://139.196.87.48:9002/kitty
用戶名:admin 密碼:admin
溫馨提示: 有在演示環境刪除數據的童鞋們,如果可以的話,麻煩動動小指,右鍵頭像菜單, 選擇 -> 備份還原 幫忙恢復到系統默認備份數據,方便后來的童鞋查看,謝謝啦。
技術交流
為了方便大家提問和技術交流,整了個QQ群,歡迎童鞋們加入。
QQ技術交流群: 528818161
項目介紹
Kitty是基於Spring Boot、Spring Cloud、Vue、Element實現的Java快速開發平台。
目標是搭建出一套簡潔易用的快速解決方案,可以幫助用戶有效降低項目開發難度和成本。
個人博客提供本項目開發過程同步系列教程文章,手把手的教你如何開發同類系統。
分支說明
master: 主推版本分支,支持分布式,服務治理(Spring Cloud)
dev: 開發分支,適時合並到master分支,支持分布式,服務治理(Spring Cloud)
shiro: 基於Spring Boot,不包含 Spring Cloud,部署環境稍微簡單一點
功能計划
- ✔ 系統登錄:系統用戶登錄,系統登錄認證(token方式)
- ✔ 用戶管理:新建用戶,修改用戶,刪除用戶,查詢用戶
- ✔ 機構管理:新建機構,修改機構,刪除機構,查詢機構
- ✔ 角色管理:新建角色,修改角色,刪除角色,查詢角色
- ✔ 菜單管理:新建菜單,修改菜單,刪除菜單,查詢菜單
- ✔ 字典管理:新建字典,修改字典,刪除字典,查詢字典
- ✔ 系統日志:記錄用戶操作日志,查看系統執行日志記錄
- ✔ 數據監控:定制Druid信息,提供簡潔有效的SQL監控
- ✔ 聚合文檔:定制在線文檔,提供簡潔美觀的API文檔
- ✔ 備份還原:系統備份還原,一鍵恢復系統初始化數據
- ✔ 主題切換:支持主題切換,自定主題顏色,一鍵換膚
- ✔ 服務治理:集成Consul注冊中心,實現服務注冊和發現
- ✔ 服務監控:集成Spring Boot Admin,實現服務監控
- ✔ 服務消費:集成Ribbon、Feign,服務調用和負載均衡
- ✔ 服務網關:集成Spring Cloud Zuul,實現API網關
- ✔ 服務熔斷:集成Hystrix、Turbine,實現熔斷和監控
- ✔ 鏈路追蹤:集成Sleuth、Zipkin,實現分布式鏈路追蹤
- ✔ 配置中心:集成Config、Bus,實現分布式配置中心
- ✘ 單點登錄:利用 OAuth2, 提供統一的單點登錄功能
- ✘ 系統登錄:集成第三方登錄功能(QQ、微信、微博)
- ✘ 代碼生成:提供代碼生成器,最大化的降低代碼開發量
- ...
軟件架構
后端架構
開發環境
- IDE : eclipse 4.x
- JDK : JDK1.8.x
- Maven : Maven 3.5.x
- MySQL: MySQL 5.7.x
技術選型
- 核心框架:Spring Boot 2.x
- 服務治理:Spring Cloud Finchley
- 安全框架:Apache Shiro 1.4.x
- 視圖框架:Spring MVC 5.x
- 持久層框架:MyBatis 3.x
- 數據庫連接池:Druid 1.x
- 日志管理:SLF4J、Log4j
項目結構
-
kitty-common: 公共代碼模塊,主要放置一些工具類
-
kitty-core: 核心代碼模塊,主要封裝公共業務模塊
-
kitty-admin: 后台管理模塊,包含用戶、角色、菜單管理等
-
kitty-backup: 系統數據備份備份模塊,可選擇獨立部署
-
kitty-monitor: 系統監控服務端,監控Spring Boot服務模塊
-
kitty-producer: 服務提供者示例,方便在此基礎上搭建模塊
-
kitty-consumer: 服務消費者示例,方便在此基礎上搭建模塊
-
kitty-hystrix: 服務熔斷監控模塊,收集匯總熔斷統計信息
-
kitty-zuul: API服務網關模塊,統一管理和轉發外部調用請求
-
kitty-config: 配置中心服務端,生成GIT配置文件的訪問接口
-
kitty-consul: 注冊中心,安裝說明目錄,內附安裝引導說明
-
kitty-zipkin: 鏈路追蹤,安裝說明目錄,內附安裝引導說明
-
config-repo: 配置中心倉庫,在GIT上統一存儲系統配置文件
-
kitty-pom: 聚合模塊,僅為簡化打包,一鍵執行打包所有模塊
前端架構
開發環境
- IDE : VS Code 1.27
- NODE: Node 8.9.x
- NPM : NPM 6.4.x
技術選型
- 前端框架:Vue 2.x
- 頁面組件:Element 2.x
- 狀態管理:Vuex 2.x
- 后台交互:axios 0.18.x
- 圖標使用:Font Awesome 4.x
項目結構
kitty-ui
- assets: 圖標、字體、國際化信息等靜態信息
- components: 組件庫,對常用組件進行封裝
- http: 后台交互模塊,統一后台接口請求API
- i18n: 國際化模塊,使用Vue i18n進行國際化
- mock: Mock模塊,模擬接口調用並返回定制數據
- permission: 權限控制模塊,處理權限認證邏輯
- router: 路由管理模塊,負責頁面各種路由配置
- store: 狀態管理模塊,提供組件間狀態共享
- utils: 工具模塊,提供一些通用的工具方法
- views: 頁面模塊,主要放置各種頁面視圖組件
安裝教程
后端安裝
-
下載源碼
git clone https://gitee.com/liuge1988/kitty.git
-
導入工程
使用 Eclipse導入 Maven 項目,在此之前請確認已安裝 JDK 和 Maven 工具。
-
編譯代碼
找到 kitty-pom 工程的 pom.xml,執行 maven clean install 命令編譯一鍵打包。
一般來說不會有什么問題,如果還是編譯不成功,可以按照優先級逐個編譯試一試。
-
導入數據庫
新建 kitty 數據庫,導入 kitty-admin 工程 doc/kitty.sql 腳本,導入初始化數據庫。
修改 kitty-admin 下 application.yml 中的數據庫連接和賬號密碼為自己的數據庫配置。
修改 kitty-backup 下 application.yml 中的數據庫連接和賬號密碼為自己的數據庫配置。
-
啟動系統
基礎必需模塊(注冊中心:kitty-consul,服務監控:kitty-monitor)
找到 kitty-consul 工程,根據安裝說明安裝注冊中心,完成后執行 consul agent -dev 啟動。
找到 kitty-monitor 工程下的 KittyMonitorApplication, 啟動項目,開啟服務監控。
權限管理模塊(權限管理:kitty-admin,備份還原:kitty-backup)
找到 kitty-admin 工程下的 KittyAdminApplication, 啟動項目,開啟權限管理系統服務。
找到 kitty-backup 工程下的 KittyBackupApplication.java,啟動項目,開啟備份還原服務。
其他模塊根據各自需要選擇性啟動,模塊依賴可以參見我的博客同步教程...
注意事項:
如果需要鏈路追蹤服務,需要安裝zipkin,找到 kitty-zipkin 工程,根據安裝說明安裝zipkin。
如果需要配置中心服務,需要安裝rabbitMQ,找到 kitty-config 工程,根據安裝說明安裝rabbitMQ。
前端安裝
-
下載源碼
git clone https://gitee.com/liuge1988/kitty-ui.git
-
編譯代碼
進入項目根目錄,執行 npm install, 下載和安裝項目相關依賴包。
-
啟動系統
執行 npm run dev 命令,啟動項目,通過 http://localhost:8090 訪問。
-
項目打包
執行 npm run build 命令,啟動打包,完成之后會生成 dist 目錄。
-
Mock 開關
通過修改src/mock/index.js中的openMock變量,可以一鍵開啟或關閉Mock功能。
-
修改配置
如果想自定義端口(默認是8090),可以修改 config/index.js 下的 port 屬性。
后台接口和備份服務器地址配置在 src/utils/global.js,如有修改請做相應變更。
源碼下載
后端:https://gitee.com/liuge1988/kitty
前端:https://gitee.com/liuge1988/kitty-ui.git
作者:朝雨憶輕塵
出處:https://www.cnblogs.com/xifengxiaoma/
版權所有,歡迎轉載,轉載請注明原文作者及出處。