《開源精選》是我們分享 Github 開源社群中優質項目的欄目,包括技術、學習、實用與各種有趣的内容。本期推薦的是定位企業數字化底座,開箱可用(spring cloud+Vue)基礎架構。
項目介紹:
-
JVS是什麼?
JVS是企業級應用建構的基礎腳手架,提供開箱即用的基礎功能內建,其中內建了賬戶管理、租戶管理、使用者權限體系、三方登入、環境配置、各種業務日志等功能,還提供了對接低代碼、資料中台的能力。
-
JVS能解決什麼?
JVS能降低開發團隊建構基礎架構的難度,能為企業提供完整的一體化、私有部署的數字底座,并提供完整的企業數字化應用的完整的解決方案。基礎架構提供100%的源碼開源,提供商用級的可插拔應用子產品和服務,支援原生應用的開發與低代碼/無代碼的輕應用的配置拓展。
-
JVS和其他産品差別
JVS不僅僅是一個架構,具備無限的可能性(可以對接低代碼式的業務中台與資料中台);JVS不僅僅是一堆代碼,它具備專業的支援團隊(讨論群);JVS不僅僅是基礎技術,具備多種企業級場景的完備的解決方案。
架構亮點
- 架構完成了SaaS 多租戶模式(參考釘釘、企微的多對多的租戶模式)
- 完成了三方登入對接(釘釘、企微、微信公衆号),并抽象的登入的配置方式(賬号密碼、微信掃碼、釘釘、企微等)
- 提供标準的單點登入的對接,實作了使用者、組織結構的三方同步功能
- 架構相對完善配置能力,支援多種能力的基礎配置,登入界面、消息通道、公告管理等等
項目構成
- 架構前端位址:https://gitee.com/software-minister/jvs-ui
- 架構後端位址:https://gitee.com/software-minister/jvs
技術棧說明:
● 表現層(前端)
元件名稱 | 元件作用 | 開源協定 |
EsLint | 前端代碼品質檢測 | MIT |
Vuex | 前端架構 | MIT |
Element-ui | 前端元件庫 | MIT |
Crypto-Js | 前端加密 | BSD |
axios | 基于promise用于浏覽器和node.js的http用戶端 | MIT |
data-set | 前端資料綁定 | MIT |
vue-router | 前端路由 | MIT |
v-charts | 圖形化元件渲染 | MIT |
E-charts | 圖形化元件渲染 | Apache 2.0 |
WebPack | 前端代碼打包 | MIT |
G2 | 圖形化元件渲染 | MIT |
G6 | 圖形化元件渲染 | MIT |
● 應用邏輯層(後端架構)
元件歸屬 | 元件名稱 | 開源協定 |
Lombok | 代碼精簡 | MIT |
Mybatis plus | 資料持久層 | Apache 2.0 |
Hutool | 底層工具集 | 木蘭寬松許可證 V2 |
Swagger | 線上接口文檔 | Apache 2.0 |
Groovy | 靈活腳本語言 | Apache 2.0 |
Spring boot | 基礎腳手架 | Apache 2.0 |
spring cloud alibaba | 微服務架構 | Apache 2.0 |
Xxl-job | 定時任務 | GNU 3.0 |
Nacos | 注冊中心 | Apache 2.0 |
Sentinel | 接口限流 | Apache 2.0 |
seata | 分布式事務處理 | Apache 2.0 |
Skywalking | 鍊路跟蹤 | Apache 2.0 |
Redisson | 分布式鎖 | Apache 2.0 |
RabbitMq | 消息隊列 | MPL 1.1 |
Kafka | 分布式消息隊列 | Apache 2.0 |
● 資料存儲層
元件歸屬 | 元件名稱 | 開源協定 |
ElasticSearch | 檔案搜尋引擎(日志) | Apache 2.0 |
Mongo | 分布式檔案存儲資料庫 | Apache 2.0 |
Mysql | 關系型資料庫 | GPL |
Redis | 高性能的key-value資料庫 | BSD 3 |
系統基礎能力介紹
- 統一檔案管理,提供統一的檔案管理服務
- 統一定時任務,內建XXL-job對系統内部定時任務進行管理
- 多租戶功能,支援多租戶功能,支援SaaS能力
- 租戶角色,便于對多租戶的權限控制
- 多對多的使用者模式,使用者與租戶支援多對多的模式
- 标準的使用者體系,使用者、角色、菜單、權限體系
- 資料權限,支援基于組織結構和自定義的資料權限
- 終端應用管理,按應用獨立配置登入界面
- 統一登入,支援多種模式登入,包括使用者名密碼、三方認證登入、手機動态碼等方式
- 字典管理,支援普通字典與樹形字典配置
- 正則庫,支援界面化正規表達式的配置
- 請求日志,對系統中所有請求記錄請求日志
- 登入日志,對使用者登入的動作進行記錄,包括登入的應用、登入的浏覽器、IP位址、登入的模式等
基礎管理功能說明
- 系統基礎配置,支援對系統名稱、logo、icon、登入位址、展示首頁、登入頁面等基礎配置進行設定
- 組織管理,組織機構、使用者管理
- 組群管理,使用者臨時性或者共性的社群管理
- 崗位管理,組織管理中的崗位功能
- 使用者簽退,支援登入使用者的強制簽退功能
- 公告管理,支援系統的公告釋出
- 消息中心,系統提供統一的消息中心能力,站内消息、郵件消息、短信消息、IM消息
-END-
開源協定:MIT/Apache 2.0
開源位址:https://gitee.com/software-minister/jvs