1 00:00:02,350 --> 00:00:07,350 Hello and welcome to this complete Node.js, Express 2 00:00:07,500 --> 00:00:09,920 and MongoDB bootcamp. 3 00:00:09,920 --> 00:00:14,290 I'm really happy to welcome you to this huge course today. 4 00:00:14,290 --> 00:00:17,130 And I promise you came to the right place 5 00:00:17,130 --> 00:00:20,210 if you want to start building your own modern 6 00:00:20,210 --> 00:00:22,610 and powerful backend applications 7 00:00:22,610 --> 00:00:26,453 with Node.js and all the related modern technologies. 8 00:00:27,370 --> 00:00:29,820 Now before we really start this course, 9 00:00:29,820 --> 00:00:32,140 let's take five quick minutes or so 10 00:00:32,140 --> 00:00:35,482 to talk about what's included in the course, 11 00:00:35,482 --> 00:00:37,430 how the course is gonna work 12 00:00:37,430 --> 00:00:40,160 and also how to ask questions 13 00:00:40,160 --> 00:00:43,370 and let me start by giving you a quick overview 14 00:00:43,370 --> 00:00:45,270 of how the course is organized, 15 00:00:45,270 --> 00:00:47,580 the projects that we're gonna code together 16 00:00:47,580 --> 00:00:51,090 and also what exactly you are going to learn. 17 00:00:51,090 --> 00:00:55,290 So, the course is basically divided into four big parts, 18 00:00:55,290 --> 00:00:57,600 the absolute Node.js basics, 19 00:00:57,600 --> 00:00:58,970 how backend development 20 00:00:58,970 --> 00:01:01,070 and Node.js actually work 21 00:01:01,070 --> 00:01:03,006 and then part three and four 22 00:01:03,006 --> 00:01:06,750 are for the complete real-world Natours project 23 00:01:06,750 --> 00:01:10,350 which really is the main part of this course. 24 00:01:10,350 --> 00:01:12,490 And this project has two parts 25 00:01:12,490 --> 00:01:16,660 because the same application contains both a RESTful API 26 00:01:16,660 --> 00:01:20,990 and a server-side rendered website based on the same data. 27 00:01:20,990 --> 00:01:24,183 So, let's now look at each part in more detail. 28 00:01:25,290 --> 00:01:28,120 And we're gonna kick off the course in part one 29 00:01:28,120 --> 00:01:29,920 which is section two 30 00:01:29,920 --> 00:01:32,480 by building this small fun project 31 00:01:32,480 --> 00:01:36,040 with will teach you the fundamentals of Node.js development 32 00:01:36,040 --> 00:01:38,440 so that you get a solid foundation 33 00:01:38,440 --> 00:01:40,700 for the rest of the course. 34 00:01:40,700 --> 00:01:43,970 Then in part two, you're gonna learn the fundamentals 35 00:01:43,970 --> 00:01:45,660 of backend development 36 00:01:45,660 --> 00:01:49,640 and also how Node.js actually works behind the scenes 37 00:01:49,640 --> 00:01:52,110 and this is gonna be a mix of theory 38 00:01:52,110 --> 00:01:54,170 and coding lectures designed 39 00:01:54,170 --> 00:01:57,190 to give you the knowledge that many other Node developers 40 00:01:57,190 --> 00:01:59,700 out there simply don't have. 41 00:01:59,700 --> 00:02:02,693 And this content is in sections three and four. 42 00:02:03,590 --> 00:02:06,970 Section five then is just a quick optional section 43 00:02:06,970 --> 00:02:08,440 to bring you up to speed 44 00:02:08,440 --> 00:02:11,820 with JavaScript promises and async await. 45 00:02:11,820 --> 00:02:13,714 So, just in case you're not familiar 46 00:02:13,714 --> 00:02:15,763 with these modern tools yet. 47 00:02:16,710 --> 00:02:17,950 In the third part, 48 00:02:17,950 --> 00:02:21,240 we finally start building the Natours project. 49 00:02:21,240 --> 00:02:23,060 So, in this part three, 50 00:02:23,060 --> 00:02:26,650 from section six, all the way to section 11, 51 00:02:26,650 --> 00:02:29,110 we design and build the API 52 00:02:29,110 --> 00:02:33,350 and for that we take a deep dive into the Express framework, 53 00:02:33,350 --> 00:02:36,000 MongoDB and Mongoose. 54 00:02:36,000 --> 00:02:39,970 You will also learn all about real network applications, 55 00:02:39,970 --> 00:02:43,570 routing, CRUD operations, data modeling, 56 00:02:43,570 --> 00:02:47,410 geospatial data using the MVC architecture, 57 00:02:47,410 --> 00:02:50,470 modern authentication with JSON web tokens, 58 00:02:50,470 --> 00:02:53,730 authorization, security, error handling 59 00:02:53,730 --> 00:02:55,683 and so much more. 60 00:02:56,640 --> 00:02:58,950 Then in part four of the course 61 00:02:58,950 --> 00:03:01,110 after the finished API, 62 00:03:01,110 --> 00:03:03,570 we are ready to build the rendered website 63 00:03:03,570 --> 00:03:05,210 using PUG templates 64 00:03:05,210 --> 00:03:07,430 to really bring the project to life 65 00:03:07,430 --> 00:03:10,530 with a beautiful user interface 66 00:03:10,530 --> 00:03:13,960 and by the way, I decided to do the API first 67 00:03:13,960 --> 00:03:15,450 and the website later 68 00:03:15,450 --> 00:03:18,780 because this way we already have all the work related 69 00:03:18,780 --> 00:03:20,760 to data out of the way. 70 00:03:20,760 --> 00:03:25,520 And can then focus exclusively on building the website. 71 00:03:25,520 --> 00:03:29,700 So, section 12 and 13 are for exactly that 72 00:03:29,700 --> 00:03:32,980 plus you will learn how to accept credit card payments 73 00:03:32,980 --> 00:03:35,870 with Stripe, how to upload files 74 00:03:35,870 --> 00:03:38,895 and how to send emails using multiple tools 75 00:03:38,895 --> 00:03:41,420 and finally, to finish, 76 00:03:41,420 --> 00:03:44,310 we will also deploy our application to production 77 00:03:44,310 --> 00:03:47,430 with Heroku, so you see, 78 00:03:47,430 --> 00:03:49,720 there is so much content coming up 79 00:03:49,720 --> 00:03:52,247 and this is really just an overview. 80 00:03:52,247 --> 00:03:57,070 Now anyway, this is probably not the first online course 81 00:03:57,070 --> 00:03:58,230 that you're taking 82 00:03:58,230 --> 00:04:00,290 but I still want to say a few words 83 00:04:00,290 --> 00:04:03,483 about how I think that this course should be taken. 84 00:04:04,360 --> 00:04:07,507 So, first and this is pretty obvious, 85 00:04:07,507 --> 00:04:09,270 in all the coding videos, 86 00:04:09,270 --> 00:04:11,650 you should always code along with me 87 00:04:11,650 --> 00:04:15,300 so that we really build all the projects together. 88 00:04:15,300 --> 00:04:17,180 However, in some videos, 89 00:04:17,180 --> 00:04:19,700 I also included some challenges 90 00:04:19,700 --> 00:04:23,550 that you should really try to solve by yourself. 91 00:04:23,550 --> 00:04:26,491 Now in all videos, coding or non-coding, 92 00:04:26,491 --> 00:04:30,380 I really advise you to take as many notes as possible 93 00:04:30,380 --> 00:04:33,630 because there is so much content in here 94 00:04:33,630 --> 00:04:35,400 and so writing your own notes 95 00:04:35,400 --> 00:04:37,670 can really help you retain the knowledge 96 00:04:37,670 --> 00:04:39,710 as you move through the course. 97 00:04:39,710 --> 00:04:43,570 Finally, I also believe that it's a good idea 98 00:04:43,570 --> 00:04:47,090 to take the entire course from start to finish 99 00:04:47,090 --> 00:04:49,012 so that you don't miss any topics 100 00:04:49,012 --> 00:04:50,870 and so that in the end, 101 00:04:50,870 --> 00:04:53,563 your project is exactly the same as mine. 102 00:04:54,440 --> 00:04:56,610 However, I do also understand 103 00:04:56,610 --> 00:04:58,910 that this course runs pretty long 104 00:04:58,910 --> 00:05:01,700 and so, you might not really be interested 105 00:05:01,700 --> 00:05:03,010 in all the topics 106 00:05:03,010 --> 00:05:05,720 and so you can of course just skip videos 107 00:05:05,720 --> 00:05:08,820 or entire sections that you don't need 108 00:05:08,820 --> 00:05:12,133 but again, I do advise you to watch all the videos. 109 00:05:13,090 --> 00:05:15,890 And now let's talk about questions. 110 00:05:15,890 --> 00:05:17,410 So, in all the videos, 111 00:05:17,410 --> 00:05:19,790 I always explain every single detail 112 00:05:19,790 --> 00:05:21,870 of the technology that we're using 113 00:05:21,870 --> 00:05:24,340 or the techniques that I'm showing you 114 00:05:24,340 --> 00:05:25,578 but of course at some point 115 00:05:25,578 --> 00:05:28,508 you might still have some questions 116 00:05:28,508 --> 00:05:30,550 or even worse, 117 00:05:30,550 --> 00:05:32,300 you might actually get stuck 118 00:05:32,300 --> 00:05:34,550 because of some problem in your code 119 00:05:34,550 --> 00:05:36,190 or some error message 120 00:05:36,190 --> 00:05:38,580 that you do not really understand 121 00:05:38,580 --> 00:05:42,220 and nothing is worse than investing all this time 122 00:05:42,220 --> 00:05:45,050 and then not be able to move on in the course 123 00:05:45,050 --> 00:05:48,100 and so, that's why you can always get help here 124 00:05:48,100 --> 00:05:50,430 in the Udemy Q and A area. 125 00:05:50,430 --> 00:05:53,359 So, at the bottom of the video that you're watching, 126 00:05:53,359 --> 00:05:55,500 you will find the question section 127 00:05:55,500 --> 00:05:57,430 for that specific video 128 00:05:57,430 --> 00:06:01,050 and whenever you do have a question or a problem, 129 00:06:01,050 --> 00:06:03,120 you can first check if another student 130 00:06:03,120 --> 00:06:05,500 has already asked the same thing 131 00:06:05,500 --> 00:06:08,800 and if not, well, then just post your own question 132 00:06:08,800 --> 00:06:12,270 and of course with as much detail as possible. 133 00:06:12,270 --> 00:06:14,220 And you will then get friendly support 134 00:06:14,220 --> 00:06:16,140 from me or from my team 135 00:06:16,140 --> 00:06:19,333 so that you're back to writing code as fast as possible. 136 00:06:20,390 --> 00:06:23,120 So, I hope you're gonna have a ton of fun 137 00:06:23,120 --> 00:06:24,570 with the course now 138 00:06:24,570 --> 00:06:27,990 that you become a real advanced Node developer 139 00:06:27,990 --> 00:06:29,480 and that you're gonna be able 140 00:06:29,480 --> 00:06:33,465 to build your own amazing backend applications. 141 00:06:33,465 --> 00:06:35,460 And with that being said, 142 00:06:35,460 --> 00:06:37,614 let's now finally get started. 143 00:06:37,614 --> 00:06:40,197 (upbeat music)