How to build a REST API with Node js & Express

Поделиться
HTML-код
  • Опубликовано: 14 июн 2024
  • Learn to build a REST API with Node js & Express in just 1 hour!
    🔥Get the complete Node course: bit.ly/2NfkpOC
    Subscribe for more videos:
    / @programmingwithmosh
    Want to learn more from me? Check out my blog and courses:
    Courses: codewithmosh.com
    Blog: programmingwithmosh.com
    Facebook: / programmingwithmosh
    Twitter: / moshhamedani
    TABLE OF CONTENT:
    00:49 What are RESTful APIs
    06:48 Introducing Express
    09:09 Your First Web Server
    14:57 Nodemon
    16:29 Environment Variables
    19:44 Route Parameters
    25:22 Handling HTTP GET Requests
    30:09 Handling HTTP POST Requests
    33:53 Calling APIs using Postman
    36:03 Input Validation
    44:03 Handling HTTP PUT Requests
    52:33 Handling HTTP DELETE Requests

Комментарии • 928

  • @YoussefZidan
    @YoussefZidan 4 года назад +50

    I've been learning web development for over a year, and I've never seen such amazing, organized, coherent courses like yours! Thanks Mosh!

  • @kazaakas
    @kazaakas 5 лет назад +115

    Knew most of this, but I still watched the entire tutorial because it was so incredibly well structured and didactic.
    You are a born teacher. I've often fantasized about making great and clear youtube tutorials, in my wildest most perfect fantasies, they looked exactly like the stuff you actually make! Incredible!

  • @mauronapsuciale3720
    @mauronapsuciale3720 4 года назад +75

    This is the clearest, most elegant tutorial of Express JS basics. Amazing since it was uploaded two years ago. Thanks, Mosh.

  • @danyhan91
    @danyhan91 5 лет назад +4

    I was struggling learning how to create a server with node and express. This tutorial is really easy to understand and well-structured for beginners. This is so far the best tutorial on RUclips!!! Thank you so much, Mosh!!!

  • @kmfrancescofusco6217
    @kmfrancescofusco6217 5 лет назад +12

    Great content! Very clear, well explained, with the perfect balance between simplicity and depth. Fantastic job!

  • @greenie62
    @greenie62 6 лет назад +40

    Very much dug and appreciated this tutorial. Where as a couple of others I 'learned' things, here I started to actually understand them. That's quite a bit more satisfying!

  • @PrisantyaFridayana
    @PrisantyaFridayana 5 лет назад +19

    Thank you for your tutorial..
    As a starter in Node, I found this really helpful
    Well structured explanation and good flow for a starter
    Now I could understand the basic of Node..

  • @alansaldivares
    @alansaldivares 6 лет назад +16

    Man! this for far one of the best well explained Node+Express crash courses I've ever seen. You convinced me to buy the full series :)

  • @davenash1547
    @davenash1547 6 лет назад +22

    Mosh, your teaching style is so clear. Thank you for the courses!

  • @OvidiuPop70
    @OvidiuPop70 2 года назад +34

    If you meet the validation error, you have to do some changes to be according with your Joi version.
    With my Joi version: joi@17.6.0, the next changes worked:
    const schema = Joi.object({
    name: Joi.string()
    .min(3)
    .max(30)
    .required()
    });
    const result = schema.validate(req.body);
    console.log(result);

    • @golu4625
      @golu4625 Год назад +2

      Thanks bro it really help.🙏

  • @dataSMASH
    @dataSMASH 4 года назад +13

    Great tutorial. I had just finished the express course on codecademy and was still really confused. Watching this gave me a much better understanding and explanation of the why and how of building endpoints with express on your actual computer. I'll definitely be checking out your courses and your other videos.

  • @allain5840
    @allain5840 5 лет назад +4

    I've been a c# dev for about 7 years and wanted to learn new technologies like nodejs and this video is great to start with. Thanks Mosh

  • @vaibhavshukla4761
    @vaibhavshukla4761 6 лет назад +17

    Today was a lucky day I got the right tutorial on right time on RUclips

  • @mikek.2703
    @mikek.2703 5 лет назад +22

    Massive thanks. This helped me a lot.

  • @David-ik4mm
    @David-ik4mm 2 года назад +2

    You are the light of my life! You are a hidden diamond in youtube! I really don't know how a person could be so good at explaining things and make it accessible to all !! Thanks a lot for help.

  • @abhishekkumar-ih2ox
    @abhishekkumar-ih2ox 5 лет назад +5

    such a great tutorial i had seen ever. Thanks for great organised and to the point video.

  • @NavinKumarmathur
    @NavinKumarmathur 6 лет назад +13

    ur style of explaining things in this tutorial is very good. 👍 I'm lucky to watching this tutorial

  • @gerarldlee
    @gerarldlee 5 лет назад +3

    Hi Mosh, this is so great. You explain it in detail yet clearly understandable. Awesome.

  • @nopa3083
    @nopa3083 4 года назад +1

    Mosh you are the man I learned this in my full-stack boot-camp, but didn't fully understand it. Your example was clear concise and helped me understand it better.

  • @shanes2007
    @shanes2007 5 лет назад +79

    Very good tutorial Mr. Mosh..Things are organised very well...Nothing is more or less..Good effort....Thank u...

  • @soumaghosh2671
    @soumaghosh2671 5 лет назад +13

    Awesome tutorial MOSH!
    You made me feel at ease with learning new powerful frameworks which I was really scared of....thank you so much....

  • @zamudpoe
    @zamudpoe 3 года назад +19

    I appreciated a lot this free one hour tutorial, I already finish it and I bougth already right now!, I hope the full course is ok and updated!... If you guys want to learn dont hesitate ... watch this video of one hour and when you finish , you'll be more skilled than the before you watched this free course of one hour!.

  • @nikki_ke_nuskhe
    @nikki_ke_nuskhe 3 года назад +27

    41:17 from v17 of the joi package, here's the updated code of the post route
    const schema = Joi.object({
    name: Joi.string().min(6).required()
    });
    const result = schema.validate(req.body);
    console.log(result);

    • @ahartami1014
      @ahartami1014 3 года назад

      Hi, I am using Joi version 17 too. I have problem because Joi.validate or Joi.Object are not recognized functions. Could you help or explain a little bit more?
      function validateCourse(course){
      const schema = Joi.Object({
      name: Joi.string().min(3).required()
      });
      return schema.validate(req.body);
      }

    • @ahartami1014
      @ahartami1014 3 года назад +5

      I have solved the problem. I have to use Joi.object and correct parameter. It is working now. Thank you.
      function validateCourse(course){
      const schema = Joi.object({
      name: Joi.string().min(3).required()
      });
      return schema.validate(course);
      }

    • @audraogilvy2605
      @audraogilvy2605 2 года назад +1

      Thank you, Niharika!!!!

    • @baklangfrog7708
      @baklangfrog7708 Год назад

      im not sure if i understood but can i just do validation from client side¿

  • @erezta4155
    @erezta4155 5 лет назад +67

    Very professional teaching..
    Moish, you are bomba.

  • @cellocarlos
    @cellocarlos 5 лет назад +11

    You should make a video teaching how to integrate nodejs and angular features. Your way to teach is unique!

  • @tonydas876
    @tonydas876 6 лет назад +1

    Thanks Mosh for this excellent video. Could not have got a simpler way of beginning with Node.

  • @edhead76
    @edhead76 4 года назад

    Your tutorials are so clear. Can't thank you enough!

  • @vaibhavphutane286
    @vaibhavphutane286 5 лет назад +5

    I bought your angular course on udemy and that was too good having right content in minimal time. This video about nodejs is awesome thanks mosh

  • @LuliiThePetBestie
    @LuliiThePetBestie 5 лет назад +3

    What a great tutorial! Keep up the good work.

  • @KDOERAK
    @KDOERAK 5 лет назад

    Another excellent course by Mosh: clear, to the point, practical. Not a waste of time. Thx!

  • @balanceiseverything2565
    @balanceiseverything2565 4 года назад

    Wow, thank you Mosh. This is the clearest, most detailed explanation I have come across. This helped me so much and I thank you so much. Going to get your course now as I love your teaching. Spot on

  • @venkataramanagovindu5244
    @venkataramanagovindu5244 5 лет назад +104

    00:49 What are RESTful APIs
    06:48 Introducing Express
    09:09 Your First Web Server
    14:57 Nodemon
    16:29 Environment Variables
    19:44 Route Parameters
    25:22 Handling HTTP GET Requests
    30:09 Handling HTTP POST Requests
    33:53 Calling APIs using Postman
    36:03 Input Validation
    44:03 Handling HTTP PUT Requests
    52:33 Handling HTTP DELETE Requests

    • @tekz541
      @tekz541 2 года назад

      thank you so much

    • @r_lonef
      @r_lonef 2 года назад +2

      @@tekz541 you blind this is in the description

    • @tekz541
      @tekz541 2 года назад

      @@r_lonef ahhh, im was not reading the description

    • @r_lonef
      @r_lonef 2 года назад

      @@tekz541 programmers always should if they need something :)

  • @rashi1662
    @rashi1662 9 месяцев назад +5

    19:14 below commands for windows, these are case sensitive so use exact VARIABLE name
    For Command Prompt: set PORT=5000
    For Power Shell: $env:port=5000
    For Bash (Windows): export PORT=5000

  • @amirmustafa622
    @amirmustafa622 5 лет назад +2

    Thank you sir for your wonderful course on CRUD. Loved it and its the perfect teaching :)

  • @manox1808
    @manox1808 5 лет назад +2

    Excellent video. Very well structured. thanks

  • @fitigued
    @fitigued 3 года назад +8

    As Mosh wisely said to use that specific version of Joi it will work but note that in the current version of Joi you have to make the schema a Joi.object and then at 40:54 validate the schema rather than validate Joi e.g. schema.validate(req.body).

  • @JoyAcharyatvl
    @JoyAcharyatvl 5 лет назад +4

    In one sentence , This lecture is awesome Mr. Mosh. thanks.

  • @soniachh123
    @soniachh123 4 года назад

    Thanks Mosh, for explaining concepts so easily and clearly with examples.

  • @DTX_
    @DTX_ 5 лет назад

    Thanks a lot, Mosh. I learned a lot. I'm probably going to buy the full course, man!

  • @maheshjamdade1
    @maheshjamdade1 5 лет назад +27

    Oh mosh this is a great tutorial the exact thing I WANTED TO learn,perfect for those who want to learn How backend stuffs work

  • @drupalguy
    @drupalguy 3 года назад +3

    Thank you Mosh, this is a great tutorial; so many node concepts in one lesson and presented in a straightforward way.

  • @ahmfahady4184
    @ahmfahady4184 4 года назад

    It's really amazing what you are teaching Mosh. Your methods, content and video production are all perfect. I wish you all the best!

  • @namanrustagi5501
    @namanrustagi5501 8 месяцев назад +1

    Explained everything very beautifully ,simply,precisely. Wow!!!!!!!!!!!

  • @MichaelRoberts-js6oy
    @MichaelRoberts-js6oy 8 месяцев назад +5

    At 41:00, if using Joi v17, Joi.validate() no longer works. Instead your schema object should be
    const schema = Joi.object({ name: Joi.string() });
    Then use
    const result = schema.validate(req.body);

  • @Kinos141
    @Kinos141 5 лет назад +5

    This has to be the easiest tutorial on the subject. The others I've found do too much. Thank you, sir.

  • @dhruvikdeveloper9108
    @dhruvikdeveloper9108 3 года назад +2

    all of your tutorials are awesome, easy to understand, interesting, and very helpful for a beginner student

  • @martind4491
    @martind4491 3 года назад

    Mosh, such a clear and fully comprehensive tutorial. Very professional video. I will get the course straight away.

  • @maxmustsleep
    @maxmustsleep 2 года назад +8

    A few notes for everybody watching in 2021:
    // On windows you set environment variables like this:
    set "$Env:PORT = 5000"
    //(or maybe without the "" )
    // Joi Validation method has changed! it's now like this:
    const schema = Joi.object({
    name: Joi.string().min(3).required(),
    });
    const result = schema.validate(req.body);
    console.log(result);

    • @Stafford-Shire
      @Stafford-Shire 2 года назад +1

      You're a savior. Thanks!

    • @shivaniganji4300
      @shivaniganji4300 2 года назад

      For me, it's still listening to Port 3000... is there any other way to solve this?

    • @tochukwuchiguzorom7934
      @tochukwuchiguzorom7934 2 года назад

      @@shivaniganji4300 Yeah, just set PORT=5000. don't put any space between the PORT, the equality sign and the 5000.

  • @edwardmarkovich1989
    @edwardmarkovich1989 5 лет назад +4

    Excellent, thank you very Mosh.

  • @ladycoder2095
    @ladycoder2095 5 лет назад

    I Love both the coding and presentation style, thanks a bunch Mosh :)

  • @hanytaha4307
    @hanytaha4307 3 года назад +2

    Thanks Mosh, that gave me clear understand of express

  • @AvinashSingh-nq5ud
    @AvinashSingh-nq5ud 6 лет назад +5

    Awesome,Please upload more videos on building api

    • @DefriaManda
      @DefriaManda 6 лет назад

      You can find all of this here: www.udemy.com/user/moshfeghhamedani/

  • @lynndemarest1902
    @lynndemarest1902 3 года назад +6

    For those who missed it in the comment below, Joi has changed. This worked for me:
    const schema = Joi.object({
    name: Joi.string().min(3).required()
    });
    const result = schema.validate(req.body);
    console.log(result);
    if (result.error){
    res.status(400).send(result.error)
    }

    • @mathewkempke4570
      @mathewkempke4570 3 года назад

      can we find a way to pin this to the top? I almost gave up because of this part

    • @shanthuog2589
      @shanthuog2589 3 года назад

      if we install joi in the way it shows in the video. we wouldn't need this.

    • @mathewkempke4570
      @mathewkempke4570 3 года назад

      @@shanthuog2589 yea lets just not use the updated version of JOI makes sense

    • @emje6876
      @emje6876 2 года назад

      thanks for this .

  • @yoavk
    @yoavk 4 года назад

    Looking forward to watch this video this weekend. Thanks!

  • @ashishpatel6343
    @ashishpatel6343 3 года назад

    This contest is terrific Mosh. Easy to understand and clear explanations. I also enjoyed the other NodeJS videos.

  • @ProgramWithErik
    @ProgramWithErik 6 лет назад +22

    I bought your Angular course on Udemy and I saw you had a RUclips! Very cool!

  • @MaskuCreative
    @MaskuCreative 3 года назад +3

    Thank you .. You are the best tutor..... FYI , Joy Validate has made change in 2021, i use this code to resolve my problem of "Joi.validate is not a function".
    app.post('/api/courses', (req,res) => {
    const schema = Joi.object({
    name: Joi.string().min(3).required()
    });
    const result = schema.validate(req.body);
    console.log(result);

  • @farstyfarstfarst9668
    @farstyfarstfarst9668 4 года назад

    Seriously well-crafted, thanks!

  • @shivsticker9680
    @shivsticker9680 4 года назад

    Fantastic tutorial. A great introduction into REST APIs, coming from someone who has never really messed with them before. Definitely buying this course.

  • @meditationandrelaxingsound9077
    @meditationandrelaxingsound9077 2 года назад +75

    It's scary seeing that someone knew about this four years ago

    • @aatiqaghazali7850
      @aatiqaghazali7850 Год назад +1

      Same bro same

    • @obiabamba8529
      @obiabamba8529 Год назад +13

      This guy knew everything a long time ago, c++, c#, java, JavaScript, python, PHP et cetera. He knows everything in-depth, he is like a super tech master of all genius.

    • @ananyamahapatra6597
      @ananyamahapatra6597 Год назад

      🤣🤣🤣😂😂😂

    • @angryman9333
      @angryman9333 Год назад

      Lmao,

    • @MedaGrande
      @MedaGrande Год назад

      😂😂😂

  • @clementita54
    @clementita54 2 года назад +6

    00:00 - Intro
    00:50 - Restful services
    06:50 - Introducing Express
    09:10 - Your First Web Server
    14:58 - Nodemon
    16:30 - Environment Variables
    19:45 - Route Parameters
    23:07 - autopromo
    25:25 - Handling GET Requests
    30:10 - Handling POST Requests
    44:03 - Handling PUT Requests
    52:36 - Handling DELETE Requests
    55:25 - Fixing a bug
    57:25 - Project

    • @clementita54
      @clementita54 2 года назад +1

      If you could add this to your description would be cool for new viewers :)

    • @0zniugnep904
      @0zniugnep904 11 месяцев назад

      @@clementita54 bump

  • @rayremnant
    @rayremnant 5 лет назад

    This is absolutely great, thank you Mosh.

  • @FabioGiacomini
    @FabioGiacomini 4 месяца назад

    Thanks a lot Mosh. A very good video, well explained and built. I was just looking for something like this

  • @codingwalnuthindi6984
    @codingwalnuthindi6984 4 года назад +3

    would recommend you to create a GitHub repository so that we don't have to pause the video to write code and run it every time.

  • @marufhasan9365
    @marufhasan9365 5 лет назад +3

    How do you know what will be returned from the request " require("module_name") " .
    For example you said require("express") returns a function and require("joi") returns a class. I am wondering where i can find those information.

    • @alexandernordstrom1617
      @alexandernordstrom1617 3 года назад +1

      Excellent question! You'd have to either look at the documentation for the module or explore it yourself, and the easiest way to do that is to run node interactively. Just run node without arguments from the command line, type in the require statement for the module and hit enter. If we're nitpicking, require("joi") returns doesn't return a class but rather an object of the class that it defines.

  • @TheAssasinsBreed
    @TheAssasinsBreed 5 лет назад +3

    nice teacher, nice tutorial :) totally worth my time.. thanks!

  • @joytank9200
    @joytank9200 4 года назад

    Amazing tutorial, explained everything easily and all my concepts got cleared out.Thank you Sir.

  • @Snitovets
    @Snitovets 6 лет назад +38

    in powershell to set port variable: $env:PORT = 5000

  • @karimkhabourii5105
    @karimkhabourii5105 6 лет назад +4

    Can u upload it in Udemy ?

  • @vamshigudimalla1013
    @vamshigudimalla1013 3 года назад

    thankyou mosh , I have been watching API building videos but I had always stuck at routes topic
    but watching your video I not only have cleared my doubt but also acquired good knowledge

  • @tylerkillspoon
    @tylerkillspoon 5 лет назад

    Incredible tutorial!! Thank you Mosh :)

  • @DrazV2
    @DrazV2 5 лет назад +3

    I can't get the PORT environment variable to work on Windows 10... What am I doign wrong?
    I've tried git bash, powershell and going through the system properties.
    I've tried $env:PORT, export PORT, set PORT, PORT...
    Also for some reasons I couldn't get the PUT and DELETE requests to work.

    • @RenuRawat
      @RenuRawat 5 лет назад +2

      You can use cross-env. It will let you use environment variables across platforms. Accessing process environment variables is always a problem in windows machines.
      You can simple install it by running the command-
      npm I cross-env -D
      Then go to your package.json file inside scripts section you will see the start command, simple replace it with
      "cross-env PORT=3000 npm start"
      (Just prepend cross-env before the star command)

    • @RenuRawat
      @RenuRawat 5 лет назад +2

      Regarding you your second query it may be some problem with the routing.
      Happy coding

  • @aaron1073
    @aaron1073 4 года назад +5

    If anyone was struggle like I was since Joi has been deprecated here's my solution
    The way I got it to work was first const Joi = require('@hapi/joi');
    The way I defined the schema was const schema = Joi.object({ name: Joi.string().min(3).required() })
    The way I got it to validate const result = schema.validate(req.body)

    • @AlexBuaiscia
      @AlexBuaiscia 4 года назад

      thank you! I just had missed a little thing but I managed to make it work now :)

    • @subparmelon
      @subparmelon 4 года назад

      I stumbled across this. Can confirm this as working in version 17.1.0.
      I would highly recommend that if you are using VS Code make sure your intellisense is working. You will see that validate() takes two arguments *value: any* and an optional argument *options?: Joi.ValidationOptions*.

  • @motivatemanager7778
    @motivatemanager7778 4 года назад

    code with mosh you are the boss.... love your tutorials it clear my all doubt of route handing

  • @sriramkulkarni3691
    @sriramkulkarni3691 6 лет назад

    Awesome Mosh, i like your way you explaining the code and much clarity is their in your lecture

  • @timbermonson
    @timbermonson 4 года назад +8

    Helpful tip: for setting the environment variable in the "PORT" example, "set PORT=5000" may not work in Windows. $env:PORT = 5000 worked for me instead.

  • @Pr0Cre
    @Pr0Cre 3 года назад +14

    Okay why at 47:27 gets the whole courses updated when we only have the "course" which we extracted from the courses with the find function
    Edit: solved

    • @libruhh2785
      @libruhh2785 3 года назад +22

      Don't ever just edit some problem you've posted about to say "solved." Share what the solution was so that others who are experiencing the same issue can learn from your question.

    • @rafagawlikowski9267
      @rafagawlikowski9267 3 года назад +9

      It's because of JS nature - whenever you assign some existing object/array to some variable, you actually get the reference to that object/array (not its copy)
      Check it out yourself in the console
      let obj1 = {a: 1}
      let obj2 = obj1
      obj2.a = 4
      console.log(obj1.a) // 4
      That's because it's the same object
      console.log(obj1 === obj2)
      Ahh - and also notice that
      {a: 1} === {a: 1} // false
      That's because of how JS checks equality of objects

    • @coolrock3733
      @coolrock3733 3 года назад

      @@rafagawlikowski9267 Thanks for taking the time to type this out and explain

  • @Pareshbpatel
    @Pareshbpatel 3 года назад

    A very clear tutorial on building APIs with Node and Express. The best tutorial on the subject. Thanks, Mosh
    {2021-08-14}, {2023-12-15}

  • @koleen3799
    @koleen3799 6 лет назад

    Great Tutorial! highly recommended. Thanks Mosh :)

  • @_mayankr
    @_mayankr 5 лет назад +25

    joi is deprecated, express-validator is an alternative that can be used now.

    • @Colstonewall
      @Colstonewall 5 лет назад +4

      No, it's just been moved here: hapijs.com/tutorials/validation. If you would've read the page, it says "This module has moved and is now available at @hapi/joi. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues."

  • @josiahchristensen1311
    @josiahchristensen1311 6 лет назад +15

    There is an issue with your PUT request logic. Let me give you an example. You have the course id's [1, 2, 3]. Then you delete [1]. So you have [2, 3] with length 2. Your PUT assigns the id (length + 1) which is equal to (3), so now you have the course id's [2, 3, 3] so you also need a validiateCourseID() function in order to ensure you don't have duplicate course id's because when calling a GET request on id=3 you will get duplicate results.

    • @josiahchristensen1311
      @josiahchristensen1311 6 лет назад +2

      Programming with Mosh alright that makes sense. It's just that you taught the course as if we have prior JavaScript knowledge, and hopefully any programmer would have been able to catch a fatal error such as that. Because that would allow you to have lots of duplicate id's.

    • @dylanbacon5047
      @dylanbacon5047 5 лет назад +4

      could just use --> id: courses[courses.length-1].id +1

    • @osaenzm
      @osaenzm 5 лет назад +1

      let maxId = 1;
      if (courses.length > 0) {
      maxId = courses.reduce((max, c) => c.id > max ? c.id : max, courses[0].id) + 1;
      }

  • @saoussenslii
    @saoussenslii 2 года назад

    simple, straightforward, excellent !!!!!!

  • @VivekKumar-ov8sg
    @VivekKumar-ov8sg 5 лет назад

    Thank u mosh! Really great tutorial. It helped me a lot.

  • @kavyaagrawal2013
    @kavyaagrawal2013 3 года назад +4

    "And I know this probably doesn't make any sense to you...
    ...because it was introduced by a *p h p s t u d e n t* "
    I DIED XD

    • @nap4lm238
      @nap4lm238 3 года назад +4

      "PhD student as part of his thesis", not PHP

  • @wohani2039
    @wohani2039 3 года назад +3

    When someone loves you, the way they talk about you is different. You feel safe and comfortable.

  • @vinodhkumarm1655
    @vinodhkumarm1655 6 лет назад

    Your videos helped me expand my knowledge thank you so much for your interest in teaching what you have learnt in a very clear & precise manner. Appreciate it!

  • @hamedganjeali6735
    @hamedganjeali6735 3 года назад

    You rock! I wonder why haven't I found your channel 'till now. tnx for your spectacular tutorials

  • @lathakumari626
    @lathakumari626 Год назад +4

    How to get and post real data is not shown. This video is not worth watching for an hour.

  • @dkreddy
    @dkreddy 4 года назад

    such a great tutorial i have ever watched. Thanks a ton.

  • @rei.orozco
    @rei.orozco 2 года назад

    Thanks a lot Mosh, this class was sublime.

  • @therealpunitdh
    @therealpunitdh 3 года назад

    I'm buying your full course after watching this. Legendary stuff.

  • @Jovirus
    @Jovirus 5 лет назад

    Very helpful, and detail. Thank you.

  • @joanathanjosuegomezbustama1980
    @joanathanjosuegomezbustama1980 4 года назад

    This guy is awesome. This is such an amazing job! Thanks.

  • @JauVi85
    @JauVi85 5 лет назад

    This is great! Nicely explained. There are tons of those tutorials in which they just do tons of stuff while telling that they do all this stuff but NOT telling WHY.

  • @tonykieling7664
    @tonykieling7664 5 лет назад

    Awesome video! Thanks and congrats, Mosh!!

  • @TheMihirpatel23
    @TheMihirpatel23 4 года назад

    Thank you so much .. Most informative things learned in just one hour

  • @Middollo
    @Middollo 6 лет назад

    I love this lecture, your speaking manner, pace and explanations are ideal. Not too much detail but just enough. Background music also helps with concentration.

  • @DavidAmselem
    @DavidAmselem 5 лет назад

    Excellent tutorial. This is a great intro. Thank you

  • @xiaoyingshi2017
    @xiaoyingshi2017 4 года назад

    Thanks for explaining. It's getting so easy to understand Expressjs.

  • @jashangoyal7976
    @jashangoyal7976 5 лет назад

    Its first time I completed the one-hour tutorial. Great explanation sir. Thank you :)