NetCoreKevin

基於NET8搭建DDD-微服務-現代化Saas企業級WebAPI前後端分離架構:前端Vue3、IDS4單點登錄、多級緩存、自動任務、分佈式、AI智能體、一庫多租户、日誌、授權和鑑權、CAP事件、SignalR、領域事件、MCP協議服務、IOC模塊化注入、Cors、Quartz自動任務、多短信、AI、AgentFramework、SemanticKernel集成、RAG檢索增強+Qdrant矢量數據庫、OCR識別、API多版本、單元測試、RabbitMQ
解耦設計都可以單獨引用 項目啓動時注意相關Redis、db鏈接配置、RabbitMQ
生成數據庫可見下面説明文件 命令生成即可

項目地址:github:https://github.com/junkai-li/NetCoreKevin

NetCoreKevin介紹

NetCoreKevin-DDD-微服務-現代化Saas企業級-WebAPI-前後端分離架構_#vue

NetCoreKevin-DDD-微服務-現代化Saas企業級-WebAPI-前後端分離架構_#.net_02


NetCoreKevin-DDD-微服務-現代化Saas企業級-WebAPI-前後端分離架構_#vue_03


NetCoreKevin-DDD-微服務-現代化Saas企業級-WebAPI-前後端分離架構_#雲原生_04


NetCoreKevin-DDD-微服務-現代化Saas企業級-WebAPI-前後端分離架構_#雲原生_05


NetCoreKevin-DDD-微服務-現代化Saas企業級-WebAPI-前後端分離架構_#架構_06

DDD思想

NetCoreKevin-DDD-微服務-現代化Saas企業級-WebAPI-前後端分離架構_#架構_07

🌐後台管理系統(基於VUE3-AntDesign)

NetCoreKevin-DDD-微服務-現代化Saas企業級-WebAPI-前後端分離架構_#架構_08


NetCoreKevin-DDD-微服務-現代化Saas企業級-WebAPI-前後端分離架構_#雲原生_09

🌐後台自動任務調度系統(基於Quartz.NET)

NetCoreKevin-DDD-微服務-現代化Saas企業級-WebAPI-前後端分離架構_#.net_10

思維導圖

NetCoreKevin-DDD-微服務-現代化Saas企業級-WebAPI-前後端分離架構_#.net_11

教學文檔地址 [教學文檔地址]

🌐 項目概述

NetCoreKevin 是一個基於 DDD(Domain-Driven Design) 和 微服務架構 的 .NET 8 Web API 項目,其核心目標是提供一個可複用、模塊化、可擴展的架構平台。它集成了以下關鍵功能:

身份認證與授權(基於 IdentityServer4)
多緩存支持(Redis、內存緩存)
分佈式系統支持(CAP 集成事件)
多租户支持(一庫多租户)
任務調度(Quartz)
日誌系統(log4Net)
實時通信(SignalR)
AI 集成(SemanticKernel、OCR 驗證碼識別)
短信服務(阿里雲、騰訊雲)
文件存儲(阿里雲、騰訊雲)
自動化爬蟲(Selenium)
模塊化依賴注入(IOC)
多版本 API 兼容
單元測試支持
Docker 支持
RabbitMQ

NetCoreKevin-DDD-微服務-現代化Saas企業級-WebAPI-前後端分離架構_#微服務_12

🧩 項目結構詳解

以下是項目的核心模塊及其功能説明:

  1. App.AuthorizationService
  • 功能:授權服務,基於 IdentityServer4 搭建,支持單點登錄(SSO)。
  • 説明:用於統一管理用户認證和授權,是整個系統的安全中心。
  1. Kevin.Common
  • 功能:工具類庫,包含常用幫助類、擴展方法、文件流操作、圖片處理等。
  • 説明:提供基礎的通用功能,避免重複開發。
  1. 文檔
  • 功能:基礎使用文檔。
  • 説明:包含項目啓動説明、配置步驟、數據庫生成方法等。
  1. InitData
  • 功能:數據初始化的 SQL 腳本。
  • 説明:用於初始化數據庫結構和測試數據。
  1. Share
  • 功能:存放 DTO(數據傳輸對象)、結構類型等共享模型。
  • 説明:用於跨模塊的數據交換。
  1. App.TaskQuartz
  • 功能:基於 Quartz 的自動任務調度系統。
  • 説明:用於定時執行後台任務,如數據同步、清理、推送等。
  1. App.RepositorieRps
  • 功能:數據庫倉儲層。
  • 説明:提供對數據庫的讀寫操作,通常使用 EFCore 實現。
  1. App.Application
  • 功能:應用服務層。
  • 説明:處理業務邏輯,調用倉儲層或領域層,是業務操作的中轉站。
  1. Kevin.Web
  • 功能:Web 相關工具層,包含過濾器、中間件、全局類、服務初始化等。
  • 説明:提供 Web 層的基礎配置和擴展。
  1. App.WebApi
  • 功能:API 層。
  • 説明:對外暴露的 RESTful API 接口,接收請求並調用應用服務。
  1. kevin.CrawlingService
  • 功能:基於 Selenium 的爬蟲服務或自動化測試。
  • 説明:用於模擬瀏覽器行為進行數據採集或測試。
  1. Kevin.EntityFrameworkCore
  • 功能:基於 EFCore 的工作單元(UnitOfWork)實現。
  • 説明:提供統一的數據庫事務管理。
  1. kevin.Domain
  • 功能:領域服務層。
  • 説明:實現核心業務邏輯,是 DDD 的核心部分。
  1. kevin.Cache
  • 功能:基於 IDistributedCache 的緩存服務,支持多種緩存方式。
  • 説明:提供緩存策略和操作接口。
  1. kevin.Cap
  • 功能:基於 CAP 的分佈式事件總線。
  • 説明:用於微服務之間的消息通信和事件處理。
  1. kevin.Consul
  • 功能:微服務註冊與發現,使用 Consul 實現。
  • 説明:支持服務的動態發現和負載均衡。
  1. Kevin.Cors
  • 功能:跨域配置模塊。
  • 説明:提供自定義的跨域策略支持。
  1. kevin.DistributedLock
  • 功能:分佈式鎖。
  • 説明:用於在分佈式環境中控制資源訪問。
  1. kevin.Domain.EventBus
  • 功能:基於 MediatR 的領域事件實現。
  • 説明:用於處理業務邏輯中的事件發佈與訂閲。
  1. kevin.FileStorage
  • 功能:文件存儲服務,支持阿里雲、騰訊雲。
  • 説明:提供文件上傳、下載、管理等功能。
  1. Kevin.HttpApiClients
  • 功能:基於 IHttpClientFactory 的 HTTP 客户端。
  • 説明:支持 HTTP/2.0,用於調用外部 API。
  1. kevin.Ioc
  • 功能:IOC 容器模塊。
  • 説明:提供模塊化的依賴注入配置。
  1. Kevin.log4Net
  • 功能:日誌系統,基於 log4Net。
  • 説明:用於記錄系統運行日誌,便於調試和分析。
  1. kevin.Permission
  • 功能:權限服務,可根據 API 配置權限。
  • 説明:支持基於 API 的細粒度權限控制。
  1. Kevin.SignalR
  • 功能:SignalR 實時通信服務。
  • 説明:用於實時消息推送、在線狀態同步等。
  1. Kevin.SMS
  • 功能:短信服務,支持阿里雲、騰訊雲。
  • 説明:用於發送驗證碼、通知短信等。
  1. Kevin.AI 系列
  • 功能:AI 集成模塊,包括 SemanticKernel、MCP 服務、OCR 驗證碼識別等。
  • 説明:集成 AI 功能,如語義理解、驗證碼識別等。

🧰 技術亮點

技術點 説明

  • .NET 8 最新的 .NET 框架,性能更優,支持更多新特性
  • DDD 領域驅動設計,將複雜業務邏輯抽象為模塊化結構
  • 微服務架構 通過 Consul、CAP、Quartz 等實現服務解耦和分佈式管理
  • CAP 消息總線,用於跨服務事件通信
  • MediatR 領域事件處理
  • IdentityServer4 安全認證中心,支持 OAuth2 和 OpenID Connect
  • Quartz 定時任務調度
  • EF Core ORM 工具,用於數據庫操作
  • Docker 容器化部署,便於環境管理
  • AI 集成 SemanticKernel、MCP 服務、OCR 驗證碼識別等 AI 技術

📦 項目啓動與配置

  1. 配置 Redis 和數據庫
  • 項目啓動前需配置 Redis 和數據庫連接字符串。
  • 數據庫結構可通過腳本生成。
  1. Docker 配置
  • 項目支持 Docker 部署,Dockerfile 和配置文件已提供。
  1. JSON 配置
  • 項目使用 JSON 文件進行配置,包括緩存、短信、日誌、AI 等模塊。

🧠 AI 集成説明

AI 模塊包括:

  • SemanticKernel:語義理解框架,支持自然語言處理。
  • OCR 驗證碼識別:通過 AI 技術識別驗證碼圖像。
  • MCP 服務:用於 AI 服務通信或協議擴展。

📝 總結

NetCoreKevin 是一個非常完整的微服務架構項目,結合了 DDD、CAP、Quartz、EFCore 等多種技術,並集成了 AI、OCR、短信、文件存儲等實用功能。其模塊化設計使得每個功能都可以獨立引用,非常適合大型企業級應用的開發。

基礎API

NetCoreKevin-DDD-微服務-現代化Saas企業級-WebAPI-前後端分離架構_#vue_13