# ShenNius.Framework
**Repository Path**: stephan27/shen-nius.-modularity
## Basic Information
- **Project Name**: ShenNius.Framework
- **Description**: 基于Asp.NetCore框架开发的权限管理、CMS管理、商城管理等模块。代码方面追求“简单”,“高效”,“实用”,总之秉承大道至简的原则开发,坚持业务模块最低复杂度复用,只要会C#,再会点Asp.NetCore基础知识,极易上手。适合小白入门进阶,更适用(实用)老手上路干活。
- **Primary Language**: C#
- **License**: MIT
- **Default Branch**: net6.0
- **Homepage**: https://gitee.com/shenniu_code_group/shen-nius.-modularity
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 114
- **Created**: 2022-07-18
- **Last Updated**: 2022-07-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# ShenNius.Framework
如果对您有帮助,点击右上角⭐Star⭐关注 ,感谢支持开源!
#### 介绍
**基于Asp.NetCore的开发框架,目前已开发完权限管理模块,CMS模块、商城模块。特别适合中小型项目快速开发,对CRUD API接口抽象到上层controller,只需要建立对应的实体,即可生成某张表的增删改查接口。**
所有的代码坚持" **Don't repeat yourself** "。坚决反对" **简单的事情复杂干** "," **大量代码在应用层过度层层封装** ",反对" **过度设计** "的原则下进行开发。
如果你有这个习惯,并且也想找一款迷你型、上手快,不用学习太多东西的框架,那么它就适合你,只要你会dotnet core,几乎没有学习成本。
#### 分支概况
master分支为asp.netcore3.1单体分支:git clone -b master https://gitee.com/shenniu_code_group/shen-nius.-modularity.git
.net6.0分支为asp.netcore6.0单体分支:git clone -b .net6.0 https://gitee.com/shenniu_code_group/shen-nius.-modularity.git
**page5.0分支为asp.netcore5.0单体前后端分离分支:git clone -b page5.0 https://gitee.com/shenniu_code_group/shen-nius.-modularity.git 。 注:该分支不再维护,适合大家学习二开使用。**
**模块化的项目地址:[基于dotNetCore基础之上开发的模块化框架](https://gitee.com/shenniu_code_group/godox-modulesshell.git)**
#### 特别申明
注意:**该项目新功能的迭代今后我会放在模块化分支上面,单体新功能的迭代一般可能会在最新的asp.netcore版本上开发。老版本新功能有偿服务!**
#### 软件架构

整体框架分为服务层、基础设施层,实体层,展现层。
很多人都使用过三层架构,该架构是从三层架构上面简化而来,去掉了以前三层架构中的数据访问层,配合顺手的ORM,不管开发API还是mvc效率和性能都是杠杠的。
以后整体架构会向DDD发展,逐步缓慢的演进,为解决业务需求会把实体层的贫血模型更改为充血模型,这是当下的任务。
#### 使用技术
1. API框架:dotNetCore
2. ORM:SqlSugarCore
3. 缓存:MemoryCache和redis一键任意切换
4. 日志管理:Nlog
5. 工具类:Aes加密、Md5加密、RSA加密、Des加密
6. token:Json Web Token
7. 实体验证:FluentValidation
8. 实体映射:AutoMapper
9. 数据库使用mysql(后面会做sqlserver等其他数据库的兼容)
10. 支持跨平台部署 linux/windows
11. 支持AOP缓存,使用AspectCore,缓存可做到Memarycache和redis一键切换
12. 支持AOP事务,服务层和控制器都可以打上特性标签使用
13. 对多租户使用Filter,不管是添加还是更新、查询即可自动赋值
14. 支持七牛云和本地图片一键切换使用上传
15. 对于单表的增删改查,在控制器内做了封装,有新的业务按约定建立对应的CRUD实体,一套API自动完成
16. 支持站群管理
17. 支持MediatR进程内通讯解耦(目前已取消使用,因为只支持进程内通讯)
#### 安装教程
1. git clone -b master https://gitee.com/shenniu_code_group/shen-nius.-modularity.git
2. 在mysql上创建数据库shenniusdb,然后执行源码doc文件夹下的sql脚本语句,以最近日期为准。doc文件夹里面数据库字典文档,word、CHM、html格式的都有。
3. ShenNius.Mvc.Admin(前后端不分离)和ShenNius.API.Hosting(前后端分离 API)可以配置你要启动的appsettings.json文件信息。
4、 使用过程中有什么问题欢迎提issues,基本都会第一时间解决。
#### 使用说明
1. ShenNius.Share.Infrastructure 基础设施、里面包含常用的扩展方法、静态类。
2. ShenNius.Share.Models 实体层、里面包括Dto验证、配置类。
3. ShenNius.Share.Domain 服务层、业务逻辑基本都在这个里面、里面包含了数据访问操作。
4. ShenNius.Admin.API 有对服务层CRUD的抽象处理,模块只需按规则建立对应的CRUD实体,API接口自动生成。
5. ShenNius.API.Hosting 前后端分离的API。
6. ShenNius.Mvc.Admin 基于layui的后台管理包含CMS、商城,权限管理。
#### 效果图
#### 权限管理模块
#### CMS系统模块
#### 商城系统模块
#### 入群交流
QQ群:
878303823
微信群:喜欢微信交流的扫描下面我的个人二维码,邀请进群。
#### 项目赞助
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request