Citrus- 低代碼開發(fā)腳手架(搭建低代碼開發(fā)框架)
[微笑]:你看起來有多堅強,實際上就有多孤單
項目簡介
低代碼快速開發(fā)腳手架
前后端分離架構,基于SpringBoot2.x SpringSecurity JWT Mybatis-plus Activiti7
靈活、高效,降低開發(fā)成本
前端倉庫地址:https://github.com/Yiuman/citrus-vuetify
我是一個活生生的例子
歡迎issues、PR~~ 如果此項目對你有所幫助,麻煩動動小手給個小星星?
項目特性
- 開箱即用,引入starter依賴后即可啟動
- 高效開發(fā),只需要定義實體與庫表,入口繼承基類的Controller,即可完成基礎的增刪改查操作
- 常用數據結構的封裝與基礎的CRUD實現(左右值預遍歷樹、普通樹等)
- 統(tǒng)一的認證入口,方便的安全認證擴展,可實現多種方式的認證,且支持表單與接口
- 靈活的權限鉤子,既可全局進行權限驗證、亦可定義于類與方法,驗證方式易與擴展
- 細粒度的RBAC權限控制,可自定義驗證方式,支持數據范圍注入
- 動態(tài)數據源 多數據源事務管理
- 封裝activiti7工作流,多實例加簽,任務跳轉
項目結構/模塊設計及使用指南
- citrus-boot-starter 項目自動配置相關
- citrus-main 項目的運行入口(體驗開箱即用的快感)
- citrus-security 項目安全相關的代碼,統(tǒng)一認證、驗證碼類型、鑒權、jwt等 安全模塊傳送門
- citrus-support 項目通用支持相關的代碼,通用Service層、Controller層,工具類、緩存、異常、注入、數據結構、動態(tài)數據源及相關擴展 通用CRUD指南 、多數據源及事務
- citrus-system 項目系統(tǒng)設計的主要實現 包含用戶、角色、權限、資源、菜單、數據范圍等模塊的實現與處理,數據范圍注入也在這里 權限數據范圍設計
- citrus-workflow 整合activiti7的工作流模塊,實現多維度人員解析、加簽、跳轉功能 acitivi模型設計器
- citrus-workflow-impl 系統(tǒng)模塊與工作流模塊結合的工作流相關實現
如何使用
方式一
- springboot項目中引入最新的依賴 見readme頂部微章
- <dependency> <groupId>com.github.yiuman</groupId> <artifactId>citrus-boot-starter</artifactId> <version>${latest}</version> </dependency>
- 下載 https://github.com/Yiuman/citrus/tree/master/sql 中的sql文件,創(chuàng)建你的數據并執(zhí)行(多數據源請見多數據源及事務使用指南)
- 在application.yml中配置數據庫及應用信息
- spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/citrus?zeroDateTimeBehavior=convertToNull&characterEncoding=UTF-8 username: root password: yiuman server: port: 8082
- 啟動項目
方式二
- 克隆項目 git clone https://github.com/Yiuman/citrus.git
- 自行修改項目配置與代碼
- 啟動項目
詳細設計圖
授權圖
數據范圍控制流程
權限庫表設計
權限控制流程
權限設計
認證流程
結束語
新人學習低代碼框架的比較好的例子,有詳細設計圖,代碼質量良好,可作為源碼研究,對快速提高編程能力很有幫助哦!
開源分享不易,感謝大家的支持,多關注,點贊。后續(xù)也會分享更多的干貨和技術資訊,您的閱讀就是對小編的支持,再次感謝各位老鐵!
開源地址: https://github.com/Yiuman/citrus