最近.Net圈子很热闹啊,我也来凑凑,今天中午耗时长达半小时,把NetModular升级到了.NET5,详情查看分支https://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

演示地址

本仓库只包含后端框架代码,为了方便大家调试运行,同时包含了权限管理模块的代码,但是演示地址是把现有的几个模块整合后发布的,所以当你运行本仓库发现与线上不一样的时候,请下载演示源码,并且需要自己配置菜单~

演示地址:https://demo.17mkh.com/

账 户:admin

密 码: admin

演示源码:https://github.com/iamoldli/NetModular.Demo

官方文档

文档地址: https://docs.17mkh.com

文档项目的源码请移步: https://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

全宇宙首个.NET5+Vue.js前后端分离以及业务模块化快速开发框架【NetModular】发布~的更多相关文章

  1. python django框架+vue.js前后端分离

    本文用于学习django+vue.js实现web前后端分离协作开发.以一个添加和删除数据库书籍应用为实例. django框架官方地址:https://www.djangoproject.com/ vu ...

  2. Tornado + vue.js 前后端分离运行脚本

    shell脚本部分: #!/bin/bash 主脚本 (./cem-demo_publish_front) (./cem-demo_publish_backend) #!/bin/bash 后端脚本 ...

  3. 一套基于SpringBoot+Vue+Shiro 前后端分离 开发的代码生成器

    一.前言 最近花了一个月时间完成了一套基于Spring Boot+Vue+Shiro前后端分离的代码生成器,目前项目代码已基本完成 止步传统CRUD,进阶代码优化: 该项目可根据数据库字段动态生成 c ...

  4. vue+springboot前后端分离实现单点登录跨域问题处理

    最近在做一个后台管理系统,前端是用时下火热的vue.js,后台是基于springboot的.因为后台系统没有登录功能,但是公司要求统一登录,登录认证统一使用.net项目组的认证系统.那就意味着做单点登 ...

  5. Flask & Vue 构建前后端分离的应用

    Flask & Vue 构建前后端分离的应用 最近在使用 Flask 制作基于 HTML5 的桌面应用,前面写过<用 Python 构建 web 应用>,借助于完善的 Flask ...

  6. SpringBoot+Jpa+SpringSecurity+Redis+Vue的前后端分离开源系统

    项目简介: eladmin基于 Spring Boot 2.1.0 . Jpa. Spring Security.redis.Vue的前后端分离的后台管理系统,项目采用分模块开发方式, 权限控制采用 ...

  7. gin+vue的前后端分离开源项目

    该项目是gin+vue的前后端分离项目,使用gorm访问MySQL,其中vue前端是使用vue-element-admin框架简单实现的: go后台使用jwt,对API接口进行权限控制.此外,Web页 ...

  8. docker-compose 部署 Vue+SpringBoot 前后端分离项目

    一.前言 本文将通过docker-compose来部署前端Vue项目到Nginx中,和运行后端SpringBoot项目 服务器基本环境: CentOS7.3 Dokcer MySQL 二.docker ...

  9. 基于Vue的前后端分离项目实践

    一.为什么需要前后端分离 1.1什么是前后端分离  前后端分离这个词刚在毕业(15年)那会就听说过,但是直到17年前都没有接触过前后端分离的项目.怎么理解前后端分离?直观的感觉就是前后端分开去做,即功 ...

随机推荐

  1. 关于orm的个人测试——SqlSugar与FreeSql

    前言 转眼已经过了金九,光阴真的是似箭啊,周六日常加班,忙里抽闲就想鼓捣个啥看看,刚好最近想着有没有必要换个orm,从当时原生到Dapper,又到现在的Sqlsugar,因为经常听到几个不错的orm, ...

  2. JS实现简单的多选选项的全选反选按钮

    1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <!-- 5 需求: 6 1.写三个按钮: ...

  3. Mysql的Windows安装

    1,安装包下载, 这里我们使用压缩包安装方式,先进入Oracle官网,搜搜MySQL8.0,下载完成后选择一个磁盘放置,我选择放在D盘   2.安装教程 (1)配置环境变量 (2)生成data文件 用 ...

  4. macOS提示“将对您的电脑造成伤害……“进阶版

    > 很多小伙伴在更新完系统后运行应用会闪退以及提示"xxxx 将对您的电脑造成伤害. 您应该将它移到废纸篓",本文将针对此问题提供解决方法.如图:![-w456](https ...

  5. java 判断jsonObject 对象为null的天坑问题

    jsonObject = {"mmbRetrieveBookingResponse":{"bookingData":null,"isAfterTran ...

  6. 使用MATLAB 2019 App Design 工具设计一个 电子日记App

    使用MATLAB 2019 App Design 工具设计一个 电子日记App1.1 前言:由于信号与系统课程需要,因此下载了MATLAB软件,加之对新款的执着追求,通过一些渠道,下载了MATLAB ...

  7. spring源码之bean的初始化及循环引用

    实例化方法,把bean实例化,并且包装成BeanWrapper 1.点进这个方法里面. 这个方法是反射调用类中的 factoryMethod 方法. 这要知道@Bean 方法的原理, 实际上sprin ...

  8. Python-获取文件状态模块-os stat lastat fstat path

    案例: 在某项目中,需要获取文件状态,如: 文件的类型(普通文件.目录.符合连接.设备文件) 文件的访问权限 文件最后 访问.修改.节点状态 时间 普通文件大小 -- 如何解决? 方法1:通过os原始 ...

  9. makefile实验二 对目标的深入理解 以及rebuild build clean的实现

    (一) rebuild build clean的实现 新知识点: 当一个目标的依赖是一个伪目标时,这个伪目标的规则一定会被执行. 贴实验代码 CC := gcc Target := helloworl ...

  10. 第二次UML作业

    博客班级 https://edu.cnblogs.com/campus/fzzcxy/2018SE1/ 作业要求 https://edu.cnblogs.com/campus/fzzcxy/2018S ...