├── .gitignore ├── .template.config └── template.json ├── Dotnet.Onion.Template.sln ├── README.md ├── docs ├── ARCHITECTURE.md ├── CQRS-ES.md ├── DDD.md ├── HEXAGONAL.md └── SOLID.md ├── images ├── dotnet-onion-ddd-cqrs-es.jpg ├── installation.jpg └── logo.jpg ├── src ├── Dockerfile ├── Dotnet.Onion.Template.API │ ├── .dockerignore │ ├── Config │ │ ├── appsettings-dev.json │ │ ├── appsettings-int.json │ │ ├── appsettings-prod.json │ │ └── appsettings-stag.json │ ├── Controllers │ │ └── TasksController.cs │ ├── Dotnet.Onion.Template.API.csproj │ ├── Extensions │ │ └── Middleware │ │ │ ├── ErrorDetails.cs │ │ │ └── ExceptionMiddleware.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ └── Startup.cs ├── Dotnet.Onion.Template.Application │ ├── Dotnet.Onion.Template.Application.csproj │ ├── Handlers │ │ ├── TaskCommandHandler.cs │ │ └── TaskEventHandler.cs │ ├── Mappers │ │ └── TaskViewModelMapper.cs │ ├── Services │ │ ├── ITaskService.cs │ │ └── TaskService.cs │ └── ViewModels │ │ └── TaskViewModel.cs ├── Dotnet.Onion.Template.Domain │ ├── Dotnet.Onion.Template.Domain.csproj │ ├── IAggregateRoot.cs │ ├── IRepository.cs │ └── Tasks │ │ ├── Commands │ │ ├── CreateNewTaskCommand.cs │ │ ├── DeleteTaskCommand.cs │ │ └── TaskCommand.cs │ │ ├── Events │ │ ├── TaskCreatedEvent.cs │ │ ├── TaskDeletedEvent.cs │ │ └── TaskEvent.cs │ │ ├── ITaskFactory.cs │ │ ├── ITaskRepository.cs │ │ ├── Task.cs │ │ └── ValueObjects │ │ ├── Description.cs │ │ ├── Summary.cs │ │ └── TaskId.cs └── Dotnet.Onion.Template.Infrastructure │ ├── Dotnet.Onion.Template.Infrastructure.csproj │ ├── Factories │ ├── EntityFactory.cs │ └── TaskFactory.cs │ └── Repositories │ └── TaskRepository.cs └── tests └── Dotnet.Onion.Template.Tests ├── Dotnet.Onion.Template.Tests.csproj └── UnitTests ├── Application └── Services │ └── TaskServiceTests.cs └── Helpers ├── HttpContextHelper.cs ├── TaskHelper.cs └── TaskViewModelHelper.cs /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/.gitignore -------------------------------------------------------------------------------- /.template.config/template.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/.template.config/template.json -------------------------------------------------------------------------------- /Dotnet.Onion.Template.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/Dotnet.Onion.Template.sln -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/README.md -------------------------------------------------------------------------------- /docs/ARCHITECTURE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/docs/ARCHITECTURE.md -------------------------------------------------------------------------------- /docs/CQRS-ES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/docs/CQRS-ES.md -------------------------------------------------------------------------------- /docs/DDD.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/docs/DDD.md -------------------------------------------------------------------------------- /docs/HEXAGONAL.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/docs/HEXAGONAL.md -------------------------------------------------------------------------------- /docs/SOLID.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/docs/SOLID.md -------------------------------------------------------------------------------- /images/dotnet-onion-ddd-cqrs-es.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/images/dotnet-onion-ddd-cqrs-es.jpg -------------------------------------------------------------------------------- /images/installation.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/images/installation.jpg -------------------------------------------------------------------------------- /images/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/images/logo.jpg -------------------------------------------------------------------------------- /src/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dockerfile -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.API/.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.API/.dockerignore -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.API/Config/appsettings-dev.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.API/Config/appsettings-dev.json -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.API/Config/appsettings-int.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.API/Config/appsettings-int.json -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.API/Config/appsettings-prod.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.API/Config/appsettings-prod.json -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.API/Config/appsettings-stag.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.API/Config/appsettings-stag.json -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.API/Controllers/TasksController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.API/Controllers/TasksController.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.API/Dotnet.Onion.Template.API.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.API/Dotnet.Onion.Template.API.csproj -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.API/Extensions/Middleware/ErrorDetails.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.API/Extensions/Middleware/ErrorDetails.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.API/Extensions/Middleware/ExceptionMiddleware.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.API/Extensions/Middleware/ExceptionMiddleware.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.API/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.API/Program.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.API/Properties/launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.API/Properties/launchSettings.json -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.API/Startup.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.API/Startup.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Application/Dotnet.Onion.Template.Application.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Application/Dotnet.Onion.Template.Application.csproj -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Application/Handlers/TaskCommandHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Application/Handlers/TaskCommandHandler.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Application/Handlers/TaskEventHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Application/Handlers/TaskEventHandler.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Application/Mappers/TaskViewModelMapper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Application/Mappers/TaskViewModelMapper.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Application/Services/ITaskService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Application/Services/ITaskService.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Application/Services/TaskService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Application/Services/TaskService.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Application/ViewModels/TaskViewModel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Application/ViewModels/TaskViewModel.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Domain/Dotnet.Onion.Template.Domain.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Domain/Dotnet.Onion.Template.Domain.csproj -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Domain/IAggregateRoot.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Domain/IAggregateRoot.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Domain/IRepository.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Domain/IRepository.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Domain/Tasks/Commands/CreateNewTaskCommand.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Domain/Tasks/Commands/CreateNewTaskCommand.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Domain/Tasks/Commands/DeleteTaskCommand.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Domain/Tasks/Commands/DeleteTaskCommand.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Domain/Tasks/Commands/TaskCommand.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Domain/Tasks/Commands/TaskCommand.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Domain/Tasks/Events/TaskCreatedEvent.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Domain/Tasks/Events/TaskCreatedEvent.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Domain/Tasks/Events/TaskDeletedEvent.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Domain/Tasks/Events/TaskDeletedEvent.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Domain/Tasks/Events/TaskEvent.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Domain/Tasks/Events/TaskEvent.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Domain/Tasks/ITaskFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Domain/Tasks/ITaskFactory.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Domain/Tasks/ITaskRepository.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Domain/Tasks/ITaskRepository.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Domain/Tasks/Task.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Domain/Tasks/Task.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Domain/Tasks/ValueObjects/Description.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Domain/Tasks/ValueObjects/Description.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Domain/Tasks/ValueObjects/Summary.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Domain/Tasks/ValueObjects/Summary.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Domain/Tasks/ValueObjects/TaskId.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Domain/Tasks/ValueObjects/TaskId.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Infrastructure/Dotnet.Onion.Template.Infrastructure.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Infrastructure/Dotnet.Onion.Template.Infrastructure.csproj -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Infrastructure/Factories/EntityFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Infrastructure/Factories/EntityFactory.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Infrastructure/Factories/TaskFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Infrastructure/Factories/TaskFactory.cs -------------------------------------------------------------------------------- /src/Dotnet.Onion.Template.Infrastructure/Repositories/TaskRepository.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/src/Dotnet.Onion.Template.Infrastructure/Repositories/TaskRepository.cs -------------------------------------------------------------------------------- /tests/Dotnet.Onion.Template.Tests/Dotnet.Onion.Template.Tests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/tests/Dotnet.Onion.Template.Tests/Dotnet.Onion.Template.Tests.csproj -------------------------------------------------------------------------------- /tests/Dotnet.Onion.Template.Tests/UnitTests/Application/Services/TaskServiceTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/tests/Dotnet.Onion.Template.Tests/UnitTests/Application/Services/TaskServiceTests.cs -------------------------------------------------------------------------------- /tests/Dotnet.Onion.Template.Tests/UnitTests/Helpers/HttpContextHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/tests/Dotnet.Onion.Template.Tests/UnitTests/Helpers/HttpContextHelper.cs -------------------------------------------------------------------------------- /tests/Dotnet.Onion.Template.Tests/UnitTests/Helpers/TaskHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/tests/Dotnet.Onion.Template.Tests/UnitTests/Helpers/TaskHelper.cs -------------------------------------------------------------------------------- /tests/Dotnet.Onion.Template.Tests/UnitTests/Helpers/TaskViewModelHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pereiren/dotnet-template-onion/HEAD/tests/Dotnet.Onion.Template.Tests/UnitTests/Helpers/TaskViewModelHelper.cs --------------------------------------------------------------------------------