企业管理系统一般包含后台管理UI、组织机构管理、权限管理、日志、数据访问、表单、工作流等常用必备功能。下面收集的几款优秀开源的管理系统,值得大家入门学习。
插件化架构,又称微核架构,指的是软件的内核相对较小,主要功能和业务逻辑都通过插件实现的架构。
插件化架构一般有两个核心概念:
- 内核
- 插件
内核通常只包含系统运行的最小功能,以及定义插件必须符合的接口;插件则是互相独立的模块,一般只包含单一的功能。
插件化技术并不是一个新兴的技术,早期很多基于COM开发的WIN32程序其实都是插件化的系统。在.NET/.NET Core中,也有许多插件化的实现方案,例如,开源框架ABP, 开源的内容管理系统DotNetNuke, 电子商务框架NopCommerce。
《.NET Conf 2020 - 基于ASP.NET Core构建可热插拔的插件化系统》
作者:Lamond Lu
项目地址:https://github.com/lamondlu/CoolCat
博客:http://www.cnblogs.com/lwqlun
《从零开始实现 ASP.NET Core MVC 的插件式开发》系列博客:https://mp.weixin.qq.com/s/uOtvUHkCoMu8cpnsjX4Gpg
OSharpNS 全称 OSharp Framework with .NetStandard2.x,是一个基于.NetStandard2.x
开发的一个.NetCore
快速开发框架。这个框架使用最新稳定版的.NetCore SDK
(当前是.NET Core 3.0),对 AspNetCore 的配置、依赖注入、日志、缓存、实体框架、Mvc(WebApi)、身份认证、权限授权等模块进行更高一级的自动化封装,并规范了一套业务实现的代码结构与操作流程,使 .Net Core 框架更易于应用到实际项目开发中。
相关示例项目:
- Vue版本(vben): https://github.com/i66soft/osharp-vben
- Mvc版本(layui): https://github.com/i66soft/osharp-layui
- Blazor版本(BootstrapBlazor): https://github.com/i66soft/osharp-blazor
框架的工程组织结构如下:
框架特性
- 模块化的组件系统设计
- 自动化的依赖注入注册机制UnitOfWork-Repository模式,EFCore上下文动态构建
- DependencyAttribute特性标注方式
- 自动化的注册机制
- 基于AspNetCore的Identity的身份认证设计系统
- 设计了一个强大的功能权限与数据权限的授权体系集成 Swagger 后端API文档系统
- 功能权限授权流程
- 功能权限验证流程
- 数据权限授权流程
- 数据权限验证流程
- 代码生成器
文档中心 https://docs.osharp.org/quick/start/
开源地址 https://github.com/dotnetcore/OSharp
博客园:https://www.cnblogs.com/laozhang-is-phi/
Bilibili:https://space.bilibili.com/387802716
直播间:https://live.bilibili.com/21507364
Blog.Core 开箱即用的企业级前后端分离【 .NET Core5.0 Api + Vue 2.x + RBAC】权限框架。由国内微软MVP“老张的哲学”出品。相比ABP Zero,Blog.Core 更为短小精干,非常适合管理系统以及互联网项目的开发。
项目单体部署,并发在400~500,一切正常(不保证自己的各种错误写法)。如果搭配负载,效果更好。已被多家公司所使用:点击查看列表。
开源地址:https://github.com/anjoy8/Blog.Core
系统架构图
框架模块:
- 采用
仓储+服务+接口
的形式封装框架; - 异步 async/await 开发;
- 接入国产数据库ORM组件 —— SqlSugar,封装数据库操作;
- 支持*切换多种数据库,MySql/SqlServer/Sqlite/Oracle/Postgresql/达梦/人大金仓;
- 实现项目启动,自动生成种子数据 ;
- 五种日志记录,审计/异常/请求响应/服务操作/Sql记录等;
- 支持项目事务处理(若要分布式,用cap即可);
- 设计4种 AOP 切面编程,功能涵盖:日志、缓存、审计、事务 ;
- 支持 T4 代码模板,自动生成每层代码;
- 或使用 DbFirst 一键创建自己项目的四层文件(支持多库);
- 封装
Blog.Core.Webapi.Template
项目模板,一键重建自己的项目 ; - 搭配多个前端案例供参考和借鉴:Blog.Vue、Blog.Admin、Nuxt.tbug、Blog.Mvp.Blazor ;
- 统一集成 IdentityServer4 认证 ;
组件模块:
- 提供 Redis 做缓存处理;
- 使用 Swagger 做api文档;
- 使用 MiniProfiler 做接口性能分析 ;
- 使用 Automapper 处理对象映射;
- 使用 AutoFac 做依赖注入容器,并提供批量服务注入 ;
- 支持 CORS 跨域;
- 封装 JWT 自定义策略授权;
- 使用 Log4Net 日志框架,集成原生 ILogger 接口做日志记录;
- 使用 SignalR 双工通讯 ;
- 添加 IpRateLimiting 做 API 限流处理;
- 使用 Quartz.net 做任务调度(目前单机多任务,集群调度暂不支持);
- 支持 数据库
读写分离
和多库操作 ; - 新增 Redis 消息队列 ;
- 新增 RabbitMQ 消息队列 ;
- 新增 EventBus 事件总线 ;
- 调试中 - 统一聚合支付;
- 计划 - 数据部门权限;
- 计划 - ES 搜索;
微服务模块:
- 可配合 Docker 实现容器化;
- 可配合 Jenkins 实现CI / CD;
- 可配合 Consul 实现服务发现;
- 可配合 Ocelot 实现网关处理;
- 可配合 Nginx 实现负载均衡;
- 可配合 Ids4 实现认证中心;
NetModular 是一款为中小型企业而生的基于.Net Core和 Vue.js 的业务模块化以及前后端分离的快速开发框架,最终目的是能够让中小团队快速搭建公司内部开发平台。
Gitee:https://gitee.com/laoli/NetModular
- 后端技术:.Net Core 3.1、Dapper、Serilog、AutoMapper、FluentValidation、Swagger、RabbitMQ、Redis、EPPlus。
- 前端技术:Node.js 10+、Vue.js 2.6+、Vue CLI、Vuex、VueRouter、Element-UI。
- 前端框架 NetModular.UI:前端采用 Vue.js 全家桶+Element UI 开发,也是基于模块化思想设计。源码如下:https://github.com/iamoldli/NetModular.UI
- 前端皮肤:前端支持自定义皮肤功能,框架本身提供了两套皮肤,其中一套已经内置作为默认皮肤,另外一套需要单独安装,源码如下:https://github.com/iamoldli/NetModular.Skins.Classics
- 模块列表。本仓库只包含基础框架以及权限管理(Admin)模块代码,其它模块请点击以下链接查看。
OpenAuth.Core 是大神李玉宝的又一著作,该项目目前收录于 dotNET China ,并且被Gitee评选为GVP项目(Gitee最有价值的开源项目)。
OpenAuth.Core 是.NET权限管理及快速开发框架、最好用的权限工作流系统。源于Martin Fowler企业级应用开发思想及最新技术组合(IdentityServer、EF、Quartz、AutoFac、WebAPI、Swagger、Mock、NUnit、VUE、Element-ui等)。已成功在docker/jenkins中实施。核心模块包括:组织机构、角色用户、权限授权、表单设计、工作流等。它的架构精良易于扩展,是中小企业的首选。
Gitee:https://gitee.com/dotnetchina/OpenAuth.Net
强大的工作流引擎
项目分为3个版本:
- OpenAuth.Net开源版
采用.NET 4.5/.NET 5 MVC + LayUI 前后端开发模式,更适合传统 .NET Framework 开发者使用,前端深度使用 LayUI 界面。
- OpenAuth.Core开源版
采用.NET Core MVC + LayUI 前后端开发模式,全新.NET Core 跨平台体验。在OpenAuth.NET基础上进一步优化代码结构。
- OpenAuth.Pro企业版
采用WebAPI+Vue的前后端完全分离模式,后端基于OpenAuth.Core WebAPI接口。前端SPA单页面模式,基于Vue全家桶。
Furion项目的作者【富察宏磊】是一位90后的优秀IT人才。
Furioin 是一款基于.NET5技术开发的功能强大、性能极致、文档完善、示例丰富、极易入门、快速开发、极易维护的Web框架。
功能模块
框架特点
- 全新面貌:基于
.NET 5
平台,没有历史包袱 - 极易入门:只需要一个
Inject()
即可完成配置 - 极速开发:内置丰富的企业应用开发功能
- 极少依赖:框架只依赖两个第三方包
- 极其灵活:轻松面对多变复杂的需求
- 极易维护:采用独特的架构思想,只为长久维护设计
- 完整文档:提供完善的开发文档
文档地址
开源地址
- Gitee:https://gitee.com/dotnetchina/Furion
- GitHub:https://github.com/monksoul/Furion
- Docker:https://hub.docker.com/r/monksoul/furion
- Nuget:https://www.nuget.org/packages/Furion
系列教程
- Furion 视频教程:https://space.bilibili.com/695987967
- Furion 使用例子:https://gitee.com/monksoul/furion-samples 可能大部分示例已经不通用
- Furion 系列教程:《学 .NET 5 从 Furion 开始》 系列
支持平台
- 运行环境
- Windows
- Linux
- MacOS
- Docker/K8S/K3S/Rancher
- Xamarin/MAUI
- 数据库
- SqlServer
- Sqlite
- Azure Cosmos
- MySql
- MariaDB
- PostgreSQL
- InMemoryDatabase
- Oracle
- Firebird
- 达梦数据库
- MongoDB
- 应用部署
- Kestrel
- Nginx
- Jexus
- IIS
- Apache
- PM2
- Supervisor
- 独立发布/单文件
- 容器(Docker/K8S/K3S/Rancher)
作者的其他优秀开源项目
- https://gitee.com/monksoul
- https://github.com/monksoul
本系统可以用于所有的 Web 应用程序,目前版本已经升级到 NET CORE 具备跨平台能力。数据库方面同时支持多种数据库,详细列表见后面数据库的详细列表,切换数据源仅需更改配置文件无需重启应用程序,配置简单灵活。UI 前端使用流行的 Bootstrap 框架布局对移动设备的兼容性非常好,自适应目前市场几乎所有终端设备。本系统还具备单一后台支持多前台的特色,提供 单点登录(SSO) 的能力。
使用 NET Core + Bootstrap + PetaPoco + HTML 5 + jQuery 构建的后台管理平台
特别说明
BootstrapAdmin 无需二次开发,要做的仅仅是与前台系统集成,前台系统模板工程为 Bootstrap.Client
项目原始出发点是把权限系统从业务系统中剥离出来,项目开发专注于功能,详细配置说明请点击 查看文档
主要功能
- 通过配置与前台网站集成
- 构建前台系统分层级菜单
- 提供单一后台支持多前台应用配置
- 提供单点登录
- 集成系统认证授权模块
- 提供角色,部门,用户,菜单,前台应用程序授权
- 角色对用户授权
- 角色对菜单授权
- 角色对部门授权
- 角色对应用程序授权(多个前台应用公用一个后台权限管理系统)
- 部门对用户授权
- 提供字典表用于前台网站个性化配置
- 完全响应式布局(支持电脑、平板、手机等所有主流设备)
- 内置多数据源支持,配置简单立即生效无需重启
- 内置数据内存缓存机制,页面快速响应
- 内置数据 操作日志 与用户 登录日志,跟踪记录用户 登录主机地点 浏览器 操作系统信息
优势
- 前台系统不用编写登录、授权、认证模块;只负责编写业务模块即可
- 后台系统无需任何二次开发,直接发布即可使用
- 前台与后台系统分离,分别为不同的系统(域名可独立)
- 可扩展为多租户应用
数据库
数据库支持列表如下:
MSSQL/Oracle/SQLite/MySql/MariaDB/Postgresql/Firebird/MongoDB
开源地址:https://gitee.com/dotnetchina/BootstrapAdmin
mvvm框架(WTM)是一个基于.NET Core 的快速开发框架。它支持LayUI、React和VUE。WTM有内置的代码生成器,以最大限度地提高开发效率。它是高效web开发的强大工具。
框架特征:
WTM提供了4种类型的ViewModel,涵盖了主流web应用程序的所有常见功能。
- CrudVM提供了最常见的数据添加、删除和修改功能。
- ListVM提供分页和导出功能。
- ImportVM、TemplateVM提供了通过excel导入的功能。
- BatchVM提供批操作功能。
- WTM有自己的代码生成器,这使得开发效率高、速度快。
- WTM提供了许多客户端控件,包括表单、网格、面板、对话框和许多其他常用控件。
- WTM提供内置用户、角色、用户组、数据权限、页面权限、菜单、日志、邮件、短信、文件等常用后端功能;
- WTM支持单点登录、门户和分布式数据库;
- WTM提供了与Redis、DFS等库的简化集成。
- WTM提供了用于构建用户界面的服务器端和客户端框架。
开源地址:https://github.com/dotnetcore/WTM
中文文档:http://wtmdoc.walkingtec.cn/
本计划采用年审制,每年重新审核项目是否满足以上条件。
- GVP 计划参与者并不是 Gitee 平台的官方人员,其观点和行为,仅代表个人,不代表 Gitee 平台的官方立场。
- GVP 计划参与者不得有违反国家规定、Gitee 网站规则的行为,否则将取消 GVP 计划参与者身份。
- 参与 GVP 计划后,不得大量发布广告或软文,否则 Gitee 平台有权永久取消 GVP 计划参与者身份。
- 申请参与 GVP 计划的项目不得恶意刷数,一经发现,Gitee 平台有权永久取消 GVP 计划参与者身份,并进行全平台通报。
- GVP 项目不允许删除,不允许转为私有项目。