├── .gitattributes ├── .github └── workflows │ └── dotnet.yml ├── .gitignore ├── MinimalApiArchitecture.sln ├── README.md ├── src ├── Angular │ └── ClientApp │ │ └── src │ │ └── app │ │ └── web-api-client.ts ├── Api │ ├── Api.cs │ ├── Api.csproj │ ├── DependencyConfig.cs │ ├── Extensions │ │ └── WebApplicationBuilderExtensions.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.json │ ├── nswag.json │ └── wwwroot │ │ └── api │ │ └── specification.json ├── Application │ ├── Application.cs │ ├── Application.csproj │ ├── Common │ │ └── Behaviours │ │ │ ├── LoggingBehaviour.cs │ │ │ └── TransactionBehaviour.cs │ ├── DependencyConfig.cs │ ├── Domain │ │ ├── DomainEvent.cs │ │ ├── Entities │ │ │ ├── Category.cs │ │ │ └── Product.cs │ │ └── Events │ │ │ └── ProductUpdatePriceEvent.cs │ ├── Features │ │ ├── Categories │ │ │ └── Queries │ │ │ │ └── GetCategories.cs │ │ └── Products │ │ │ ├── Commands │ │ │ ├── CreateProduct.cs │ │ │ ├── DeleteProduct.cs │ │ │ └── UpdateProduct.cs │ │ │ ├── EventHandlers │ │ │ └── PriceChangedEventHandler.cs │ │ │ └── Queries │ │ │ └── GetProducts.cs │ ├── Helpers │ │ └── AppConstants.cs │ └── Infrastructure │ │ └── Persistence │ │ ├── ApiDbContext.cs │ │ ├── Configurations │ │ └── ProductConfiguration.cs │ │ └── Migrations │ │ ├── 20211106205642_FirstMigration.Designer.cs │ │ ├── 20211106205642_FirstMigration.cs │ │ ├── 20211108200956_AddedCategory.Designer.cs │ │ ├── 20211108200956_AddedCategory.cs │ │ └── ApiDbContextModelSnapshot.cs └── Blazor │ └── Services │ └── ApiClient.cs └── tests ├── Api.IntegrationTests ├── Api.IntegrationTests.csproj ├── ApiWebApplication.cs ├── Features │ └── ProductsModuleTests.cs └── TestBase.cs └── Application.Unit.Tests ├── Application.Unit.Tests.csproj ├── DbContextInMemoryFactory.cs ├── Domain └── Entities │ └── ProductTests.cs ├── Features └── Products │ └── EventHandlers │ └── PriceChangedEventHandlerTests.cs └── TestBase.cs /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/workflows/dotnet.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/.github/workflows/dotnet.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/.gitignore -------------------------------------------------------------------------------- /MinimalApiArchitecture.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/MinimalApiArchitecture.sln -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/README.md -------------------------------------------------------------------------------- /src/Angular/ClientApp/src/app/web-api-client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Angular/ClientApp/src/app/web-api-client.ts -------------------------------------------------------------------------------- /src/Api/Api.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Api/Api.cs -------------------------------------------------------------------------------- /src/Api/Api.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Api/Api.csproj -------------------------------------------------------------------------------- /src/Api/DependencyConfig.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Api/DependencyConfig.cs -------------------------------------------------------------------------------- /src/Api/Extensions/WebApplicationBuilderExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Api/Extensions/WebApplicationBuilderExtensions.cs -------------------------------------------------------------------------------- /src/Api/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Api/Program.cs -------------------------------------------------------------------------------- /src/Api/Properties/launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Api/Properties/launchSettings.json -------------------------------------------------------------------------------- /src/Api/appsettings.Development.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Api/appsettings.Development.json -------------------------------------------------------------------------------- /src/Api/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Api/appsettings.json -------------------------------------------------------------------------------- /src/Api/nswag.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Api/nswag.json -------------------------------------------------------------------------------- /src/Api/wwwroot/api/specification.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Api/wwwroot/api/specification.json -------------------------------------------------------------------------------- /src/Application/Application.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Application.cs -------------------------------------------------------------------------------- /src/Application/Application.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Application.csproj -------------------------------------------------------------------------------- /src/Application/Common/Behaviours/LoggingBehaviour.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Common/Behaviours/LoggingBehaviour.cs -------------------------------------------------------------------------------- /src/Application/Common/Behaviours/TransactionBehaviour.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Common/Behaviours/TransactionBehaviour.cs -------------------------------------------------------------------------------- /src/Application/DependencyConfig.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/DependencyConfig.cs -------------------------------------------------------------------------------- /src/Application/Domain/DomainEvent.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Domain/DomainEvent.cs -------------------------------------------------------------------------------- /src/Application/Domain/Entities/Category.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Domain/Entities/Category.cs -------------------------------------------------------------------------------- /src/Application/Domain/Entities/Product.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Domain/Entities/Product.cs -------------------------------------------------------------------------------- /src/Application/Domain/Events/ProductUpdatePriceEvent.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Domain/Events/ProductUpdatePriceEvent.cs -------------------------------------------------------------------------------- /src/Application/Features/Categories/Queries/GetCategories.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Features/Categories/Queries/GetCategories.cs -------------------------------------------------------------------------------- /src/Application/Features/Products/Commands/CreateProduct.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Features/Products/Commands/CreateProduct.cs -------------------------------------------------------------------------------- /src/Application/Features/Products/Commands/DeleteProduct.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Features/Products/Commands/DeleteProduct.cs -------------------------------------------------------------------------------- /src/Application/Features/Products/Commands/UpdateProduct.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Features/Products/Commands/UpdateProduct.cs -------------------------------------------------------------------------------- /src/Application/Features/Products/EventHandlers/PriceChangedEventHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Features/Products/EventHandlers/PriceChangedEventHandler.cs -------------------------------------------------------------------------------- /src/Application/Features/Products/Queries/GetProducts.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Features/Products/Queries/GetProducts.cs -------------------------------------------------------------------------------- /src/Application/Helpers/AppConstants.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Helpers/AppConstants.cs -------------------------------------------------------------------------------- /src/Application/Infrastructure/Persistence/ApiDbContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Infrastructure/Persistence/ApiDbContext.cs -------------------------------------------------------------------------------- /src/Application/Infrastructure/Persistence/Configurations/ProductConfiguration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Infrastructure/Persistence/Configurations/ProductConfiguration.cs -------------------------------------------------------------------------------- /src/Application/Infrastructure/Persistence/Migrations/20211106205642_FirstMigration.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Infrastructure/Persistence/Migrations/20211106205642_FirstMigration.Designer.cs -------------------------------------------------------------------------------- /src/Application/Infrastructure/Persistence/Migrations/20211106205642_FirstMigration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Infrastructure/Persistence/Migrations/20211106205642_FirstMigration.cs -------------------------------------------------------------------------------- /src/Application/Infrastructure/Persistence/Migrations/20211108200956_AddedCategory.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Infrastructure/Persistence/Migrations/20211108200956_AddedCategory.Designer.cs -------------------------------------------------------------------------------- /src/Application/Infrastructure/Persistence/Migrations/20211108200956_AddedCategory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Infrastructure/Persistence/Migrations/20211108200956_AddedCategory.cs -------------------------------------------------------------------------------- /src/Application/Infrastructure/Persistence/Migrations/ApiDbContextModelSnapshot.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Application/Infrastructure/Persistence/Migrations/ApiDbContextModelSnapshot.cs -------------------------------------------------------------------------------- /src/Blazor/Services/ApiClient.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/src/Blazor/Services/ApiClient.cs -------------------------------------------------------------------------------- /tests/Api.IntegrationTests/Api.IntegrationTests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/tests/Api.IntegrationTests/Api.IntegrationTests.csproj -------------------------------------------------------------------------------- /tests/Api.IntegrationTests/ApiWebApplication.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/tests/Api.IntegrationTests/ApiWebApplication.cs -------------------------------------------------------------------------------- /tests/Api.IntegrationTests/Features/ProductsModuleTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/tests/Api.IntegrationTests/Features/ProductsModuleTests.cs -------------------------------------------------------------------------------- /tests/Api.IntegrationTests/TestBase.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/tests/Api.IntegrationTests/TestBase.cs -------------------------------------------------------------------------------- /tests/Application.Unit.Tests/Application.Unit.Tests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/tests/Application.Unit.Tests/Application.Unit.Tests.csproj -------------------------------------------------------------------------------- /tests/Application.Unit.Tests/DbContextInMemoryFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/tests/Application.Unit.Tests/DbContextInMemoryFactory.cs -------------------------------------------------------------------------------- /tests/Application.Unit.Tests/Domain/Entities/ProductTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/tests/Application.Unit.Tests/Domain/Entities/ProductTests.cs -------------------------------------------------------------------------------- /tests/Application.Unit.Tests/Features/Products/EventHandlers/PriceChangedEventHandlerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/tests/Application.Unit.Tests/Features/Products/EventHandlers/PriceChangedEventHandlerTests.cs -------------------------------------------------------------------------------- /tests/Application.Unit.Tests/TestBase.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isaacOjeda/MinimalApiArchitecture/HEAD/tests/Application.Unit.Tests/TestBase.cs --------------------------------------------------------------------------------