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?

ความคิดเห็น • 357

  • @Sz-hi7wj
    @Sz-hi7wj 2 ปีที่แล้ว +72

    This guy is going to heaven for sure

    • @amantinband
      @amantinband  2 ปีที่แล้ว +2

      🤞🏼

    • @ru2979
      @ru2979 ปีที่แล้ว +3

      No, Let him Live , Long Live Amichai 😢😭

    • @mrt7948
      @mrt7948 5 หลายเดือนก่อน

      no i do not think so, he is making it tooo complicated

    • @shadmansudipto7287
      @shadmansudipto7287 5 หลายเดือนก่อน

      ​@@mrt7948no... It's much simpler than anywhere else that's free

    • @chidii
      @chidii 2 หลายเดือนก่อน

      @@mrt7948 He is not...

  • @mithrilman3421
    @mithrilman3421 2 ปีที่แล้ว +69

    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!

  • @robertmrobo8954
    @robertmrobo8954 2 ปีที่แล้ว +166

    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.

    • @amantinband
      @amantinband  2 ปีที่แล้ว +7

      I'm humbled by your kind words Robert. Thank you ❤️

    • @JayDoge
      @JayDoge ปีที่แล้ว

      @@amantinband Can you list all the VSCode extensions used?

  • @chidieberelevi3344
    @chidieberelevi3344 2 ปีที่แล้ว +3

    This is really great. Clean architecture well explained. Looking forward to the rest of the series. Weldone

  • @ahmadaqrabawi7866
    @ahmadaqrabawi7866 2 ปีที่แล้ว +11

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

  •  2 ปีที่แล้ว

    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!

  • @carsugarmodels
    @carsugarmodels 2 ปีที่แล้ว +2

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

  • @ryanheitmann7591
    @ryanheitmann7591 2 ปีที่แล้ว +1

    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!

  • @huston1986
    @huston1986 2 ปีที่แล้ว +1

    Thorough, well structured and explained, looking forward to the next video

  • @adilhraza1
    @adilhraza1 2 ปีที่แล้ว +1

    Good job actually, liked and subscribed, looking forward for next video in the series, don't keep us waiting too long :)

  • @user-yp7tw7jp7o
    @user-yp7tw7jp7o ปีที่แล้ว

    Great tutorial ! Explained well. Looking forward for the next part of this series. Thank you for your effort. Great Job !

  • @CarlosHerasme
    @CarlosHerasme ปีที่แล้ว +6

    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!

  • @nanvlad
    @nanvlad 2 ปีที่แล้ว +1

    One of the most accurate and useful video tutorial on youtube! Keep it up, well done.

  • @simonjohnstone9159
    @simonjohnstone9159 2 ปีที่แล้ว

    Really well put together. Looking forward to the rest of the series.

  • @blasgilich2642
    @blasgilich2642 ปีที่แล้ว

    This video is pure gold. Thank you for sharing your knowledge, ill be following this series and your new videos.

  • @coinboybit7281
    @coinboybit7281 2 ปีที่แล้ว

    Every is just right, not to lengthy, not too short explanation. Great job! Looking forward to more videos

  • @anamuslimun
    @anamuslimun ปีที่แล้ว

    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

  • @timschmidt5469
    @timschmidt5469 ปีที่แล้ว +9

    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!

  • @anthonydeville237
    @anthonydeville237 10 หลายเดือนก่อน

    Wauw the level of this course is just amazing, thanks for the clear explenation! Keep up the good work :)

  • @zhangyi5145
    @zhangyi5145 2 ปีที่แล้ว +1

    Such an intuitive and informative explanation with excellent code representation. Thank you

  • @huyanhnguyeninh787
    @huyanhnguyeninh787 ปีที่แล้ว

    What a clean, fully and helpful video. I love this. Keep Going!

  • @raggardy
    @raggardy 2 ปีที่แล้ว

    Thanks so much for this, Amichai. I've subscribed to your Patreon to help you carry on with this great series

    • @amantinband
      @amantinband  2 ปีที่แล้ว +2

      Awesome to hear. Thanks, Darren!

  • @dllamaree
    @dllamaree ปีที่แล้ว

    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

  • @hassaanqureshi6479
    @hassaanqureshi6479 2 ปีที่แล้ว +1

    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.

  • @drenigjini8440
    @drenigjini8440 2 ปีที่แล้ว +4

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

  • @bogdanalexandruburca3579
    @bogdanalexandruburca3579 ปีที่แล้ว

    You did great. I like how you explain stuff. I just learned something new, I didn't know that Dependency Injection thing. Thanks!

  • @ziaurrahman8776
    @ziaurrahman8776 ปีที่แล้ว

    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..

  • @kylegivler8372
    @kylegivler8372 ปีที่แล้ว

    Yeah this is great, Thank you so much for these. Can't wait for the next one!

  • @andersjuul8310
    @andersjuul8310 2 ปีที่แล้ว +1

    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!

  • @SUDHIRKUMAR-kx7gz
    @SUDHIRKUMAR-kx7gz 2 ปีที่แล้ว

    I have gone through the multiple tutorials. well explained. Superb!. Thanks

  • @bmassioui
    @bmassioui ปีที่แล้ว +1

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

  • @nazar5546
    @nazar5546 2 ปีที่แล้ว

    Thanks a lot for your work! It's pleasure to watch and study based on your videos!!!

  • @rajeshselvam564
    @rajeshselvam564 ปีที่แล้ว

    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.

  • @NaveenKumar-hd7mp
    @NaveenKumar-hd7mp 2 ปีที่แล้ว +2

    Loved your way of explanation from scratch....

  • @franciscogilt
    @franciscogilt 2 ปีที่แล้ว

    For the first video this is already awesome. Keep doing that!

  • @javifrancia
    @javifrancia 2 ปีที่แล้ว

    I think you explain things very clearly, great video!

  • @faris.abuali
    @faris.abuali 11 หลายเดือนก่อน +1

    Great explanation!
    Much enlightening & informative!
    Thanks so much Amichai

  • @abodesegunezekiel6145
    @abodesegunezekiel6145 9 หลายเดือนก่อน

    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

  • @therayyanansari
    @therayyanansari ปีที่แล้ว +1

    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.

  • @waliullah7215
    @waliullah7215 11 หลายเดือนก่อน +1

    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.

  • @ismaelperezmesa524
    @ismaelperezmesa524 ปีที่แล้ว

    You're simply GREAT. thanks for teaching and sharing us your knowledge so excellent. Please for people like me, keeping do it!!

  • @OzTheWizardOfPorn
    @OzTheWizardOfPorn 11 หลายเดือนก่อน

    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.

  • @tejasreeja
    @tejasreeja 2 ปีที่แล้ว

    Very Clean presentation of Clean architecture. Awesome.Keep going.

  • @seldomseen_78
    @seldomseen_78 2 ปีที่แล้ว

    These series are golden. Great stuff!!!

  • @rahullore8428
    @rahullore8428 ปีที่แล้ว

    Very nice video, every second of video is worth watching. Keep up the good work and thank you for doing it.

  • @GameSpreePH
    @GameSpreePH 6 หลายเดือนก่อน +1

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

  • @Syed.KhubaibAli
    @Syed.KhubaibAli 7 หลายเดือนก่อน

    Thank you soo much @Amichai Mantinband, this was great video and I really did enjoy following it.

  • @yannistocreau3598
    @yannistocreau3598 ปีที่แล้ว

    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 !

  • @andrewseaton5727
    @andrewseaton5727 2 ปีที่แล้ว

    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.

  • @aisonjackmendoza7709
    @aisonjackmendoza7709 11 หลายเดือนก่อน

    The best introduction to clean architecture. Thank you

  • @leaalonmagen1108
    @leaalonmagen1108 2 ปีที่แล้ว

    Super cool!
    Looking forward to the rest of the series :)

  • @j.erlandsson
    @j.erlandsson 2 ปีที่แล้ว

    Really good job explaining this from a code perspective. I'm not a C# dev but I understood literally everything you did. Kudos

    • @amantinband
      @amantinband  2 ปีที่แล้ว +1

      Really great to hear, thanks!

  • @mahmoudzeort7078
    @mahmoudzeort7078 ปีที่แล้ว

    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.

  • @acuencadev
    @acuencadev ปีที่แล้ว

    First ever TH-cam? Man, you nailed it. Very well explained and relevant content. 👌

  • @nirajchandrajoshi
    @nirajchandrajoshi 11 หลายเดือนก่อน

    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.

  • @alikaracadev
    @alikaracadev 2 ปีที่แล้ว

    excited to see a ddd example, nice intro video hope you finish this series

  • @HadrielWonda
    @HadrielWonda ปีที่แล้ว

    I love your work so much mr Amichai... you inspire my coding style

  • @danil3700
    @danil3700 ปีที่แล้ว

    Very nice lessons!) You're my favorite blogger from now on

  • @pejman2114
    @pejman2114 ปีที่แล้ว

    one of the best courses i've seen on youtube

  • @ycarobatalha4215
    @ycarobatalha4215 ปีที่แล้ว

    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.

  • @riverobenjamin
    @riverobenjamin ปีที่แล้ว

    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. 😁

  • @avecesar
    @avecesar 2 ปีที่แล้ว

    Thank you for sharing this awesome content.... Muchas gracias !!! Saludes desde Colombia!

  • @gakhappy
    @gakhappy 2 ปีที่แล้ว

    I Just wowed, this is really great content so far in this topic.

  • @jamesevans6438
    @jamesevans6438 2 ปีที่แล้ว

    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.

    • @amantinband
      @amantinband  2 ปีที่แล้ว +1

      That’s amazing feedback, thanks James. Please let me know if you have suggestions or insights on topics you are familiar with 🙏🏼

  • @user-tg4io1lo5q
    @user-tg4io1lo5q ปีที่แล้ว

    Thank you very much for your video. It has allowed me to learn about DDD.

  • @brunohenriquedossantos1518
    @brunohenriquedossantos1518 ปีที่แล้ว +16

    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!

  • @wolfgangdiemer2511
    @wolfgangdiemer2511 2 ปีที่แล้ว

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

    • @amantinband
      @amantinband  2 ปีที่แล้ว

      Best comment ever ❤️😁

    • @abj136
      @abj136 2 ปีที่แล้ว

      what is this “throw, error-or” and why is it great?

  • @devzen_8520
    @devzen_8520 2 ปีที่แล้ว

    Very well articulated, thanks for sharing.

  • @taldagan4878
    @taldagan4878 2 ปีที่แล้ว

    Thorough explanation. loved it

  • @talkathiriify
    @talkathiriify 5 หลายเดือนก่อน

    Really Excellent!
    Thank you very much for your time and efforts.

  • @Seyanhyriu
    @Seyanhyriu 2 ปีที่แล้ว

    thank you for the video! a lot of stuff happening but i'm being able to follow it!

  • @ericcartman2294
    @ericcartman2294 2 ปีที่แล้ว

    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.

    • @amantinband
      @amantinband  2 ปีที่แล้ว

      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

  • @microtech2448
    @microtech2448 6 หลายเดือนก่อน

    It is amazing to see how fluent you are fluent with VS Code

  • @sneigee
    @sneigee ปีที่แล้ว +1

    That amazing and awesome bro... keep it up.. your channel will blow up soon....

  • @user-qk3mj2fv3r
    @user-qk3mj2fv3r ปีที่แล้ว

    Ty so mutch! I will keep watch this on till the end...

  • @DmitriMogilevski
    @DmitriMogilevski 2 ปีที่แล้ว +5

    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.

    • @amantinband
      @amantinband  2 ปีที่แล้ว +2

      That's great feedback. Thanks, Dmitri!

  •  2 ปีที่แล้ว

    I am following. Your interpretation is very good.

  • @thomasfgooch
    @thomasfgooch 9 หลายเดือนก่อน

    I love the way your terminal looks... do you have a video on crafting this stunning visual implementation? awesome

  • @dries9070
    @dries9070 2 ปีที่แล้ว

    Thanks for this excellent (fast) video!

  • @SajidAliSoftwareEngineer
    @SajidAliSoftwareEngineer 2 ปีที่แล้ว

    awesome training. really learning new things. ❤

  • @ebrahimmansur9815
    @ebrahimmansur9815 2 ปีที่แล้ว

    sounds great... looking forward to it

  • @musazulu7013
    @musazulu7013 2 ปีที่แล้ว

    Thank you for great content, you have earned yourself a follower

  • @marknigelvillanueva2577
    @marknigelvillanueva2577 ปีที่แล้ว

    Thank you very much for this! clear and concise 👍

  • @PaulSebastianM
    @PaulSebastianM 2 ปีที่แล้ว +20

    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.

    • @jasondads9509
      @jasondads9509 2 ปีที่แล้ว

      Not quite tdd, but guess that makes sense

    • @riverobenjamin
      @riverobenjamin ปีที่แล้ว

      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!

  • @pouriyababaali7040
    @pouriyababaali7040 2 ปีที่แล้ว

    awesome , I look forward to new episodes

  • @dmytroparfeniuk2670
    @dmytroparfeniuk2670 ปีที่แล้ว

    Great videos!
    Thanks a lot for your job!

  • @dxhelios7902
    @dxhelios7902 2 ปีที่แล้ว

    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.

    • @amantinband
      @amantinband  2 ปีที่แล้ว

      Awesome to hear! What exactly would you like me to clarify?

  • @fadygamilmahrousmasoud5863
    @fadygamilmahrousmasoud5863 ปีที่แล้ว

    You are amazing, Thank you for this effort ❤

  • @georgesaeid7231
    @georgesaeid7231 8 หลายเดือนก่อน

    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.

  • @narenderjaswal
    @narenderjaswal 10 หลายเดือนก่อน

    Thank you so much for providing such education.

  • @justind6983
    @justind6983 2 ปีที่แล้ว +2

    This looks like a great workflow

    • @wellyngtond2
      @wellyngtond2 2 ปีที่แล้ว

      I tryed to clear my screen. haha

  • @swapnilshingade8710
    @swapnilshingade8710 ปีที่แล้ว

    Amichai Absolutely great content delivered at apt pace.

  • @HaoNguyen-km9xj
    @HaoNguyen-km9xj 2 ปีที่แล้ว

    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...

  • @karolniedziela3658
    @karolniedziela3658 2 ปีที่แล้ว

    Great content, looking forward to more

  • @nikitausefi2061
    @nikitausefi2061 ปีที่แล้ว

    thank you for creating this awesome course

  • @eminentm1655
    @eminentm1655 ปีที่แล้ว

    Pure Gold, Thanks alot Sir.

  • @rogeriolimas
    @rogeriolimas 8 หลายเดือนก่อน

    THANK YOU A LOT FOR YOUR WORK!
    It's amazing!

  • @mahdimollaeian8840
    @mahdimollaeian8840 2 ปีที่แล้ว

    great job, don't keep us waiting too long :)

  • @maroxesen1
    @maroxesen1 2 ปีที่แล้ว

    Subscribed with bell icon within the first 2 minutes.

  • @darkmift
    @darkmift 2 ปีที่แล้ว

    This is high quality content mate