├── .editorconfig ├── .gitattributes ├── .github └── workflows │ ├── codeql-analysis.yml │ ├── delete-workflow-runs.yml │ ├── devskim-analysis.yml │ └── dotnet.yml ├── .gitignore ├── Blog.sln ├── Directory.Build.props ├── LICENSE ├── README.md ├── global.json ├── img └── vertical-slice.png ├── nuget.config ├── src └── Blog.PublicAPI │ ├── Blog.PublicAPI.csproj │ ├── Data │ ├── BlogDbContext.cs │ ├── Configurations │ │ ├── AuthorConfiguration.cs │ │ ├── PostConfiguration.cs │ │ ├── TagConfiguration.cs │ │ └── UserConfiguration.cs │ └── Extensions │ │ └── ModelBuilderExtensions.cs │ ├── Domain │ ├── IAggregateRoot.cs │ ├── IEntity.cs │ ├── PostAggregate │ │ ├── Author.cs │ │ ├── Post.cs │ │ └── Tag.cs │ └── UserAggregate │ │ ├── User.cs │ │ └── UserState.cs │ ├── Extensions │ ├── ServiceCollectionExtensions.cs │ └── StringExtensions.cs │ ├── Features │ ├── Abstractions │ │ └── IFeatureMarker.cs │ ├── Authentication │ │ ├── AuthenticationController.cs │ │ ├── AuthenticationRequest.cs │ │ ├── AuthenticationRequestHandler.cs │ │ ├── AuthenticationRequestValidator.cs │ │ └── TokenResponse.cs │ ├── Posts │ │ ├── CreatePostRequest.cs │ │ ├── CreatePostRequestHandler.cs │ │ ├── CreatePostRequestValidator.cs │ │ ├── GetPostByIdRequest.cs │ │ ├── GetPostByIdRequestHandler.cs │ │ ├── PostMapperProfile.cs │ │ ├── PostResponse.cs │ │ └── PostsController.cs │ └── Users │ │ ├── CreateUserRequest.cs │ │ ├── CreateUserRequestHandler.cs │ │ ├── CreateUserRequestValidator.cs │ │ ├── UserMapperProfile.cs │ │ ├── UserResponse.cs │ │ └── UsersController.cs │ ├── Program.cs │ ├── Properties │ └── launchSettings.json │ ├── Shared │ └── JwtOptions.cs │ ├── appsettings.Development.json │ └── appsettings.json └── test └── Blog.PublicAPI.Tests ├── Blog.PublicAPI.Tests.csproj ├── IntegrationTests └── Features │ ├── Authentication │ └── AuthenticationControllerTests.cs │ └── Users │ └── UsersControllerTests.cs ├── UnitTests └── Extensions │ └── StringExtensionsTests.cs └── xunit.runner.json /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/.editorconfig -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/.github/workflows/codeql-analysis.yml -------------------------------------------------------------------------------- /.github/workflows/delete-workflow-runs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/.github/workflows/delete-workflow-runs.yml -------------------------------------------------------------------------------- /.github/workflows/devskim-analysis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/.github/workflows/devskim-analysis.yml -------------------------------------------------------------------------------- /.github/workflows/dotnet.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/.github/workflows/dotnet.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/.gitignore -------------------------------------------------------------------------------- /Blog.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/Blog.sln -------------------------------------------------------------------------------- /Directory.Build.props: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/Directory.Build.props -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/README.md -------------------------------------------------------------------------------- /global.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/global.json -------------------------------------------------------------------------------- /img/vertical-slice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/img/vertical-slice.png -------------------------------------------------------------------------------- /nuget.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/nuget.config -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Blog.PublicAPI.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Blog.PublicAPI.csproj -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Data/BlogDbContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Data/BlogDbContext.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Data/Configurations/AuthorConfiguration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Data/Configurations/AuthorConfiguration.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Data/Configurations/PostConfiguration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Data/Configurations/PostConfiguration.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Data/Configurations/TagConfiguration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Data/Configurations/TagConfiguration.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Data/Configurations/UserConfiguration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Data/Configurations/UserConfiguration.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Data/Extensions/ModelBuilderExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Data/Extensions/ModelBuilderExtensions.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Domain/IAggregateRoot.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Domain/IAggregateRoot.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Domain/IEntity.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Domain/IEntity.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Domain/PostAggregate/Author.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Domain/PostAggregate/Author.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Domain/PostAggregate/Post.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Domain/PostAggregate/Post.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Domain/PostAggregate/Tag.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Domain/PostAggregate/Tag.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Domain/UserAggregate/User.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Domain/UserAggregate/User.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Domain/UserAggregate/UserState.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Domain/UserAggregate/UserState.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Extensions/ServiceCollectionExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Extensions/ServiceCollectionExtensions.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Extensions/StringExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Extensions/StringExtensions.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Features/Abstractions/IFeatureMarker.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Features/Abstractions/IFeatureMarker.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Features/Authentication/AuthenticationController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Features/Authentication/AuthenticationController.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Features/Authentication/AuthenticationRequest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Features/Authentication/AuthenticationRequest.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Features/Authentication/AuthenticationRequestHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Features/Authentication/AuthenticationRequestHandler.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Features/Authentication/AuthenticationRequestValidator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Features/Authentication/AuthenticationRequestValidator.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Features/Authentication/TokenResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Features/Authentication/TokenResponse.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Features/Posts/CreatePostRequest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Features/Posts/CreatePostRequest.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Features/Posts/CreatePostRequestHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Features/Posts/CreatePostRequestHandler.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Features/Posts/CreatePostRequestValidator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Features/Posts/CreatePostRequestValidator.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Features/Posts/GetPostByIdRequest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Features/Posts/GetPostByIdRequest.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Features/Posts/GetPostByIdRequestHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Features/Posts/GetPostByIdRequestHandler.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Features/Posts/PostMapperProfile.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Features/Posts/PostMapperProfile.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Features/Posts/PostResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Features/Posts/PostResponse.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Features/Posts/PostsController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Features/Posts/PostsController.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Features/Users/CreateUserRequest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Features/Users/CreateUserRequest.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Features/Users/CreateUserRequestHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Features/Users/CreateUserRequestHandler.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Features/Users/CreateUserRequestValidator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Features/Users/CreateUserRequestValidator.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Features/Users/UserMapperProfile.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Features/Users/UserMapperProfile.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Features/Users/UserResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Features/Users/UserResponse.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Features/Users/UsersController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Features/Users/UsersController.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Program.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Properties/launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Properties/launchSettings.json -------------------------------------------------------------------------------- /src/Blog.PublicAPI/Shared/JwtOptions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/Shared/JwtOptions.cs -------------------------------------------------------------------------------- /src/Blog.PublicAPI/appsettings.Development.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/appsettings.Development.json -------------------------------------------------------------------------------- /src/Blog.PublicAPI/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/src/Blog.PublicAPI/appsettings.json -------------------------------------------------------------------------------- /test/Blog.PublicAPI.Tests/Blog.PublicAPI.Tests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/test/Blog.PublicAPI.Tests/Blog.PublicAPI.Tests.csproj -------------------------------------------------------------------------------- /test/Blog.PublicAPI.Tests/IntegrationTests/Features/Authentication/AuthenticationControllerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/test/Blog.PublicAPI.Tests/IntegrationTests/Features/Authentication/AuthenticationControllerTests.cs -------------------------------------------------------------------------------- /test/Blog.PublicAPI.Tests/IntegrationTests/Features/Users/UsersControllerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/test/Blog.PublicAPI.Tests/IntegrationTests/Features/Users/UsersControllerTests.cs -------------------------------------------------------------------------------- /test/Blog.PublicAPI.Tests/UnitTests/Extensions/StringExtensionsTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/test/Blog.PublicAPI.Tests/UnitTests/Extensions/StringExtensionsTests.cs -------------------------------------------------------------------------------- /test/Blog.PublicAPI.Tests/xunit.runner.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeangatto/ASP.NET-Core-Vertical-Slice-Architecture/HEAD/test/Blog.PublicAPI.Tests/xunit.runner.json --------------------------------------------------------------------------------