Skip to content

lgcmotta/tdc-vertical-slice-architecture

Repository files navigation

TDC Innovation 2023 - .NET Architecture

Our implementation of Vertical Slice Architecture in .NET

Coverage Maintainability Rating Quality Gate Status

Lecture co-hosts: @lgcmotta and @ffernandolima.

Vertical Slices Architecture 🍰

Banking App was designed to act as a simplistic implementation of a bank backend using the Vertical Slice Architecture.

architecture-diagram-overview

The microservices are organized into components (use cases), and each feature is an independent part of the system. A feature can never import code from some other component. This is designed to prevent side effects when the feature code changes. However, features can import general-purpose code.

Features can be either a Command or a Query, but never both. Although the output from a Query can be a Command.

The feature entrypoint is responsible to send the Command or request the Query data.

command-query-flow

Running Banking App 🏦

Requirements

  • .NET 7 SDK
  • Docker

Environment Setup 🐋

Start container dependencies with:

docker compose up -d

To have the Banking App full picture up and running you need to start the following projects:

  • ./src/Geteway/BankingApp.Gateway
  • ./src/Accounts/BankingApp.Accounts.API
  • ./src/Transactions/BankingApp.Transactions.API
  • ./src/Fees/BankingApp.Fees.API

You can use your IDE to launch these projects, or the dotnet run command.

Contribute 👋

Feel free to open an issue or a pull request.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published