项目介绍
本项目是 Lin CMS 后端的 .NET5的 实现,通过Vue.js实现的前后端分离CMS平台,目前实现简约的权限管理体系、基础字典项管理、漫笔专栏,评论点赞,消息关照,标签等仿掘金模块。
后端C#
该项目的Lin 的服务端框架是基于.NET Core 3.1构建的,所以假如你比较熟悉Mvc、WebAPI、过滤器等概念,或者是 有.NET Framework中Mvc开辟经验,相信你一定很容易写出代码。
相关技能
- 数据库相关:ORM:FreeSql+DataBase:MySQL5.6
- ASP.NET Core3.1+WebAPI+RESTful
- 简化对象映射:AutoMapper
- 身份认证框架:IdentityServer4
- Json Web令牌:JWT
- 文档API:Swagger(Swashbuckle.AspNetCore)
- 序列化:Newtonsoft.Json
- 测试框架:Xunit
- 日志 Serilog
- 依赖注入服务AutoFac
- 通用扩展方法 Z.ExtensionMethods
- 云存储:七牛云 MQiniu.Core
- 分布式事件、EventBus:DotNeteCore.CAP
- GitHub第三方授权登录AspNet.Security.OAuth.GitHub
- QQ第三方授权登录AspNet.Security.OAuth.QQ
- Docker
- Azure DevOps
- 健康检查AspNetCore.HealthChecks.UI.Client
- GitHub Action
实践
- DDD(Domain-Driven Design)领域驱动设计
- Logging(日志)
- DevOps(CI/CD,主动化构建)
- Database Migrations(数据库主动迁移)
- Authentication(身份认证)
- Authorization(授权)
- Separation of Concerns(关注点分离)
- Repository Pattern(仓储模式)
- SOLID Principles(单一职责)
- Clean Code(代码整洁之道)
分层结构(Layers)
- framework
- src
- IGeekFan.CAP.MySql:为CAP实现了配合FreeSql的事件同等性扩展
- IGeekFan.Localization.FreeSql:本地化的FreeSql数据库存储方案
- identityserver4
- LinCms.IdentityServer4:使用id4授权登录
- src
- LinCms.Web:接口API(ASP.NET Core)
- LinCms.Application:应用服务
- LinCms.Application.Contracts:DTO,数据传输对象,应用服务接口
- LinCms.Infrastructure:基础设施,数据库持久性的操纵
- LinCms.Core:该应用的核心,实体类,通用操纵类,AOP扩展,分页对象,基础依赖对象接口,时间扩展方法,当前用户信息,非常类,值对象
- LinCms.Plugins 使用单项目实现某个业务的扩展,不是该项目的主要结构,可临时忽略。
- LinCms.Scaffolding 代码生成器
- test
- LinCms.Test:对仓储,应用服务或工具类进行测试
前端
前端需要开辟者比较熟悉 Vue 的,另外需要了解 ES6,axios,ElementUi、webpack、Vuex、Vue-Router等等等
截图
想要源码的,记得关注+转发+私信 私信回复【C#内容管理体系】 |