[開源]面向 DevOps 開發(fā)生命周期的企業(yè)低代碼平臺,遵循低代碼協(xié)議(開源低代碼開發(fā)平臺排名)
一飛開源,介紹創(chuàng)意、新奇、有趣、實(shí)用的免費(fèi)開源應(yīng)用、系統(tǒng)、軟件、硬件及技術(shù),一個探索、發(fā)現(xiàn)、分享、使用與互動交流的開源技術(shù)社區(qū)平臺。致力于打造活力開源社區(qū),共建開源新生態(tài)!
一、開源項(xiàng)目簡介
面向 DevOps 開發(fā)生命周期管理的企業(yè)低代碼平臺,全新支持 amis / Enterprise Low Code DevOps Platform, Open source alterative to Salesforce Developer Experience (DX).
華炎魔方是 Salesforce Developer Experience (DX) 的開源替代方案,遵循低代碼協(xié)議,將低代碼技術(shù)與 DevOps 工具 結(jié)合,實(shí)現(xiàn)敏捷開發(fā)的新高度。
二、開源協(xié)議
使用MIT開源協(xié)議
三、界面展示
四、功能概述
華炎魔方(開源社區(qū)版)功能
華炎魔方開源社區(qū)版基于MIT協(xié)議,包含開發(fā)工具的所有必備功能,不限制用戶數(shù)。基于華炎魔方開發(fā)的軟件包可以任意銷售而無需支付授權(quán)費(fèi)用。
- 創(chuàng)建自定義應(yīng)用程序:華炎魔方基于元數(shù)據(jù)驅(qū)動,把傳統(tǒng)通過代碼實(shí)現(xiàn)的業(yè)務(wù)需求抽象為可配置的元數(shù)據(jù) ,只需點(diǎn)擊?標(biāo)修改配置項(xiàng),就能實(shí)現(xiàn)絕?多數(shù)業(yè)務(wù)需求,必要時仍可編寫代碼。
- 自定義字段: 基本字段類型、相關(guān)表、主表/子表、公式字段、累計匯總字段、自動編號字段。
- 權(quán)限引擎:華炎魔方基于權(quán)限集為每一個對象設(shè)置權(quán)限,支持公司級、記錄級、字段級的權(quán)限控制。
- API引擎: 華炎魔方自動為業(yè)務(wù)對象生成 GraphQL API, API自帶身份驗(yàn)證并于華炎魔方權(quán)限引擎集成,實(shí)現(xiàn)數(shù)據(jù)權(quán)限控制。
- 審批王:審批王是華炎自主研發(fā)的流程引擎,功能可媲美泛微且完全免費(fèi)。系統(tǒng)內(nèi)置了流程設(shè)計、流程運(yùn)行、管理維護(hù)、統(tǒng)計分析與流程優(yōu)化等各類工具,幫助企業(yè)快速部署、有效監(jiān)控并持續(xù)優(yōu)化業(yè)務(wù)審批過程。
- 報表:使用華炎魔方的可視化報表工具,您可以快速配置統(tǒng)計圖表,包括數(shù)據(jù)列表、分組報表、數(shù)據(jù)透視圖、柱狀圖、餅圖等,方便查看、分析和決策。
- Dashboard: 連接第三方數(shù)據(jù)源,編寫SQL語句,可視化設(shè)計各種統(tǒng)計圖并匯總顯示在儀表盤中。
- JsReport報表: 可視化編寫代碼,開發(fā)自定義報表。
- 自動化工具:系統(tǒng)內(nèi)置了批準(zhǔn)過程、工作流規(guī)則、驗(yàn)證規(guī)則等自動化工具,通過設(shè)定自動化工具,可以在特定條件下自動化創(chuàng)建和更新記錄、發(fā)送郵件、短信或系統(tǒng)內(nèi)通知,也可以自動調(diào)用第三方系統(tǒng)的接口。
- 數(shù)據(jù)導(dǎo)入: 根據(jù)對象字段,配置Excel導(dǎo)入模版,通過Excel將數(shù)據(jù)批量導(dǎo)入到華炎魔方中。
- 華炎魔方DX: 華炎魔方DX包含一組 Visual Studio Code 插件,幫助您將可視化界面定義的元數(shù)據(jù)導(dǎo)出為源碼,您可以進(jìn)一步編寫代碼,實(shí)現(xiàn)高級業(yè)務(wù)邏輯功能。你可以在熟悉的環(huán)境中開發(fā)、調(diào)試、打包、發(fā)布華炎魔方軟件包,并管理您的項(xiàng)目版本。
- 軟件包打包、發(fā)布
五、技術(shù)選型
基于元數(shù)據(jù)
元數(shù)據(jù)是華炎魔方技術(shù)架構(gòu)的核心。華炎魔方使用元數(shù)據(jù)定義對象,字段,配置,代碼,邏輯和頁面布局,并基于這些元數(shù)據(jù)自動生成系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)以及Steedos應(yīng)用程序的用戶界面和自動化邏輯。
快速向?qū)?/h1>
部署華炎魔方平臺
部署華炎魔方平臺后,可以下載、安裝和運(yùn)行華炎魔方軟件包,可以使用低代碼可視化設(shè)計工具創(chuàng)建自定義應(yīng)用程序。如需同步和編寫代碼,請參考后續(xù)步驟部署開發(fā)環(huán)境。
- 開通華炎魔方云服務(wù)
- Docker 私有部署
- 版本升級
Gitpod 部署遠(yuǎn)程開發(fā)環(huán)境
無論是使用華炎魔方作為開發(fā)工具來開發(fā)項(xiàng)目,還是調(diào)試運(yùn)行華炎魔方平臺源碼,都需要安裝開發(fā)環(huán)境,我們推薦使用 Gitpod 來啟動遠(yuǎn)程開發(fā)環(huán)境,以免去本地安裝開發(fā)環(huán)境的繁瑣過程。
遠(yuǎn)程開發(fā)環(huán)境已經(jīng)安裝并初始化好必須的組件,包括 nodejs, mongodb, redis, vscode 等,詳情請參考教程 啟動遠(yuǎn)程開發(fā)環(huán)境。
技術(shù)框架
服務(wù)端
華炎魔方服務(wù)端使用nodejs開發(fā),您定義的元數(shù)據(jù),和系統(tǒng)中錄入的業(yè)務(wù)數(shù)據(jù)均保存在mongodb中。
- MongoDB 版本 >= 4.2, 華炎魔方使用 MongoDB 作為元數(shù)據(jù)倉庫和默認(rèn)數(shù)據(jù)源.
- Node.js 版本 >= 12。華炎魔方平臺源碼運(yùn)行于 nodejs 環(huán)境。
- Meteor: 基于 Meteor 開發(fā)環(huán)境魔方元數(shù)據(jù)解釋引擎(steedos-server)。
- Moleculer: 基于 Node.js 的響應(yīng)式微服務(wù)框架。
- GraphQL: 華炎魔方自動為業(yè)務(wù)對象生成 GraphQL API。
- Lerna: 多包管理工具,用于管理和批量發(fā)布 npm 軟件包。
前端
華炎魔方前端使用 React 開發(fā)表單、列表視圖控件,并基于 Meteor 實(shí)現(xiàn)完整界面。
- Ant Design ProForm: 基于 ProForm 開發(fā)表單控件,根據(jù)自定義對象動態(tài)創(chuàng)建表單、操作業(yè)務(wù)數(shù)據(jù)。
- Salesforce Lightning Design System: Salesforce 開源的企業(yè)軟件設(shè)計標(biāo)準(zhǔn)和樣式庫。React 控件庫
- Tailwind CSS: 直接用class表述樣式,而無需編寫和維護(hù)css文件。
- AG Grid: 因?yàn)镻roTable功能太弱,我們選擇 AG Grid 構(gòu)建列表視圖控件。
- Redash: 引入Redash部分前端源碼,開發(fā)查詢設(shè)計器、圖表設(shè)計器、儀表盤設(shè)計器。
- Mobx React Lite:基于Mobx React Lite實(shí)現(xiàn)華炎魔方的React Store。
源碼目錄索引
- Docs/Diagrams: 華炎魔方設(shè)計文檔。
- Steedos Server: 華炎魔方最終打包運(yùn)行的是一個Meteor項(xiàng)目,其源碼都在該文件夾內(nèi)。Meteor功能包: 這里每個文件夾都是華炎魔方Meteor項(xiàng)目依賴的各種功能包。
- Steedos Server Build: Creator項(xiàng)目源碼最終打包編譯生成的文件都在該文件夾內(nèi),最終會發(fā)布為 NPM 包在華炎魔方項(xiàng)目中引用即可。
- NPM Packages: 華炎魔方各種內(nèi)核功能包,其內(nèi)每個子文件夾都是一個標(biāo)準(zhǔn)的NPM包。Standard Objects: 內(nèi)核標(biāo)準(zhǔn)對象的定義文件。
- Moleculer Services: 華炎魔方采用的是Moleculer微服務(wù)架構(gòu),這里存放的是各種微服務(wù)功能包,其內(nèi)每個子文件夾都是一個標(biāo)準(zhǔn)的NPM包。
NPM Scripts說明
本項(xiàng)目主要提供以下可執(zhí)行的腳本命令:
- bootstrap: 執(zhí)行 lerna bootstrap 根據(jù)源碼中各個NPM包中配置的依賴包建立它們之前的引用關(guān)系。
- build: 執(zhí)行 lerna run prepare 根據(jù)源碼中各個NPM包之前的依賴關(guān)系依次執(zhí)行各個NPM包內(nèi) prepare 指令打包所有需要打包的NPM包。
- ver: 執(zhí)行 lerna version 在發(fā)版本前把源碼中所有需要發(fā)包的NPM包的版本號統(tǒng)一升級到下一個指定版本。
- pub: 執(zhí)行 lerna publish 把源碼中所有需要發(fā)包的NPM包發(fā)布正式版到 NPM倉庫 中。
- pub_next: 執(zhí)行 lerna publish 把源碼中所有需要發(fā)包的NPM包發(fā)布測試版到 NPM倉庫 中。
腳本具體內(nèi)容請查閱 package.json 文件中的 scripts 屬性。
六、源碼地址
訪問一飛開源:https://code.exmay.com/