.NET 8 + Blazor 多租户、模块化、DDD框架、开箱即用
前言
基于 .NET 8 的开源项目,主要使用 WebAPI + Blazor 支持多租户和模块化设计,DDD构建。可以帮助我们轻松地搭建起一个功能完善的Web应用程序。除了帮助你快速构建应用程序之外,项目也可以当做学习资料。我们可以从中了解到多租户、CQRS、DDD架构、云部署、Docker容器化等等前沿技术。
项目简介
dotnet-starter-kit 是一个基于 .NET 8 的开源项目,它采用了Clean Architecture原则,支持多租户和模块化设计。此项目是一个开箱即用的解决方案,非常适合快速开发Web应用程序。
数据库支持
- PostgreSQL
- MySQL
- MSSQL
- Oracle
项目技术栈
多租户架构
CQRS (Command Query Responsibility Segregation)
DDD架构
清洁编码标准
Terraform到AWS的云部署
Docker概念
CI/CD管道和工作流
ASP.NET Core 8
Entity Framework Core 8
Blazor
MediatR (用于CQRS模式)
PostgreSQL (数据库)
Redis (缓存)
FluentValidation (数据验证)
运行与部署
1、下载项目
git clone https://github.com/fullstackhero/dotnet-starter-kit.git
2、打开项目
使用Visual Studio打开 ./src/FSH.Starter.sln
文件。
项目结构如下图所示:
3、项目结构
启动 FSH.Starter
解决方案,它包含以下三个项目:
- Aspire Dashboard(默认项目)
- Web API
- Blazor
4、修改连接字符串
在 ./src/api/server/appsettings.Development.json
文件中修改 DatabaseOptions
的 ConnectionString
字符串连接。
5、启动项目
分别启动项目:
- Aspire Dashboard: 默认启动,访问地址
https://localhost:7200/
- Web API: 访问地址
https://localhost:7000/swagger/index.html
- Blazor: 访问地址
https://localhost:7100/
6、部署
- Docker: 项目支持Docker,方便容器化部署。
- AWS: 项目提供了部署到 AWS 的指南。
项目展示
项目地址
- Github https://github.com/fullstackhero/dotnet-starter-kit.git
- Gitee https://gitee.com/xie-bing/dotnet-starter-kit
最后
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。
也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!
.NET 8 + Blazor 多租户、模块化、DDD框架、开箱即用的更多相关文章
- DDD框架基础知识
DDD框架基础知识 参考: https://www.cnblogs.com/zhili/p/OnlineStorewithDDD.html(领域驱动设计,分层架构) https://www.cnblo ...
- 从Nest到Nesk -- 模块化Node框架的实践
文: 达孚(沪江Web前端架构师) 本文原创,转至沪江技术 首先上一下项目地址(:>): Nest:https://github.com/nestjs/nest Nesk:https://git ...
- cube.js 开源模块化分析框架
cube.js 是一款很不错的模块化web 应用分析框架.cube.js 的设计主要是面向serverless 服务, 但是同时也支持所有rdbms, cube.js不是一个单体应用,包含了以下部分: ...
- Lind.DDD.DynamicModules动态模块化的设计
回到目录 在Lind.DDD框架里有Module,主要用于全局自动添加的模块,它类似于ABP系统里的Module,但有时过于自动化了可能使系统太死板,而有时将需要的模块手动载入可能对我们更合适,所以大 ...
- 极简实用的Asp.NetCore模块化框架决定免费开源了
背景 在开发这个框架之前,前前后后看过好几款模块化的框架,最后在一段时间内对ABP VNext痛下狠心,研究一段时间后,不得不说 ABP VNext的代码层面很规范,也都是一些最佳实践,开发出一个模块 ...
- Lind.DDD敏捷领域驱动框架~介绍
回到占占推荐博客索引 最近觉得自己的框架过于复杂,在实现开发使用中有些不爽,自己的朋友们也经常和我说,框架太麻烦了,要引用的类库太多:之前架构之所以这样设计,完全出于对职责分离和代码附复用的考虑,主要 ...
- Lind.DDD敏捷领域驱动框架~Lind.DDD各层介绍
回到目录 Lind.DDD项目主要面向敏捷,快速开发,领域驱动等,对于它的分层也是能合并的合并,比之前大叔的框架分层更粗糙一些,或者说更大胆一些,在开发人员使用上,可能会感觉更方便了,更益使用了,这就 ...
- Lind.DDD.Messaging框架通讯组件介绍
回到目录 大 家好,今天有时间来介绍一下Lind.DDD框架里的消息机制,消息发送这块一般的实现方法是将Email,SMS等集成到一个公用类库里,而本身 Email和SMS没什么关系,它们也不会有什么 ...
- DDD实战进阶第一波(三):开发一般业务的大健康行业直销系统(搭建支持DDD的轻量级框架二)
了解了DDD的好处与基本的核心组件后,我们先不急着进入支持DDD思想的轻量级框架开发,也不急于直销系统需求分析和具体代码实现,我们还少一块, 那就是经典DDD的架构,只有了解了经典DDD的架构,你才能 ...
- .NET Core 又一杀器! Web Blazor框架横空出世!
多年来,Javascript(及其子框架)已在浏览器中运行DOM(文档对象模型),并且掌握了脚本知识才能真正操作客户端UI.大约2年前,所有这些都随着Web Assembly的引入而发生了变化-Web ...
随机推荐
- python解析字符串中的省市区字符串
#python解析字符串中的省市区字符串 #str4 = "XX省XX市辛桥乡赵庄村XX号" #str4 = "XX省XX市XX区八卦二路XX号XX栋XX楼" ...
- fastadmin的导出到excel功能
正常的excel导出没什么问题,最近一直头疼的是怎么导出数据中包含图片,并且图片还是数组?????by user 悦悦 https://www.cnblogs.com/nuanai 1.导出的exce ...
- 基于.NET Core + Jquery实现文件断点分片上传
基于.NET Core + Jquery实现文件断点分片上传 前言 该项目是基于.NET Core 和 Jquery实现的文件分片上传,没有经过测试,因为博主没有那么大的文件去测试,目前上传2G左右的 ...
- Coap 协议学习:具体协议介绍具体
协议框架 CoAP默认运行在UDP上,但它也支持运行在SMS,TCP等数据传输层上.本文主要是基于UDP上的CoAP协议介绍 1.消息模型 Messages COAP协议通信是通过在UDP上传输消息类 ...
- python基础-元组tuple( )
元组的定义和操作 元组的特性: 元素数量 支持多个 元素类型 任意 下标索引 支持 重复元素 支持 可修改性 不支持 数据有序 是 使用场景 不可修改.可重复的 一批数据记录场景 # 定义元组 ...
- 阿里云日志Nginx日志分析
每分钟接口访问次数的前200条统计 not request_uri : "/heartbeat.html" | SELECT time_series(time, '1m', '%H ...
- 使用flume将数据sink到HBase
===========>先创建Hbase表和列族<================案例1:源数据一行对应Hbase的一列存储(hbase-1.12没有问题)================ ...
- C# 线程与进程
一.前台线程与后台线程对象 为什么要用多线程? 1.让计算机"同时"做多件事情,节约时间. 2.多线程可以让一个程序"同时"处理多个事情. 3.后台运行程序,提 ...
- [Unity] Dreamteck Splines实现沿路径移动功能
Dreamteck Splines实现沿路径移动功能 最近有一个"让物体沿固定路径移动"的需求,因此接触到了Dreamteck Splines插件. Dreamteck Splin ...
- Django 自定义创建密码重置确认页面
要实现上述功能,你需要修改模板文件以添加"忘记密码"链接,并创建新的视图函数来处理密码丢失修改页面.验证和密码修改.下面是你可以进行的步骤: 1. 修改模板文件 在登录页面的表单下 ...