ASP.NET 6 REST API Following CLEAN ARCHITECTURE & DDD Tutorial | Part 1 - Project Setup

preview_player
Показать описание


Follow me on 'em socials:

What is this series?
We'll build a REST API following Clean Architecture & Domain-Driven Design principles completely from scratch.
We will use .NET 6, EF Core, and common patterns such as CQRS, unit of work, repository, mediator, and more 💪🏽
We'll also use some awesome open-source libraries such as MediatR, FluentValidation, ErrorOr, Throw, Mapster, and more.
The developing environment will be visual studio code & dotnet CLI only. We will use awesome vscode plugins for everything from sending HTTP requests to connecting to our SQL database, debugging, and peeking at JWT tokens.
We will code and refactor multiple times to tackle the many concepts I want to teach. When the series will be over, you'll have a good understanding and intuition on how to use these patterns & libraries in your industry-level applications.

How often will a new part come out?
Once or twice a week.

What are we doing today?
We'll set up the 5 projects following Clean Architecture, use some cool vscode extensions & start setting up some authentication stuff. We'll also understand how each layer registers its own dependencies in the dependency injection IoC.

#dotnet

00:00. What we'll be building
01:58. Clean Architecture in one sentence
03:36. Technologies we'll use
04:30. Disclaimers
05:22. Who the heck is Amichai?
06:00. Overview of today's video
06:20. Project setup
10:55. Code: Project overview
11:48. Making HTTP Request inside vscode using the REST Client plugin
14:01. Deleting all unnecessary code
15:40. Register & Login endpoint schema
16:46. Presentation Layer vs. Application Layer
18:31. Modeling the API contract
20:20. Register & Login endpoint in the Presentation Layer
24:35. Authentication Service in the Application Layer
30:48. Registering the AuthenticationService in the IoC Container
31:55. Dependency Injection in Clean Architecture
36:17. What's next?
Рекомендации по теме
Комментарии
Автор

I think I can be called "Youtube/Video tutorials veteran watcher" with more than a decade experience, and sir, allow me to tell you that you are right there at the summit amongst the best instructors I've ever met. Top-top-top class.

I liked and subscribed within 15 minutes of watching this video.

robertmrobo
Автор

I'm a professional full stack dev since more than 20 years, I'm already into what you are going to explain in these video series but I think it's always good to listen and see how other devs work out there because, as yourself said, we are always learning all the time!
IMO a good developer never sticks to a DOGMA and never follows what other people consider a creed but instead challenge himself trying to sharpen his tools and shape his ideas, often even radically changing them, about how to architecture a system and experience on real projects gives lot of input about that.
At some point any dev will realise there is no silver bullet and each problem has lot of way to accomplish its goals, it's a matter of trading between a lot of aspects like team skills, available time, habits, current company technology stack, experience, etc...
But it's always GOLD to know as many strategical and tactical patterns out there so that one can make use of the "right" tool for the current job.
I like your way to explain because as a veteran I don't like to watch videos that spend a lot of time about basic stuff, maybe your audience target will narrow a bit but personally I like it.
I'll follow you along your path to see how you tackle most advanced and debated subjects (e.g. DDD serialization, repository pattern, CQRS, eventual event sourcing, docker & containerization, microservices and so on)
Good luck, you'll need a lot of time to do what you are aiming for!

mithrilman
Автор

What I really liked about the video is the work methodology that's inspired: work in small increments and test that everything works before you begin adding too much code that when it doesn't run you can't be sure what exactly is wrong, is it your code or is it something else, or find out that you have to refactor a lot because you missed a step like setting up something in infrastructure. And I think the explanations are simple enough that all junior level programmers should be able to understand.

PaulSebastianM
Автор

You're one of the fewer people in YouTube that can explains clear architecture so well, and better, with hands-on. For sure you deserve much more subscribers that you have! Great job, Amichai!

brunohenriquedossantos
Автор

After almost 30 hours of searching a good instructor for clean arch. I found all in one, keep it up

drenigjini
Автор

One of the greatest videos I've watched.
Clean, Direct to the point and not boring

ahmadaqrabawi
Автор

There's precisely one channel for which I have the notifications on. And it's this one. Nowhere else have I found such an eloquent dive into DDD with CA.

hassaanqureshi
Автор

The best, concise, to-the-point, relevant and CLEAR communication!! above all, I really like the way you kept on showing the Diagram and linked it with the Code, that is where we are! I've never seen any .NET video instructors making such a clear and crisp connection to the Infographic vs Code!! great stuff! will definitely cover your entire course!! This is coming from a full stack .NET developer who has been dirtying hands for the last 15 years!! bravo! more power to you mate! love from Australia!

WasifKizilbash
Автор

I love this so much! I started w episode 13, then immediately jumped back to the start of the series. I'm also a 25+ yr. dev and this is hands down one of the best presentations I've ever seen! Take my subscribe and likes!

timschmidt
Автор

At last! No nonesense presentation. This is the best😉

GameSpreePH
Автор

Right at the end of the video, when you said "this is my first video" that really blew my mind. This video is really polished and complete. Thank you bro. Subscribed as soon as I completed the video. Will be completing the whole series.

therayyanansari
Автор

I was researching a lot about DDD and Clean Architecture. I must say this is the best course I've ever watched.

I'm eager to finish the whole course, I already watched a little bit of the further videos and I definitely loved what I saw.

You rock!

CarlosHerasme
Автор

Just to say brilliant is not enough. very high-level knowledge and resources you have shared in public. A person like me very much benefitted from your channel. Please keep sharing.

waliullah
Автор

Thank you for this tutorial. I'm a junior developer and I'm using this video to study DDD in english. Sometimes, you speak fast but I can back the video and listen again.

Success in your channel.

ycarobatalha
Автор

9:38 In Clean Architecture the Presentation Layer's dependency on the Infrastructure Layer is a runtime dependency, not a direct reference between the projects. In this case CA would use the Dependency Inversion Principle to invert the dependency between the two layers by making them both depend on an abstraction (an interface). This abstraction is defined in the Application (or Core Domain) layer. So instead of Presentation Layer => Infrastructure Layer, you do Presentation Layer => Abstraction <= Infrastructure Layer. At runtime, the DI container is responsible for injecting the correct instance of the Infrastructure Layer dependency, based on the registered dependencies. For example, if BubberDiner.Api needs a repository from the Infrastructure, it should reference it as IRepository<Type>, an interface it gets from the App Layer. Infrastructure also depends on IRepository<Type> from the App Layer in order to implement that interface.

PaulSebastianM
Автор

Thank you for the simplicity and the way how to turn theoretical articles and courses into reel artifact

bmassioui
Автор

Awesome start! Finally finished this first video hands-on. Starting with the next one! Keep doing this same fantastic quality videos! Thanks.

carsugarmodels
Автор

Software architect here, I really like your way to present things. It's clear, concise, and SHORT. You really don't beat around the bush and go straight to the point. So take my like sir !

yannistocreau
Автор

Loved your way of explanation from scratch....

NaveenKumar-hdmp
Автор

Seeing the master mind of "throw, error-or, ..." at work, great. Thank you, for your amazing stuff.

wolfgangdiemer