ASP.NET 6 REST API Following CLEAN ARCHITECTURE & DDD Tutorial | Part 1 - Project Setup
ฝัง
- เผยแพร่เมื่อ 24 ก.ค. 2024
- Link to the full playlist: • ASP.NET 6 REST API Fol...
Become a Patreon & get the source code: / amantinband
Follow me on 'em socials:
Twitter: / amantinband
LinkedIn: / amantinband
GitHub: github.com/amantinband
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?
This guy is going to heaven for sure
🤞🏼
No, Let him Live , Long Live Amichai 😢😭
no i do not think so, he is making it tooo complicated
@@mrt7948no... It's much simpler than anywhere else that's free
@@mrt7948 He is not...
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!
I think I can be called "TH-cam/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.
I'm humbled by your kind words Robert. Thank you ❤️
@@amantinband Can you list all the VSCode extensions used?
This is really great. Clean architecture well explained. Looking forward to the rest of the series. Weldone
One of the greatest videos I've watched.
Clean, Direct to the point and not boring
Excellent video! I'll be following this and the next ones for a personal project that i'm doing. Thank you for the insights and the information! Keep moving!
Awesome start! Finally finished this first video hands-on. Starting with the next one! Keep doing this same fantastic quality videos! Thanks.
Great first vid! Really enjoy seeing the recommended extensions, use of the command line, and I know we didn't cover it in this vid, but you mentioned storing environmental variables - that's the 'small things' that I like to learn along the way. Much appreciated!
Thorough, well structured and explained, looking forward to the next video
Good job actually, liked and subscribed, looking forward for next video in the series, don't keep us waiting too long :)
Great tutorial ! Explained well. Looking forward for the next part of this series. Thank you for your effort. Great Job !
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!
One of the most accurate and useful video tutorial on youtube! Keep it up, well done.
Really well put together. Looking forward to the rest of the series.
This video is pure gold. Thank you for sharing your knowledge, ill be following this series and your new videos.
Every is just right, not to lengthy, not too short explanation. Great job! Looking forward to more videos
Wow, it's smooth like butter! Thank you so much! Never knew I could do such a clean project and using vscode only! :D I finished the BuberBreakfast one before starting this. Keep going man, it's a great series. Using CLI feels home
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!
Wauw the level of this course is just amazing, thanks for the clear explenation! Keep up the good work :)
Such an intuitive and informative explanation with excellent code representation. Thank you
What a clean, fully and helpful video. I love this. Keep Going!
Thanks so much for this, Amichai. I've subscribed to your Patreon to help you carry on with this great series
Awesome to hear. Thanks, Darren!
Thank you so much❤ loved the video! I struggle with understanding the architecture. I’ve seen the diagrams before but it never really clicks. Seeing you reference the diagrams while you code, and seeing how you document with the md for is super helpful. Thank you for a great video. I subscribed
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.
After almost 30 hours of searching a good instructor for clean arch. I found all in one, keep it up
You did great. I like how you explain stuff. I just learned something new, I didn't know that Dependency Injection thing. Thanks!
As I just started exploring .net 6, it's a brilliant stuff and very helpful for me. thanks a lot and keep making more videos on further insights on this topic..
Yeah this is great, Thank you so much for these. Can't wait for the next one!
Nice presentation. I already used clean architecture on several projects, but of course there’s a lot to pick up. Liked the use of CLI, which I haven’t been using much. Keep coding!
I have gone through the multiple tutorials. well explained. Superb!. Thanks
Thank you for the simplicity and the way how to turn theoretical articles and courses into reel artifact
Thanks a lot for your work! It's pleasure to watch and study based on your videos!!!
Well explained about clean architecture. It's more content full and way of explanation is awesome. The extensions you have used is helpful to explore myself.
Loved your way of explanation from scratch....
For the first video this is already awesome. Keep doing that!
I think you explain things very clearly, great video!
Great explanation!
Much enlightening & informative!
Thanks so much Amichai
This is the best video I have seen about Clean Architecture. the diagram are very helpful. and to say that this is your first video on youtube? wow
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.
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.
You're simply GREAT. thanks for teaching and sharing us your knowledge so excellent. Please for people like me, keeping do it!!
Dude, I love this. It's perfect for someone like me who doesn't get much out of general "how to code in C#" tutorials anymore but needs some guidance as to how to build actual applications. Thank you so much.
Very Clean presentation of Clean architecture. Awesome.Keep going.
These series are golden. Great stuff!!!
Very nice video, every second of video is worth watching. Keep up the good work and thank you for doing it.
At last! No nonesense presentation. This is the best😉
Thank you soo much @Amichai Mantinband, this was great video and I really did enjoy following it.
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 !
Very concise and thoughtfully laid out. I am a relative beginner and I was still able to follow - I would pause the video if I hit something I didn't understand, do a bit of research, and them come back. I feel like there was a bit of challenge that forced me to learn. I can tell that you spent a lot of time on this - you definitely have teaching talent! Thank you.
The best introduction to clean architecture. Thank you
Super cool!
Looking forward to the rest of the series :)
Really good job explaining this from a code perspective. I'm not a C# dev but I understood literally everything you did. Kudos
Really great to hear, thanks!
Great job! what you are presenting is structured and sophisticated. However, i think you have a built-in ability called : pattern-aware capability!!!! Excellent. Thank you.
First ever TH-cam? Man, you nailed it. Very well explained and relevant content. 👌
Very useful information provided, I have implemented in same manner and I enjoyed the same. Actually, I am creating microservice for my project and trying to implement a service using clean architecture. thank you once again for providing this.
excited to see a ddd example, nice intro video hope you finish this series
I love your work so much mr Amichai... you inspire my coding style
Very nice lessons!) You're my favorite blogger from now on
one of the best courses i've seen on youtube
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.
Great great great video, I follow You coding and I find this very usefull and "simple", not because it is a simple topic, but because the explanation makes it very easy to understand and follow. 😁
Thank you for sharing this awesome content.... Muchas gracias !!! Saludes desde Colombia!
I Just wowed, this is really great content so far in this topic.
Wow dude, this is an awesome video, one of the best I have seen, thanks so much for sharing and putting yourself out there, I think lots of people will appreciate this and I will share with others who are interested too. I’ve been working on a large rest api and my tech stack is very almost identical, loving Mapster, I was using auto mapper before and got fed up with the boiler plate config which I didn’t need, I also use the code gen for my contracts (50+ entities and crud for internal app so works for me). I use exactly the same project structure which is interesting, i do Api.Contracts just to tied it to the api. Really like the developer workflow, docs, rest endpoint testing too, Using Mediatr too. Really looking forward to the rest of the series (no pun intended!). Good luck with everything.
That’s amazing feedback, thanks James. Please let me know if you have suggestions or insights on topics you are familiar with 🙏🏼
Thank you very much for your video. It has allowed me to learn about DDD.
You're one of the fewer people in TH-cam 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!
Thanks, Bruno!
Totally agree!!!
I also agree!
Seeing the master mind of "throw, error-or,..." at work, great. Thank you, for your amazing stuff.
Best comment ever ❤️😁
what is this “throw, error-or” and why is it great?
Very well articulated, thanks for sharing.
Thorough explanation. loved it
Really Excellent!
Thank you very much for your time and efforts.
thank you for the video! a lot of stuff happening but i'm being able to follow it!
Great and refreshing explanation on clean architecture and overall .NET application. Looking forward for next series and as well as if in future you had any plans on adding test and sharing with more of useful extensions in VSCode too. Thanks in advance.
Yes, I'm planning to have at least one video about testing best practices. Regarding vscode extensions, I think my next video will be about vscode for .NET developers since I'm getting many questions about this
It is amazing to see how fluent you are fluent with VS Code
That amazing and awesome bro... keep it up.. your channel will blow up soon....
Ty so mutch! I will keep watch this on till the end...
Great tutorial! Thank you and I subscribed and very much look forward to more tutorials on your channel.
2 quick suggestions to make you tutorials even more awesome.
1. Add links to software and Nuget packages you use in the tutorial
2. Create chapters for distinct segments, e.g. Adding a Controller, wiring up DI etc.
That's great feedback. Thanks, Dmitri!
I am following. Your interpretation is very good.
I love the way your terminal looks... do you have a video on crafting this stunning visual implementation? awesome
Thanks for this excellent (fast) video!
awesome training. really learning new things. ❤
sounds great... looking forward to it
Thank you for great content, you have earned yourself a follower
Thank you very much for this! clear and concise 👍
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.
Not quite tdd, but guess that makes sense
I totally agree, the methodology used to develop (and teach) in this video also allow learn the basics and then take the next step more confidently. I have seen others tutotorials about the same subject but in some points I get lost with the code and the concepts. Great Job Amichai!
awesome , I look forward to new episodes
Great videos!
Thanks a lot for your job!
I enjoyed everything. Pace, simplicity, short tools insights, amount of explanations - really, really good. Can you explain how this dependencyinjected services builder works?
Good job.
Awesome to hear! What exactly would you like me to clarify?
You are amazing, Thank you for this effort ❤
I don't believe that was your first TH-cam video. That means you were born as a youtuber 😄
Thank you for the great content.
Thank you so much for providing such education.
This looks like a great workflow
I tryed to clear my screen. haha
Amichai Absolutely great content delivered at apt pace.
Keep make more video in this series, I think it is harder for someone is firstime touch in API, or begginer but I see the title of videos have some keywords of technology usually meet in industry, the jobs will need these concepts, look like for immediate levels...but very helpful for who want to up skill from begginer to immediate...I think so...I will try it...
Great content, looking forward to more
thank you for creating this awesome course
Pure Gold, Thanks alot Sir.
THANK YOU A LOT FOR YOUR WORK!
It's amazing!
great job, don't keep us waiting too long :)
Subscribed with bell icon within the first 2 minutes.
This is high quality content mate