Skip to content

Clean Architecture Microservices example of .Net Core

Notifications You must be signed in to change notification settings

sonetti/eShopping

 
 

Repository files navigation

.Net Core Microservices using Clean Architecture Implementation

Hi Friends,

Microservices are a design pattern in which applications are composed of independent modules that communicate with each other within well defined boundaries. This makes it easier to develop, test, and deploy isolated parts of your application.

In this particular section, you will be learning plethora of technologies coming together for the common purpose. In the first segment, you will be building Microservices module using clean architecture. You will also be implementing CQRS design pattern in order to implement the clean architecture design. Here, you will learn how to apply all the industry best practices together. This series is designed using .Net Core 6 and Angular 15.

This course is part of Microservices series where in you will learn all minute details related to Microservices. During this learning path, you will learn how to connect the dots using different technologies and tooling. This course "Getting Started with Microservices using Clean Architecture" is the first part of the series.

Other parts include

  1. Securing Microservices using Identity Server 4

  2. Implementing Cross Cutting Concerns

  3. Versioning Microservices

  4. Building Angular Application for MicroServices

  5. Deploying Microservices to Kubernetes and AKS

Who Should Enroll

This course is suitable for anyone who wants to develop their personal and professional skills. Whether you are a student, a working professional, an entrepreneur, or someone who simply wants to learn and grow, this course is for you.

Having a basic understanding of C#, Docker, and Angular would be really helpful!. All you need is an open mind and a willingness to learn. By the end of this course, you will have a deeper understanding of yourself and the world around you, and be equipped with practical tools to help you succeed.

Course Links:

Introduction

In this section, you will learn how to build full fledged Ecommerce app using asp.net core, docker, kubernetes, helm charts, service mesh and angular 15. Below are the key takeaways from this project. Anyone who wants to learn and write professional enterpise projects can refer this project. This project not only illustrates how to implement all layers to the point rather it adheres to best practices as followed by industry.

Here, you will learn variety of technologies like

  • Clean Architecture
  • .Net Core
  • Docker
  • Kubernetes
  • Azure
  • Microservices
  • Service Mesh
  • Angular
  • ELK Stack
  • Pub/Sub Pattern
  • GRPC
  • Repository Pattern
  • Unit of Work Pattern
  • Specification Pattern
  • Helm Charts

How Project is structured

Below, I have Pasted the high level glimpse project structure.

image

Client Structure goes like

image

Deployments

image

Warning and Disclaimer

Every effort applied to make this project complete and accurate to the topic, but no warranty is implied. Any implementation in this project are MY OWN and also borrowed from best practices segment. ALL content presented AS-IS, for learning purposes only. Also this course will go keep updated as and when new and stable framework gets released.

Workflow

image

image

image

image

image

image

image

image

Installation

Follow these steps to get your development environment set up: (Before Run Start the Docker Desktop)

  1. Clone the repository
  2. Once Docker for Desktop is installed, go to the Settings > Advanced option, from the Docker icon in the system tray, to configure the minimum amount of memory and CPU like so:
  • Memory: 7 GB
  • CPU: 5
  1. At the root directory which include docker-compose.yml files, run below command:
docker-compose -f docker-compose.yml -f docker-compose.override.yml up -d

image

Project Overview

image

Pub/Sub Pattern

image

  • In the above diagram as we can see before checkout event created basket gets deleted from Redis database.

Container Management via Portainer

image

Elastic Search

image

ACR Workloads

image

AKS Workloads

image

Pods Overview Kube Lens

image

Deployments

image

Replicasets

image

ConfigMaps

image

Secrets

image

HPA (Horizontal Pods AutoScaler)

image

Istio enabled

kubectl apply -f istio-init.yaml kubectl apply -f istio-minikube.yaml kubectl apply -f kiali-secret.yaml

image

Istio via Kubelens

image

Kiali (Service Mesh Management for Istio)

We can port forward for the same using lens

This will bring Kiali UI like

image

Kiali catalog Workload

image

Kiali Service Overview

image

Graphana Visualization

image

About

Clean Architecture Microservices example of .Net Core

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • SCSS 39.9%
  • C# 36.3%
  • HTML 8.6%
  • TypeScript 7.1%
  • Smarty 4.0%
  • PowerShell 2.5%
  • Other 1.6%