This project is an experimental full-stack application I use to combine several cutting-edge technologies and architectural patterns. Thanks for getting here! please give a ⭐ if you liked the project. It motivates me to keep improving it.




├── Core
├── Core.Infrastructure
│
├── Crosscutting
│ ├── ApiGateway
│ └── IdentityServer
│
├── Services
│ ├── CustomerManagement
│ ├── InventoryManagement
│ ├── OrderProcessing
│ ├── PaymentProcessing
│ ├── ProductCatalog
| | └─ EcommerceDDD.ProductCatalog
│ │ ├── API
│ │ ├── Application
│ │ ├── Domain
│ │ └── Infrastructure
│ ├── QuoteManagement
│ └── ShipmentProcessing
│
├── SPA
└── docker-compose
-
Core
It defines the building blocks and abstractions used on all underlying projects. Its nature is very abstract, with no implementations. -
Core.Infrastructure
It holds some abstractions and implementation for infrastructure to be used by all microservices and underlying dependencies.
-
ASP.NET Core API and C# 12
for cross-platform backend with:
- .NET 8
- Entity Framework Core 8.0.0
- Postgres for Entity Framework Core 8.0.0
- ASP.NET Core Identity 8.0.0
- ASP.NET Core Authentication JwtBearer 8.0.0
- MediatR 12.2.0
- Fluent Assertions 6.12.0
- XUnit 2.6.5
- Swagger 6.5.0
-
Angular 17 and TypeScript 5.2.0 for the frontend with:
- NgBootstrap 16.0.0/ Bootstrap 5.2.3
- Font Awesome 6.4.
- Toastr 17.0.2
The project was designed to be easily run within docker containers, hence all you need is 1 command line to up everything. Make sure you have Docker
installed and have fun!
- Download Docker: Docker Desktop with support for WLS 2
Using a terminal, run:
$ docker-compose up
You can also set the docker-compose.dcproj
as a Startup project on Visual Studio if you want to run it while debugging.