.NET 8 + Blazor 多租户、模块化、DDD框架、开箱即用

news/2024/11/17 21:33:28/文章来源:https://www.cnblogs.com/1312mn/p/18350326

前言

基于 .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 文件中修改 DatabaseOptionsConnectionString 字符串连接。

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技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/780181.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

日程表-获取当前周,点击切换上一周和下一周

获取本周的开始日期和结束日期(本周周一到周日):var currentTime = new Date() this.getThisWeekData(currentTime, 0)点击切换上周的周历(把当前周的周一的时间传进去就行,如“2024-08-05”): this.getThisWeekData(currentData.startData, -7)点击切换下周的周历(把当前…

「代码随想录算法训练营」第三十三天 | 动态规划 part6

322. 零钱兑换题目链接:https://leetcode.cn/problems/coin-change/ 文章讲解:https://programmercarl.com/0322.零钱兑换.html 题目难度:中等 视频讲解:https://www.bilibili.com/video/BV14K411R7yv/ 题目状态:略微有点思路,但还是有点转不过来。思路: 这次是找最小的…

工序汇报保存时提示“汇报数量大于领料数量”

1、配方单没有下推生产领料,生产订单的领料套数为0 2、该校验和领料套数基于配方单”是否关键件”的物料下推生产领料的情况。

09 DMA配合ADC多通道

[TOG] 前言 前面介绍了ADC数模转换,得到了内部的温度值和外部电压值,我感觉这样太消耗CPU的资源了,所以我准备用DMA来帮我从AD的数据寄存器中拿出数据出来,就不用再去读取AD的数据寄存器了。 一、什么是DMA DMA叫做直接存储器存取,就不需要我们CPU通过软件将外部寄存器或者…

快速基于 ClickHouse + Grafana 搭建可观测性解决方案 - 分布式链路追踪篇(ClickHouse 官方博客)

引言 在 ClickHouse,我们认为可观测性仅仅是另一个实时分析问题。作为一款高性能的实时分析数据库,ClickHouse 被用于多种场景,包括时间序列数据的实时分析。其应用场景的多样性推动了大量分析函数的发展,这些函数有助于查询大多数数据类型。这些查询特性和高压缩率使得越来…

使用 defineNuxtComponent`定义 Vue 组件

title: 使用 defineNuxtComponent`定义 Vue 组件 date: 2024/8/9 updated: 2024/8/9 author: cmdragon excerpt: 摘要:本文介绍了在Nuxt 3中使用defineNuxtComponent辅助函数定义类型安全的Vue组件的方法,适用于习惯Options API的开发者。defineNuxtComponent支持asyncData…

点亮童梦思考之光,神秘伙伴震撼登场!

本文由 ChatMoney团队出品介绍说明 咱们来聊聊“十万个为什么”机器人,这对小朋友来说,好处可多了去啦! 小朋友们天生好奇,满脑子都是问号。 这个机器人就像个啥都懂的知识达人,不管他们问啥,都能给出答案。从天上的星星为啥发光,到水里的鱼儿为啥游来游去,统统都能讲清…

安装windows11系统跳过微软账号登录,使用本地账号登录方法

在安装win11系统,进行到如图下所示界面的时候,暂停下 我们可以按下键盘的Shift+F10按键(部分电脑是Fn+Shift+F10),这时屏幕会出现命令行窗口,如图下所示 我们需要在命令行内输入代码oobe\bypassnro.cmd然后回车,这时候电脑会重启。PS:若无法输入命令,可以电脑插入鼠标…

深入探讨微服务架构中的同步通信机制

今天我们专注于微服务之间的网络通信。可以清楚地看到,框架的最终目标是使程序员能够更专注于业务逻辑,而不是被迫写各种无关紧要的代码。总结一下,尽管我们使用了框架和各种抽象,但最终仍然是通过HTTP来进行调用。不同的是,在实际调用之前,我们引入了一个拦截器来实现微…

Windows Server 任务计划执行bat脚本,无法正常自动执行的解决方案

注意点如下: 1、请点击“创建任务”而不是“创建基本任务” 2、运行任务时,请使用System账户 3、配置:请选择:windows server 2016或2003,xp,2000。注意千万不要选择2008 4、在“程序或脚本”中请填写脚本的名称,而不是路径;在“起始于(可选)”中请填写文件路径,注意…

一个基于SpringBoot实现的图像托管程序

Tbed —— 一个由 Java 语言编写、SpringBoot 框架开发的开源图像托管程序。具备多对象存储源对接,采用前后端分离式设计的一款专门托管图像的程序,支持多种格式的图像、多功能的图床系统。大家好,我是 Java陈序员。 今天,给大家介绍一个基于 SpringBoot 实现的开源图床项目…