ContainerNinja.CleanArchitecture

其他类别 2025-08-20

这个项目是关于什么的?

ContainNInja是一个样板模板项目,可展示使用ASP.NET Core(.NET 6)Web API构建多包装完整的堆栈应用程序,并在干净的体系结构之后和Angular构建。该解决方案使用Docker组合来编排整个堆栈到Docker的部署。

解决方案提供了什么?

该解决方案构建,请记住API为建立可扩展且近乎完美的API组件所必须拥有的最基本块。该解决方案提供了以下完整实施:

  • 与API,核心,合同,下文和迁移的分离层的清洁架构
  • 带有通用存储库的单位工程
  • 实体框架核心迁移使用SQLITE
  • CQRS之后的实体完全crud,带有分离命令和查询
  • 命令类中输入的流利验证
  • 预配置的Swagger UI
  • API侧的ETAG生成和验证响应缓存(GET)和碰撞检测(PUT)
  • 准备与Dockerfiles一起使用Docker配置
  • 通过iMemorycache为单个实体的内存中缓存
  • 通过IdistributedCache分布式缓存实现,并带有NCACHE
  • JWT令牌API用于生成和配置JWT验证
  • 基于角色的授权,具有预定义的角色
  • 用户跟踪的审核实体
  • 在Angular中完整的客户实施实体CRUD和代币管理
  • 带有分离的招摇文档的API版本控制
  • 实体到DTO转换的自动应用程序实施
  • 与Docker组成的Docker中的一个命令部署
  • Ilogger日志记录实现
  • 使用单个用户的数据库播种,并在应用程序启动时添加角色

使用的技术

  • ASP.NET Core(.NET 6)Web API
  • 实体框架核心(EFCORE 6)
  • .NET 6的MediaTR
  • .NET 6的流利验证
  • sqlite
  • Swaggerui
  • 汽车应用程序
  • Angular 13(客户)
  • Bootstrap 4(CSS框架)
  • nginx(代理)
  • Docker组成

我如何开始Docker撰写?

要开始,请按照以下步骤:

  1. 安装.NET 6 SDK
  2. 安装最新的nodejs
  3. 安装Docker桌面(用于Windows) / Docker(用于Linux / Mac)
  4. 克隆解决方案到您的本地目录
  5. 在存储库根上您可以找到docker-compose.yml文件
  6. 运行以下命令以在Docker中构建和运行解决方案(需要一个工作的Docker安装)
 > docker-compose build --force-rm --no-cache && docker-compose up
  1. 一旦容器开始成功导航到http:// localhost

我不喜欢Docker。我如何开始?

您也可以在没有Docker的情况下运行解决方案,然后遵循以下步骤:

  1. 安装.NET 6 SDK
  2. 安装最新的nodejs
  3. 克隆解决方案到您的本地目录
  4. 导航到API目录(./api)并运行以下命令以使API运行:
 > dotnet run --project ./ContainerNinja.API
  1. 导航到客户端目录(./client)并运行以下命令以使Angular应用程序运行:
 > npm install && npm start
  1. 打开浏览器,导航到http:// localhost:4200,您都设置了!

默认用户:

作为种子的一部分,该解决方案将默认用户添加到数据库中。您可以使用以下凭据来登录并开始添加项目。

 EmailAddress: admin@admin.com; Password: admin

什么是Docker撰写?

Docker-Compose是一个配置文件,其中包含有关Docker的指令,涉及如何从相应的Dockerfiles构建服务。虽然Dockerfile旨在通过基本图像和说明来创建和自定义应用程序容器,但Docker-Compose文件在Dockerfile之上起作用,并帮助开发人员在运行具有复杂运行时规格(例如端口,卷)等的Docker容器中运行。

阅读更多:将完整的堆栈应用程序与Docker组成

问题还是想法?

如果您遇到任何问题或想放弃建议,

执照

该解决方案是完全开源的,并获得了MIT许可证的许可。

表示您的支持

我真的希望这种解决方案可以帮助开发人员开始使用ASP.NET Core(.NET 6)Web API构建出色的东西,并真正快速进入集装箱开发的世界。

发现该解决方案有用且有用吗?您可以做到这一点,以帮助吸引更多的受众。

  1. 在此存储库上留下一颗星星
  2. 向您的同事和开发社区推荐此解决方案
  3. 加入我的Twitter家庭。我经常在那里的开发人员上发布很棒的内容。
  4. 加入我的Facebook社区。我也经常在那儿发布有趣的内容。
  5. 您也可以给我买一杯优质的咖啡☕!

有关更详细的文章和操作指南,请访问https://refe*rb*ruv*.com

下载源码

通过命令行克隆项目:

git clone https://github.com/referbruv/ContainerNinja.CleanArchitecture.git