/NetAdmin

通用后台权限管理系统、快速开发框架(基于C#12/.NET8、Vue3/Vite、Element Plus等现代技术构建,具有十分整洁、优雅的编码规范)

Primary LanguageVueMIT LicenseMIT

NetAdmin

通用后台权限管理系统、快速开发框架(基于C#12/.NET8、Vue3/Vite、Element Plus等现代技术构建,具有十分整洁、优雅的编码规范)

.NET MIT Furion FreeSql

在线预览

http://na.yaopy.com (演示站点仅300kbps带宽,访问较慢)

一键运行

docker run -p 8080:8080 nsnail/netadmin

构建步骤

  • 后端
    1. 检查dotnet-sdk版本>=8.0.0
    dotnet --list-sdks
    
    # 下载 dotnet https://dotnet.microsoft.com/zh-cn/download/dotnet
    1. 克隆代码仓库
    git clone https://github.com/nsnail/NetAdmin.git
    cd ./NetAdmin
    
    # 下载 git https://git-scm.com/downloads
    1. 确保本机redis处于运行状态
    redis-cli
    
    # 下载 redis for windows https://github.com/redis-windows/redis-windows/releases
    # 下载 redis for linux/mac https://redis.io/download
    1. 运行后端WebApi
    dotnet run --project ./src/backend/NetAdmin.BizServer.Host/NetAdmin.BizServer.Host.csproj --urls http://[::]:5010 -is
    1. 体验WebApi程序

  • 前端
    1. 检查nodejs版本>=20
    node -v
    
    # 下载 nodejs https://nodejs.org/en/download
    1. 安装npm依赖包
    cd ./src/frontend/admin
    npm install
    1. 运行前端项目
    npm run dev
    1. 体验前端程序
      • 浏览器打开 http://localhost:5020 ,将看到管理界面(默认用户名:root,密码:1234qwer)

文件目录树

+---.template.config         # dotnet 项目模板配置目录
+---assets                   # 程序运行需要的资源文件目录
+---dist                     # 程序编译与分发的二进制文件目录
+---docs                     # 项目文档目录
+---refs                     # 引用的第三方项目仓库目录
+---src                      # 项目源文件目录

后端项目架构

flowchart TD
H["NetAdmin.Host\n公共主机层\n(.Net自托管主机程序)\n(输入输出格式化)\n(数据校验、鉴权)\n(...所有HTTP管道过滤器中间件)"] --> C["NetAdmin.Cache\n公共缓存层\n(基于Redis或MemoryCache的缓存策略实现)"]
C --> A["NetAdmin.Application\n公共业务逻辑层\n(内部服务增删改查)\n(外部服务增删改查)\n(...所有业务用例的计算与组合逻辑的模块化)"]
A --> D["NetAdmin.Domain\n数据实体层\n(数据库关系实体映射)\n(DTO数据传输对象)\n(...所有数据模型的抽象与封装)"]
D --> I["NetAdmin.Infrastructure\n基础设施层\n(第三方组件和Nuget包引用)\n(公共构建和程序运行配置)\n(公共常量枚举异常定义)\n(全球化化和多语言)\n(...所有公共Utility工具)"]

XH["NetAdmin.XXX.Host\n(WebApi)"]-->H
XS["NetAdmin.XXXService\n(常驻内存服务)"]-->H
XS["NetAdmin.XXXService\n(常驻内存服务)"]-->XC
XC["NetAdmin.XXX.Cache\n(缓存层实例)"]-->C
XA["NetAdmin.XXX.Application\n(业务逻辑层实例)"]-->A

XH-->XC
XC-->XA
Loading

引用的开源代码 / 特别鸣谢

语言 集成领域 开源库
C# Web基础框架 ASP.NET Core
C# 快速开发脚手架 Furion
C# 数据库关系映射 FreeSql
C# 代码质量检查 Roslynator.Analyzers | SonarAnalyzer.CSharp | StyleCop.Analyzers
C# 单元测试框架 xunit | coverlet.collector
C# 分布式锁 RedLock.net
C# 控制台终端界面库 Spectre.Console
C# 扩展函数库 NSExt
C# 图形处理库 SixLabors.ImageSharp
C# 文件对象存储 Minio
C# 性能监控采集 prometheus-net.AspNetCore
C# 雪花ID生成器 Yitter.IdGenerator
C# 自动化版本管理 MinVer
C# JavaScript引擎 MsieJavaScriptEngine
C# WebApi图形界面 IGeekFan.AspNetCore.Knife4jUI
TypeScript SPA基础框架 Vue
TypeScript 前端构建工具 Vite
TypeScript UI控件库 Element Plus
TypeScript CSS解析器 Sass
TypeScript 图表和数据可视化 ECharts
JavaScript 后台管理界面 SCUI
JavaScript HTTP请求库 Axios
JavaScript JavaScript解析器 Terser
JavaScript 代码质量检查 ESLint
JavaScript 代码格式化工具 Prettier
JavaScript 标准加密库 crypto-js