欢迎来到电子商务DDD
该项目是我用来结合几种尖端技术和建筑模式的实验全栈应用程序。感谢您到达这里!如果您喜欢该项目,请给出一个。它促使我不断提高它。
建筑学
高级系统体系结构
详细的体系结构
EcommerceDDD.ProductCatalog
│ │ ├── API
│ │ ├── Application
│ │ ├── Domain
│ │ └── Infrastructure
│ ├── QuoteManagement
│ └── ShipmentProcessing
│
├── SPA
└── docker-compose\”>
├── Core ├── Core.Infrastructure │ ├── Crosscutting │ ├── ServiceClients │ ├── ApiGateway │ ├── SignalR │ └── IdentityServer │ ├── Services │ ├── CustomerManagement │ ├── InventoryManagement │ ├── OrderProcessing │ ├── PaymentProcessing │ ├── ProductCatalog | | └─ EcommerceDDD .ProductCatalog │ │ ├── API │ │ ├── Application │ │ ├── Domain │ │ └── Infrastructure │ ├── QuoteManagement │ └── ShipmentProcessing │ ├── SPA └── docker-compose
-
核
它定义了所有基础项目的构建块和抽象。它的性质非常抽象,没有实现。 -
核心
它具有一些抽象和实施,用于所有微服务和基础依赖性使用的基础架构。 -
横切
它包含跨切割所有微服务的项目实现,例如IdentityServer和API网关。 -
服务
组成后端的微服务是尽可能简单的,结构为具有API,应用程序,域和基础结构的垂直切片结构。EcommerceDDD.ProductCatalog
│ ├── API
│ ├── Application
│ ├── Domain
│ └── Infrastructure\”>├── EcommerceDDD .ProductCatalog │ ├── API │ ├── Application │ ├── Domain │ └── Infrastructure
-
API
用于启用客户端和服务器之间的通信的RESTFUL API。 -
应用
它策划了外部世界与域之间的交互,以通过处理命令和查询来通过用例执行应用程序任务。 -
领域
通过聚合,命令,值对象,域服务,存储库定义和域事件的结构化实现。 -
基础设施
它是上层层的支持库,处理基础结构问题,例如通过实施存储库,数据库映射和外部集成等基础结构问题。 -
水疗中心(单页应用程序)
轻巧的基于角度的水疗中心,可提供功能性和用户友好的UI。
-
使用的技术
- ASP.NET Core API和C#12用于跨平台后端:
- .NET 8
- koalesce.openapi 0.1.1-alpha.2
- Ocelot 23.4.3
- Marten 7.40.0
- Confluent Kafka 2.10.0
- 实体框架核心8.0.15
- npgsql.entityframeworkcore.postgresql 8.0.11
- ASP.NET核心身份8.0.15
- ASP.NET核心身份验证JWTBEARER 8.0.15
- Duende IdentityServer 7.2.1
- 波莉8.5.2
- Xunit 2.9.3
- Nsubstitute 5.3.0
- Swaggergen/Swaggerui 8.1.1
- Microsoft.Kiota。* 1.17.2
- Angular v19.2.7和Typescript 5.5.4,用于前端:
- Kiota 1.0.2
- 开玩笑29.7.0
- ngbootstrap 18.0.0/ bootstrap 5.3.5
- 字体很棒6.7.2
- Toastr 19.0.0
您需要运行什么
使用Docker运行微服务
该项目旨在轻松地在Docker容器中运行,因此您需要的只是1个命令行来提高所有内容。确保您已经安装了Docker并玩得开心!
- 下载Docker:Docker桌面,并支持WLS 2
使用终端,运行:
$ docker-compose up
如果您想在调试时运行它,也可以将Docker-compose.dcproj设置为Visual Studio上的启动项目。
运行Angular Spa
使用终端,导航到EcommerceDDD .SPA并运行以下命令,分别在http:// localhost:4200:在http:// localhost上提供水疗中心:
$ npm install $ ng serve
