Vsa.Architecture.Template 1.0.0

dotnet new install Vsa.Architecture.Template::1.0.0                
This package contains a .NET Template Package you can call from the shell/command line.

Custom Vertical Slice Architecture in .NET 8

This project is a blend of both Clean Archtecture and Vertical Slice Architecture.

Clean Architecture

Clean Architecture is a software design philosophy and architectural approach that is easy to maintain, test and adapt over time. The Core business logic should not depend on external frameworks, tools, or UI implementations rather all should depends of Core.

Vertical Slice Architecture (VSA)

Vertical Slice Architecture is a software design approach that focuses on structuring a system around "vertical slices" of functionality rather than traditional horizontal layers like presentation, business logic, and data access. Each slice represents a complete feature or use case, encompassing all layers required to deliver that functionality.

Purpose of this Custome Architecture

Both Clean and VSA archteicture have some cons over their huge pros. I tried to blend both and leveraging the positive features to come up with a solution which is easy to maintain as well as quick to develop. One of the geart feature of VSA is, it organizes codebase around business goals rather than technical concerns which is maintaied here.

Give it a START ⭐

Loving this repository? Show your support by giving this project a star!

GitHub stars

Patterns Used

  • Mediator
  • CQRS
  • Generic Repository

Technologies Used

  • .NET 8 Web API (minimal API)
  • MediatR
  • Entity Framework Core
  • Fluent Validation
  • Mapster
  • Serilog
  • Asp.Versioning
  • Carter
  • Jwt Token Authorization
  • Swagger

Project Breakdown

API

This projects exposes the endpoints for consuming. It has all startup services registered.

Application

This is the main project which contains the business logic. It facilitates the VSA archtecture for each features. Check "Features" folder.

Domain

This projects contains business specific domain entities.

Infrastructure

This is the persistent infrastructure project contains the data Add, Update, Delete and GET functionality through Entity Framework as ORM.

Inspired By

License

This project is under MIT License

  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0 94 12/14/2024