Foad Alavi
Foad Alavi
  • 35
  • 85 706
Mastering Clean Architecture: Email Delivery Via Smtp And Api
We need to notify the end user about his interaction with the system. The primary way of notifying them is by sending emails. I explained the SMTP email sender API services for sending emails and how to test the emails using Smtp4Dev.
**************This is part 10 **************
I have created a tutorial playlist on clean architecture, and this is the first video of the series. In the playlist, I explain the concept of clean architecture and how to create a project from scratch while discussing the reasons behind each decision. By the end of this series, you will have a solid understanding of clean architecture and be able to easily apply it.
Buy me a coffee: buymeacoffee.com/foadalavix
Patreon: patreon.com/FoadAlaviCZcams
Part 1: czcams.com/video/Kl2tPE2SYBM/video.html
Part 2: czcams.com/video/Xm-fmcPU-8s/video.html
Part 3: czcams.com/video/kwkLHp7Q_Hw/video.html
Part 4: czcams.com/video/EvufkVxUaVY/video.html
Part 5: czcams.com/video/7whZlOsiQo8/video.html
Part 6: czcams.com/video/MIJDoO5s8CA/video.html
Part 7: czcams.com/video/CwDLrSe4oGk/video.html
Part 8: czcams.com/video/mN4259vL4QE/video.html
Part9: czcams.com/video/bA3zWh4AbAU/video.html
Part9: czcams.com/video/bA3zWh4AbAU/video.html
Part10: czcams.com/video/tQAdzSEsDqs/video.html
⏱️VIDEO CHAPTERS⏱️⏱️
00:00 Introduction
00:22 Email Sender Interface
02:55 SMTP Email Sender
10:06 Package Modularity
14:36 SMTP4Dev
19:52 Handling Exceptions Strategy
23:38 .http file
26:03 Email Sender API
🔔 Subscribe for more tips just like this: www.youtube.com/@Foad_Alavi?sub_confirmation=1
GitHubRepo: github.com/foadalavi/Development/tree/master/006-%20Clean%20Architecture/Librarian/Session%2010
#dotnet #cleanarchitecture #tutorial #fromzerotohero
zhlédnutí: 437

Video

Mastering Clean Architecture: Advanced Exception Handling With Middleware And Problem Details
zhlédnutí 653Před 4 měsíci
Having a central exception-handling module is essential for Clean Architecture. In this video, we discussed using Action Filters, Middlewares, ExceptionMiddelwares, and on top of that, RFC 9457 and Problem Details, which is the standard for generating responses for errors. This is part 9 I have created a tutorial playlist on clean architecture, and this is the first video of the series. In the ...
Clean Architecture And Entity Framework Migration With .NET 8!
zhlédnutí 881Před 5 měsíci
Most developers Violeate the Clean Architecture rules and principles for Entity framework Migration; in this video, we will learn how to do it properly. This is part 8 I have created a tutorial playlist on clean architecture, and this is the first video of the series. In the playlist, I explain the concept of clean architecture and how to create a project from scratch while discussing the reaso...
Clean Architecture: How To Register Services Like A Pro!
zhlédnutí 334Před 5 měsíci
When building applications using Clean Architecture, service registrations have specific placement rules. This is part 7 I have created a tutorial playlist on clean architecture, and this is the first video of the series. In the playlist, I explain the concept of clean architecture and how to create a project from scratch while discussing the reasons behind each decision. By the end of this ser...
Master Advanced Validation With Clean Architecture In .net 8
zhlédnutí 615Před 5 měsíci
In this video of Clean Architecture in. Net 8, we are developing advanced validations using Fluent Validation and AutoMapper. This is part 6 I have created a tutorial playlist on clean architecture, and this is the first video of the series. In the playlist, I explain the concept of clean architecture and how to create a project from scratch while discussing the reasons behind each decision. By...
Clean Architecture With .NET 8: Best Practices For Validation
zhlédnutí 579Před 5 měsíci
Each layer in the clean architecture is responsible for validating its data. In this video, we discuss using fluent validation in the application layer. This is part 5 I have created a tutorial playlist on clean architecture, and this is the first video of the series. In the playlist, I explain the concept of clean architecture and how to create a project from scratch while discussing the reaso...
Mastering Clean Architecture: Building A Robust Persistence Layer
zhlédnutí 453Před 5 měsíci
This video is about the Persistence layer in clean architecture. This is part 4 I have created a tutorial playlist on clean architecture, and this is the first video of the series. In the playlist, I explain the concept of clean architecture and how to create a project from scratch while discussing the reasons behind each decision. By the end of this series, you will have a solid understanding ...
Mastering Clean Architecture: Designing Features
zhlédnutí 419Před 5 měsíci
In Clean architecture, features are where we apply our business logic and rules. This is part 3 I have created a tutorial playlist on clean architecture, and this is the first video of the series. In the playlist, I explain the concept of clean architecture and how to create a project from scratch while discussing the reasons behind each decision. By the end of this series, you will have a soli...
Setting Up A Clean Architecture Project And Building The Domain Layer
zhlédnutí 528Před 5 měsíci
Clean architecture is all about project setup and structure; in this video, I explained the project structure and the domain layer as the heart of the whole architecture. This is part 2 I have created a tutorial playlist on clean architecture, and this is the first video of the series. In the playlist, I explain the concept of clean architecture and how to create a project from scratch while di...
Master Clean Architecture And N-layer Architecture: Never Forget Again!
zhlédnutí 711Před 5 měsíci
The best way to learn a new technology or architecture is to understand why it was created. In this video, I explain the N-layer Architecture and how it evolved into Clean Architecture. This is part 1 I have created a tutorial playlist on clean architecture, and this is the first video of the series. In the playlist, I explain the concept of clean architecture and how to create a project from s...
Run TestContainers in Azure Pipeline using Docker wormhole - Part2
zhlédnutí 424Před 5 měsíci
You can run TestContainers on the Azure Pipeline using the Docker Wormhole pattern. You need to wrap your project into a Docker image and then run this Docker image in your pipeline. This is a valid use case for a Docker wormhole. In these 3 videos, you will understand its logic and see how to do it. Buy me a coffee: buymeacoffee.com/foadalavix Patreon: patreon.com/FoadAlaviCZcams Part 1: czcam...
Run TestContainers in Azure Pipeline
zhlédnutí 1KPřed 5 měsíci
You can run TestContainers on the Azure Pipeline. You need to wrap your project into a Docker image and then run this Docker image in your pipeline. This is a valid use case for a Docker wormhole. In these 3 videos, you will understand the logic behind it and see how to do it. Buy me a coffee: buymeacoffee.com/foadalavix Patreon: patreon.com/FoadAlaviCZcams Part2: czcams.com/video/ayKWhK1PZfQ/v...
Publish to Docker and run docker from C# using DockerDotNet, and optimize the Image size
zhlédnutí 500Před 6 měsíci
Dont use dockerfile, instead, use dotnet publish and DockerDotNet, and optimize the Docker image. In dotnet 7 and 8, you don't need to use dockerfile to create a docker image. Instead, you can use the dotnet publish command to publish web and console applications to a docker repository. Microsoft introduced the DockerDoNet package for running a Docker image and getting its result from a Docker ...
You Shouldn't use CQRS if. Uncover the difference between CQRS and CQS
zhlédnutí 448Před 6 měsíci
I tried to cover all ambiguities about CQRS and CQS because the differences between these two concepts are often mixed up in CZcams videos. We’ll explore the issue that CQRS aims to solve. And explained where to use CQRS. More importantly, I shared some reasons why blindly adopting CQRS can lead to disaster in your projects. Whether you’re a seasoned developer or just curious about software arc...
Introduction to Mediator Pattern with MediatR in Net 8
zhlédnutí 2,3KPřed 6 měsíci
It introduces the mediator design pattern with a real-life example, and I explain how to use the MediatR package.Net8. After this video, you will understand where to use a mediator and, more importantly, where not to use it. I also covered the following: Mediator Design Pattern. New changes in MediatR 12. Dependency Injection in Asp.Net Web API 8. Buy me a coffee: buymeacoffee.com/foadalavix Pa...
Signing and Validating JWT Token Using RSA public and private key in ASP.NET Web API with C# -Part 4
zhlédnutí 2,6KPřed 6 měsíci
Signing and Validating JWT Token Using RSA public and private key in ASP.NET Web API with C# -Part 4
RSA Encryption with C# using Public Key and Private key - Part 3
zhlédnutí 760Před 6 měsíci
RSA Encryption with C# using Public Key and Private key - Part 3
AES Encryption with C# with Initialization vector and Cipher Block Chaining(CBC) - Part 2
zhlédnutí 333Před 6 měsíci
AES Encryption with C# with Initialization vector and Cipher Block Chaining(CBC) - Part 2
Encoding Vs Encryption Vs Hashing and Symmetric Encryption Vs Asymmetric Encryption with C# - Part 1
zhlédnutí 559Před 6 měsíci
Encoding Vs Encryption Vs Hashing and Symmetric Encryption Vs Asymmetric Encryption with C# - Part 1
JWT Refresh Token with Asp.net Web API 8 and C#
zhlédnutí 7KPřed 7 měsíci
JWT Refresh Token with Asp.net Web API 8 and C#
Part5: Authentication, Authorization, and Identity in ASP.Net Core7 - How Experts use authorization
zhlédnutí 988Před rokem
Part5: Authentication, Authorization, and Identity in ASP.Net Core7 - How Experts use authorization
Part4: Authentication, Authorization, and Identity in ASP.Net Core7- Role-based and claim-based auth
zhlédnutí 1KPřed rokem
Part4: Authentication, Authorization, and Identity in ASP.Net Core7- Role-based and claim-based auth
Part3: Authentication, Authorization and Identity in ASP.Net Core7 - JSON Web Token (JWT)
zhlédnutí 1,5KPřed rokem
Part3: Authentication, Authorization and Identity in ASP.Net Core7 - JSON Web Token (JWT)
Part2: Authentication, Authorization and Identity in ASP.Net Core7 - ASP.NET Identity
zhlédnutí 2,4KPřed rokem
Part2: Authentication, Authorization and Identity in ASP.Net Core7 - ASP.NET Identity
Part1: Authentication, Authorization and Identity in ASP.Net Core7 - Cookie-based Authentication
zhlédnutí 6KPřed rokem
Part1: Authentication, Authorization and Identity in ASP.Net Core7 - Cookie-based Authentication
What Every .Net Developer Needs To Know About Docker
zhlédnutí 4,1KPřed rokem
What Every .Net Developer Needs To Know About Docker
Master ASP.NET Core Integration Testing: Learn How TestContainers and WebApplicationFactory Can Help
zhlédnutí 9KPřed rokem
Master ASP.NET Core Integration Testing: Learn How TestContainers and WebApplicationFactory Can Help
Authenticating Web API Using ASP .Net Identity and JSON Web Tokens (JWT)
zhlédnutí 33KPřed rokem
Authenticating Web API Using ASP .Net Identity and JSON Web Tokens (JWT)
Uncovering the Secret to Refactoring Legacy Code!
zhlédnutí 558Před rokem
Uncovering the Secret to Refactoring Legacy Code!
How to test your Unit tests? (mutation testing in C# using Styker)
zhlédnutí 633Před rokem
How to test your Unit tests? (mutation testing in C# using Styker)

Komentáře

  • @Pablo-dq9mw
    @Pablo-dq9mw Před 6 dny

    Thank you dude you helped me so much

  • @szakalak1111
    @szakalak1111 Před 7 dny

    Great video! Exactly what I needed :)

  • @alinikfar2434
    @alinikfar2434 Před 12 dny

    فواد جان عاشق لهجت شدم ! البته قطعا از من بهتره

  • @mehdi-vl5nn
    @mehdi-vl5nn Před 18 dny

    entity vs domain?

  • @WangAndrew
    @WangAndrew Před 24 dny

    Great video, learn RSA from this. My problem is the example that validate the token is still on the server side. Just use the public key to validate token on blazor wasm, and got the "PlatformNotSupportedException". Looks like RSA.Create() is not supported on Blazor wasm yet.

  • @mehdi-vl5nn
    @mehdi-vl5nn Před 25 dny

    a video on entity vs domin would be great

  • @ashleygahl3638
    @ashleygahl3638 Před 26 dny

    This really helped me a lot after a painful weekend trying to figure this out.

  • @pablonascimento3547
    @pablonascimento3547 Před 26 dny

    Sensational! Great explanation. I have a question: I need to call the controller of a second application and have it recognize the token generated by the first application. What is the correct way to do this? Can I generate the token in the first application and add it to a session cookie to be read by application 2, or is there a better way?

  • @r.osorio02
    @r.osorio02 Před 27 dny

    Good explanation. Thanks Foad! Could you explain the matter of the cancellation token as well as pipeline behaviours with mediatr?

  • @Victor-wy1wj
    @Victor-wy1wj Před 29 dny

    Thank you a lot man.

  • @karlpjd
    @karlpjd Před měsícem

    Loved this video, really insightful compared to watching someone copy and paste code ..

  • @BaleĐiCode
    @BaleĐiCode Před měsícem

    Best explanation i've ever heard !!! All i need to hear is right here.

  • @user-qb2xb7vd2h
    @user-qb2xb7vd2h Před měsícem

    موفق باشی فواد 🤟

  • @marreborre3501
    @marreborre3501 Před měsícem

    Great videos! Keep them coming!

  • @siddharthprabhakar9353
    @siddharthprabhakar9353 Před měsícem

  • @mostafaessam592
    @mostafaessam592 Před měsícem

    waiting for the async video

  • @mostafaessam592
    @mostafaessam592 Před 2 měsíci

    you're doing an amazing job keep going Allah bless you

  • @mathewsjacob
    @mathewsjacob Před 2 měsíci

    Excellent tutorial. Can you please make a video to demonstrate how to publish this to Azure or AWS?

  • @parkhieu4757
    @parkhieu4757 Před 2 měsíci

    Thank you for tutorial

  • @MertOmurSumer
    @MertOmurSumer Před 2 měsíci

    Thank you very much very nice content

  • @aliawan6005
    @aliawan6005 Před 2 měsíci

    Nice video and explanation but when I go to create contribute user role application throw an error of Foreign key not available in table Entity Update SaveChanges Issue occurred

  • @jesuslopez-bm5vk
    @jesuslopez-bm5vk Před 2 měsíci

    Implementing Entity Framework in a microservices environment by creating a shared library to manage migrations for a single database, and having all microservices depend on this library, effectively introduces a level of coupling that contradicts the fundamental principles of microservices architecture

  • @ART000747
    @ART000747 Před 2 měsíci

    Your agent has Docker installed while your test docker image has just the .NET SDK installed, not Docker (Client/Daemon). Why does it still work? I get an error when I try this setup with JDK loaded image.

  • @geepy5708
    @geepy5708 Před 2 měsíci

    Hey foad, do you have any video on modular monolith? I’ve seen people talk about it but no one ever starts a project from scratch using it

  • @mehrabhossain8225
    @mehrabhossain8225 Před 3 měsíci

    best

  • @soucianceeqdamrashti8175
    @soucianceeqdamrashti8175 Před 3 měsíci

    Thanks for the content. You got a new subscriber!

  • @harimuhammad4525
    @harimuhammad4525 Před 3 měsíci

    awesome!

  • @pt_trainer9244
    @pt_trainer9244 Před 3 měsíci

    Thank you,

  •  Před 3 měsíci

    Thanks a lot! How to refresh token automatically?

  • @ravikirangutti1577
    @ravikirangutti1577 Před 3 měsíci

    Very good explanation, Can you make it video for integration tests for cosmos db

  • @qasimmughal1396
    @qasimmughal1396 Před 3 měsíci

    Thanks for your explanation. You are a wonderful teacher

  • @rezarezash
    @rezarezash Před 3 měsíci

    Great! How can we provide appsettings or environement variables?

  • @omkarkhaire1188
    @omkarkhaire1188 Před 3 měsíci

    Hi Foad your videos are super helpful..can u please create a video on blacklisting jwt token in web apis

  • @augustorobles9931
    @augustorobles9931 Před 3 měsíci

    Great video! It helps me a lot to understand this topic!

  • @augustorobles9931
    @augustorobles9931 Před 3 měsíci

    Amazing video and clear explanation about the topic. New suscriber from Argentina!

  • @Tech__Wizard
    @Tech__Wizard Před 3 měsíci

    Bro atleast explain sometimes what you are writing, why in so much hurry.

  • @sushantparekar3687
    @sushantparekar3687 Před 3 měsíci

    How u can remember such complex codes even though it is logical 😢

  • @b.official
    @b.official Před 3 měsíci

    "Could you please explain what the Employee model is used for? I only noticed its presence in the instructional video."

  • @estherselvaraj9279
    @estherselvaraj9279 Před 4 měsíci

    wonderful explanation. very detailed and useful video!

  • @thiagoclassen1979
    @thiagoclassen1979 Před 4 měsíci

    Is it possible to attach the debugger on the WebApiFactory so you can debug the api while run the tests?

    • @Foad_Alavi
      @Foad_Alavi Před 4 měsíci

      Yes you can easily do that Just put a break point in a place you need to debug

  • @daniel.moghadam
    @daniel.moghadam Před 4 měsíci

    کارت درسته 👍🏼👍🏼

  • @alibabapour7418
    @alibabapour7418 Před 4 měsíci

    You can't believe how much you helped me in my career as a junior developer I leaned a lot The way you simplify things that was my nightmares ...

  • @davood7497
    @davood7497 Před 4 měsíci

    Good trick to handled the dependencies. 💯💯💯

  • @ahmadalmasri4416
    @ahmadalmasri4416 Před 4 měsíci

    clean architecture is kind of complex architecture that is difficult for beginners to understand at first. i'd watched some courses that explain this architecture, and each of the presenters has his own additions ofcourse. infact, what makes your course different is simplification of the complex, clarity. and by speaking at a moderate speed, you allow the listener's brain to handle these information comfortably (clever). you're doing a great job Fouad 👍🏻 keep going ..

  • @ahmadalmasri4416
    @ahmadalmasri4416 Před 4 měsíci

    thank you for mentioning chain of dependency topic.

  • @michapolaszek7049
    @michapolaszek7049 Před 4 měsíci

    You can remove the unnecessary "using" statements with ctrl+r ctrl+g

    • @Foad_Alavi
      @Foad_Alavi Před 4 měsíci

      Thanks I didn’t know that

  • @BugsBunny_Boss
    @BugsBunny_Boss Před 4 měsíci

    It was very interesting for me to know how it’s worked. Damn programming is very important and mesmerizing

  • @isiraadithya
    @isiraadithya Před 4 měsíci

    Nicely done!

  • @TheCalax
    @TheCalax Před 4 měsíci

    But what if the two different contexts have dependencies to one another? Like an Employee needs a reference to a User and I wanna access it like Employee.User?

    • @Foad_Alavi
      @Foad_Alavi Před 4 měsíci

      It is everyday story of microservices

  • @TheCalax
    @TheCalax Před 4 měsíci

    What about refreshTokens? How'd I handle those, in regards of invalidation?

    • @Foad_Alavi
      @Foad_Alavi Před 4 měsíci

      I have a video about refresh token