全宇宙首個.NET5+Vue.js前後端分離以及業務模組化快速開發框架【NetModular】發布~

  • 2020 年 10 月 22 日
  • 筆記

最近.Net圈子很熱鬧啊,我也來湊湊,今天中午耗時長達半小時,把NetModular升級到了.NET5,詳情查看分支//github.com/iamoldli/NetModular/tree/feature_net5

NetModular

NetModular是什麼

NetModular 是一款為中小型企業而生的基於.Net Core平台的業務模組化快速開發解決方案,最終目的是能夠讓中小團隊快速搭建公司內部開發平台。

NetModular有哪些特點

1、模組化

以模組化為思想,以業務領域為理念,以包管理(nuget\npm)為基礎,充分解耦業務功能,使業務最大化的得到復用,極大減少重複開發時間,結合在線程式碼生成器,讓您「一天一模組,三天一系統」不再是夢想。

2、內置ORM

基於Dapper封裝的輕量級ORM,支援多種資料庫自由切換,內置CRUD、軟硬刪除、Lamdba表達式查詢、多表連接查詢、分組查詢、跨庫連接查詢、日期分庫分表以及自定義分表策略,提供多個常用實體基類和對應功能,如自動設置創建人、創建日期、修改人、修改日期、刪除人、刪除日期等功能。

3、多租戶

得益於自己擴展的ORM,非常簡單的就實現了數據共享模式的多租戶功能

4、簡單易用

完善的基礎設施,包括簡單易用高效的ORM、日誌組件(Serilog)、對象映射(AutoMapper)、Api文檔(Swagger)、快取(MemoryCachge/Redis)、強類型驗證(FluentValidation)、消息隊列(RabbitMQ)、任務調度(Quartz)等功能模組,用什麼注入即可。

5、不寫文檔

當然,NetModular最大的特點就是作者的良苦用心,為了能夠讓大家多多閱讀程式碼,堅持不完善文檔的精神~

後端框架結構說明

框架模組 說明 版本
00_Host 主機庫
01_Utils 通用基礎庫
02_Data 輕量級ORM庫(基於 Dapper 擴展)
03_Logging 日誌庫(基於 Serilog 擴展)
04_Mapper 對象映射庫(基於 AutoMapper 擴展)
05_Swagger 介面文檔庫(基於 Swashbuckle 擴展)
06_Cache 快取庫,支援記憶體快取和Redis
07_Validation 模型驗證庫(基於 FluentValidation 擴展)
08_Auth 身份認證庫,已實現JWT認證方式
09_Module 業務模組化核心庫
10_MQ 消息通訊庫,實現對RabbitMQ的封裝
11_Quartz 基於 Quartz.Net 封裝的任務調度庫
12_Excel Excel擴展庫
13_Config 通用配置庫
14_Pdf PDF擴展庫
15_MQTT MQTT擴展庫(未實現)
16_OSS 對象存儲庫,內含七牛雲SDK的Core版本

開發環境

開發工具

Visual Studio 2019+Visual Studio Code

後端

.Net Core 3.1DapperSerilogAutoMapperFluentValidationSwagger、RabbitMQ、Redis、EPPlus

前端

Node.js 10+Vue.js 2.6+Vue CLIVuexVueRouterElement-UI

前端框架 NetModular.UI

前端採用Vue.js全家桶+Element UI開發,也是基於模組化思想設計,源碼不在本倉庫,請移步 NetModular.UI

前端皮膚

前端支援自定義皮膚功能,框架本身提供了兩套皮膚,其中一套已經內置作為默認皮膚,另外一套需要單獨安裝,源碼如下:

編碼 版本 倉庫地址
Classics NetModular.Skins.Classics

演示地址

本倉庫只包含後端框架程式碼,為了方便大家調試運行,同時包含了許可權管理模組的程式碼,但是演示地址是把現有的幾個模組整合後發布的,所以當你運行本倉庫發現與線上不一樣的時候,請下載演示源碼,並且需要自己配置菜單~

演示地址://demo.17mkh.com/
賬 戶:admin
密 碼: admin

演示源碼://github.com/iamoldli/NetModular.Demo

官方文檔

文檔地址: //docs.17mkh.com

文檔項目的源碼請移步: //github.com/iamoldli/NetModular.Docs

模組列表

本倉庫只包含基礎框架以及許可權管理(Admin)模組程式碼,其它模組請點擊以下鏈接查看~

編號 編碼 說明 版本 倉庫地址
00 Admin 許可權管理 本倉庫
01 Common 通用模組 NetModular.Module.Common
02 CodeGenerator 模組創建(又名程式碼生成器) NetModular.Module.Common
03 Quartz 任務調度 NetModular.Module.Quartz
04 PersonnelFiles 人事檔案 NetModular.Module.PersonnelFiles

技術交流

QQ 群:點擊加群 903210423

QQ