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