Node.js, Express, MongoDB & More The Complete Bootcamp 2023

42h 14m 59s
English
Paid
May 18, 2023

Do you want to build fast and powerful back-end applications with JavaScript? Would you like to become a more complete and in-demand developer? Then Node.js is the hot technology for you to learn right now, and you came to the right place to do it! Welcome to the Complete Node.js, Express and MongoDB Bootcamp, your fast track to modern back-end development.

More

This course is the perfect all-in-one package that will take you from a complete beginner to an advanced, highly-skilled Node.js developer.

Like all my other courses, this one is completely project based! And not just any project: it's a complete, beautiful and feature-rich application, containing both a RESTful API and a server-side rendered website. It's the most fantastic and complete project that you will find in any Node.js course on the internet!

By building this huge project, you will learn all the skills that you need in order to plan, build and deploy your own modern back-end applications with Node.js and related technologies.

(Actually, if you feel like exploring the project, you can do so at www.natours.dev. And this is only a small part of the project! Log in with "laura@example.com" and password "test1234")

After finishing this course, you will:

1) Be building you own fast, scalable and powerful Node.js RESTful APIs or web applications;

2) Truly understand how Node.js works behind the scenes;

3) Be able to work with NoSQL data and model data in real-world situations (a hugely important skill);

4) Know how modern back-end development works, and how all the different technologies fit together (hard to understand from scattered tutorials and videos);

5) Have experience in professionally-used tools and libraries like Express, Mongoose, Stripe, Sendgrid, Atlas, Compass, Git, Heroku, and many more;

6) Have built a complete application, which is a perfect starting point for your own applications in the future.

Please note that this course is NOT for absolute web development beginners, so you should already be familiar with basic JavaScript. NO back-end experience required though!

It's an absolutely full-packed, deep-dive course with over 40 hours of content!

Since this is the "Complete Node.js Bootcamp", the course is crammed with tons of different technologies, techniques, and tools, so that you walk away from the course as a complete Node.js developer.

That's why the course turned out to be over 40 hours long. But if that sound like too much for you, don't worry, there are videos or entire sections that you can safely skip.

Here is exactly what you're gonna learn:

  • Fundamentals of Node.js, core modules and NPM (Node Package Manager)

  • How Node.js works behind the scenes: event loop, blocking vs non-blocking code, event-driven architecture, streams, modules, etc.

  • Fundamentals of Express (Node.js framework): routing, middleware, sending responses, etc.

  • RESTful API design and development with advanced features: filtering, sorting, aliasing, pagination

  • Server-side website rendering (HTML) with Pug templates

  • CRUD operations with MongoDB database locally and on the Atlas platform (in the cloud)

  • Advanced MongoDB: geospatial queries, aggregation pipeline, and operators

  • Fundamentals of Mongoose (MongoDB JS driver): Data models, CRUD operations, data validation, and middleware

  • Advanced Mongoose features: modeling geospatial data, populates, virtual populates, indexes, etc.

  • Using the MVC (Model-View-Controller) architecture

  • How to work with data in NoSQL databases

  • Advanced data modelling: relationships between data, embedding, referencing, and more

  • Complete modern authentication with JWT: user sign up, log in, password reset, secure cookies, etc.

  • Authorization (user roles)

  • Security: best practices, encryption, sanitization, rate limiting, etc.

  • Accepting credit card payments with Stripe: Complete integration on the back-end and front-end

  • Uploading files and image processing

  • Sending emails with Mailtrap and Sendgrid

  • Advanced error handling workflows

  • Deploying Node.js application to production with Heroku

  • Git and GitHub crash course

  • And so much more!

Why should you learn Node.js and take this course?

If you want to learn Node.js and modern back-end development, then there is no doubt that this course is for you!

It's the biggest Node.js course on the internet, it has by far the most complete course project, and offers the most in-depth explanations of all topics included.

And even if you already know some Node.js, you should still take this course, because it contains subjects that are not covered anywhere else, or not in the same depth!

But maybe you're not yet convinced that Node.js really is the right technology for you to learn right now?

Well, first, Node.js will allow you to use your JavaScript skills to build applications on the back-end. That itself is a huge gain, which makes your full-stack development process so much easier and faster.

Plus, popularity and opportunities for Node.js are off the charts. It's a modern, proven and reliable technology, used by tech giants (and 6-figure-salary-paying-companies) like Netflix, PayPal, Uber, and many more.

Node.js really is what you should invest your time in, instead of outdated technology like PHP.

In summary, if you already know JavaScript, learning Node is the logical next step for you! It will make you a better, more versatile and complete developer, which will ultimately boost your opportunities in the job market!

And I created this course to help you do exactly that! It really is the course I wish I had when I was first learning back-end development with Node.js and all related technologies.

And this is what you get by signing up today:

  • Lifetime access to 40+ hours of HD quality videos. No monthly subscription. Learn at your own pace, whenever you want;

  • All videos are downloadable. Learn wherever you want, even without an internet connection!

  • Friendly and fast support in the course Q&A whenever you have questions or get stuck;

  • English closed captions (not the auto-generated ones provided by Udemy);

  • Course slides in PDF format;

  • Downloadable assets, starter code and final code for each section;

  • Lots of small challenges are included in the videos so you can track your progress.

Requirements:
  • Absolutely NO understanding of Node or back-end development is required! I take you from beginner to advanced developer!
  • Basic understanding of JavaScript is required (the course contains a section about asynchronous JavaScript with promises and async/await in case you need to get up to speed)
  • Basic understanding of HTML is a plus (only for final part of the course), but NOT a must
  • Any computer and OS will work — Windows, macOS or Linux

Who this course is for:

  • Take this course if you want to build amazingly fast and scalable back-end applications using the JavaScript skills you already have. Node is the perfect tool for you!
  • Take this course if you're a front-end developer looking to go into back-end development using the most complete course on the market.
  • Take this course if you have taken other Node courses but: 1) still don't feel confident to code real-world apps, or 2) still feel like you need more back-end skills. This course is perfect for you!
  • Take this course if you're an experienced Node developer who wants to add new skills missing in other courses: How Node works behind the scenes, advanced data modelling, geospatial data, complete and secure authentication, stripe payments, and more.

What you'll learn:

  • Master the entire modern back-end stack: Node, Express, MongoDB and Mongoose (MongoDB JS driver)
  • Build a complete, beautiful & real-world application from start to finish (API and server-side rendered website)
  • Build a fast, scalable, feature-rich RESTful API (includes filters, sorts, pagination, and much more)
  • Learn how Node really works behind the scenes: event loop, blocking vs non-blocking code, streams, modules, etc.
  • CRUD operations with MongoDB and Mongoose
  • Deep dive into mongoose (including all advanced features)
  • How to work with data in NoSQL databases (including geospatial data)
  • Advanced authentication and authorization (including password reset)
  • Security: encryption, sanitization, rate limiting, etc.
  • Server-side website rendering with Pug templates
  • Credit card payments with Stripe
  • Sending emails & uploading files
  • Deploy the final application to production (including a Git crash-course)
  • Downloadable videos, code and design assets for projects

Watch Online Node.js, Express, MongoDB & More The Complete Bootcamp 2023

Join premium to watch
Go to premium
# Title Duration
1 Course Structure and Projects 06:46
2 Let's Install Node.js 05:26
3 Section Intro 00:56
4 What Is Node.js and Why Use It? 07:39
5 Running Javascript Outside the Browser 06:28
6 Using Modules 1: Core Modules 06:00
7 Reading and Writing Files 07:29
8 Blocking and Non-Blocking: Asynchronous Nature of Node.js 10:14
9 Reading and Writing Files Asynchronously 14:17
10 Creating a Simple Web Server 12:50
11 Routing 15:19
12 Building a (Very) Simple API 14:29
13 HTML Templating: Building the Templates 14:04
14 HTML Templating: Filling the Templates 20:47
15 Parsing Variables from URLs 10:24
16 Using Modules 2: Our Own Modules 06:35
17 Introduction to NPM and the package.json File 05:18
18 Types of Packages and Installs 13:40
19 Using Modules 3: 3rd Party Modules 07:56
20 Package Versioning and Updating 11:46
21 Setting up Prettier in VS Code 11:28
22 Recap and What's Next 02:58
23 Section Intro 00:47
24 An Overview of How the Web Works 13:29
25 HTTP in Action 05:30
26 Front-End vs. Back-End Web Development 06:03
27 Static vs Dynamic vs API 09:16
28 Section Intro 01:25
29 Node, V8, Libuv and C++ 03:48
30 Processes, Threads and the Thread Pool 04:22
31 The Node.js Event Loop 11:34
32 The Event Loop in Practice 18:51
33 Events and Event-Driven Architecture 04:19
34 Events in Practice 13:55
35 Introduction to Streams 06:18
36 Streams in Practice 16:07
37 How Requiring Modules Really Works 09:40
38 Requiring Modules in Practice 15:52
39 Section Intro 00:58
40 The Problem with Callbacks: Callback Hell 12:47
41 From Callback Hell to Promises 06:44
42 Building Promises 14:43
43 Consuming Promises with Async/Await 07:49
44 Returning Values from Async Functions 13:04
45 Waiting for Multiple Promises Simultaneously 06:12
46 Section Intro 00:57
47 What is Express? 02:02
48 Installing Postman 03:27
49 Setting up Express and Basic Routing 14:49
50 APIs and RESTful API Design 16:08
51 Starting Our API: Handling GET Requests 12:20
52 Handling POST Requests 15:22
53 Responding to URL Parameters 11:49
54 Handling PATCH Requests 07:06
55 Handling DELETE Requests 02:41
56 Refactoring Our Routes 06:48
57 Middleware and the Request-Response Cycle 04:49
58 Creating Our Own Middleware 09:06
59 Using 3rd-Party Middleware 09:36
60 Implementing the "Users" Routes 06:58
61 Creating and Mounting Multiple Routers 08:05
62 A Better File Structure 18:21
63 Param Middleware 10:55
64 Chaining Multiple Middleware Functions 07:35
65 Serving Static Files 05:28
66 Environment Variables 16:40
67 Setting up ESLint + Prettier in VS Code 13:34
68 Section Intro 00:49
69 What is MongoDB? 08:45
70 [OPTIONAL] Installing MongoDB on macOS 06:35
71 [OPTIONAL] Installing MongoDB on Windows 10:03
72 [OPTIONAL] Creating a Local Database 07:40
73 [OPTIONAL] CRUD: Creating Documents 04:18
74 [OPTIONAL] CRUD: Querying (Reading) Documents 12:27
75 [OPTIONAL] CRUD: Updating Documents 07:51
76 [OPTIONAL] CRUD: Deleting Documents 02:48
77 Using Compass App for CRUD Operations 07:12
78 Creating a Hosted Database with Atlas 04:28
79 Connecting to Our Hosted Database 07:36
80 Section Intro 00:57
81 Connecting Our Database with the Express App 12:25
82 What Is Mongoose? 01:54
83 Creating a Simple Tour Model 07:02
84 Creating Documents and Testing the Model 09:04
85 Intro to Back-End Architecture: MVC, Types of Logic, and More 06:55
86 Refactoring for MVC 06:32
87 Another Way of Creating Documents 13:54
88 Reading Documents 08:36
89 Updating Documents 10:52
90 Deleting Documents 04:10
91 Modelling the Tours 18:14
92 Importing Development Data 15:41
93 Making the API Better: Filtering 18:46
94 Making the API Better: Advanced Filtering 12:05
95 Making the API Better: Sorting 11:01
96 Making the API Better: Limiting Fields 06:20
97 Making the API Better: Pagination 15:00
98 Making the API Better: Aliasing 08:57
99 Refactoring API Features 15:39
100 Aggregation Pipeline: Matching and Grouping 20:38
101 Aggregation Pipeline: Unwinding and Projecting 19:29
102 Virtual Properties 06:24
103 Document Middleware 14:30
104 Query Middleware 13:55
105 Aggregation Middleware 07:43
106 Data Validation: Built-In Validators 10:07
107 Data Validation: Custom Validators 14:03
108 Section Intro 00:42
109 Debugging Node.js with ndb 20:30
110 Handling Unhandled Routes 07:51
111 An Overview of Error Handling 03:37
112 Implementing a Global Error Handling Middleware 09:00
113 Better Errors and Refactoring 11:14
114 Catching Errors in Async Functions 14:55
115 Adding 404 Not Found Errors 09:07
116 Errors During Development vs Production 10:31
117 Handling Invalid Database IDs 09:43
118 Handling Duplicate Database Fields 06:05
119 Handling Mongoose Validation Errors 08:25
120 Errors Outside Express: Unhandled Rejections 08:50
121 Catching Uncaught Exceptions 09:17
122 Section Intro 00:59
123 Modelling Users 10:01
124 Creating New Users 11:20
125 Managing Passwords 18:25
126 How Authentication with JWT Works 08:47
127 Signing up Users 16:02
128 Logging in Users 26:36
129 Protecting Tour Routes - Part 1 14:58
130 Protecting Tour Routes - Part 2 35:15
131 Advanced Postman Setup 11:36
132 Authorization: User Roles and Permissions 15:55
133 Password Reset Functionality: Reset Token 17:04
134 Sending Emails with Nodemailer 23:05
135 Password Reset Functionality: Setting New Password 21:34
136 Updating the Current User: Password 16:37
137 Updating the Current User: Data 20:12
138 Deleting the Current User 10:29
139 Security Best Practices 10:14
140 Sending JWT via Cookie 09:47
141 Implementing Rate Limiting 07:05
142 Setting Security HTTP Headers 05:20
143 Data Sanitization 09:16
144 Preventing Parameter Pollution 08:21
145 Section Intro 01:03
146 MongoDB Data Modelling 24:40
147 Designing Our Data Model 10:58
148 Modelling Locations (Geospatial Data) 12:26
149 Modelling Tour Guides: Embedding 07:49
150 Modelling Tour Guides: Child Referencing 04:57
151 Populating Tour Guides 10:43
152 Modelling Reviews: Parent Referencing 08:32
153 Creating and Getting Reviews 17:04
154 Populating Reviews 06:07
155 Virtual Populate: Tours and Reviews 12:03
156 Implementing Simple Nested Routes 13:30
157 Nested Routes with Express 08:01
158 Adding a Nested GET Endpoint 05:07
159 Building Handler Factory Functions: Delete 14:22
160 Factory Functions: Update and Create 13:23
161 Factory Functions: Reading 14:43
162 Adding a /me Endpoint 04:43
163 Adding Missing Authentication and Authorization 14:45
164 Importing Review and User Data 07:27
165 Improving Read Performance with Indexes 16:12
166 Calculating Average Rating on Tours - Part 1 22:26
167 Calculating Average Rating on Tours - Part 2 15:58
168 Preventing Duplicate Reviews 09:30
169 Geospatial Queries: Finding Tours Within Radius 29:53
170 Geospatial Aggregation: Calculating Distances 16:29
171 Creating API Documentation Using Postman 10:38
172 Section Intro 00:57
173 Recap: Server-Side vs Client-Side Rendering 05:17
174 Setting up Pug in Express 10:08
175 First Steps with Pug 14:38
176 Creating Our Base Template 15:25
177 Including Files into Pug Templates 04:46
178 Extending Our Base Template with Blocks 10:07
179 Setting up the Project Structure 05:58
180 Building the Tour Overview - Part 1 11:38
181 Building the Tour Overview - Part 2 15:53
182 Building the Tour Page - Part 1 20:29
183 Building the Tour Page - Part 2 25:51
184 Including a Map with Mapbox - Part 1 11:34
185 Including a Map with Mapbox - Part 2 27:52
186 Building the Login Screen 06:31
187 Logging in Users with Our API - Part 1 20:54
188 Logging in Users with Our API - Part 2 18:40
189 Logging in Users with Our API - Part 3 28:16
190 Logging out Users 13:57
191 Rendering Error Pages 21:46
192 Building the User Account Page 16:06
193 Updating User Data 17:08
194 Updating User Data with Our API 12:35
195 Updating User Password with Our API 14:43
196 Section Intro 00:33
197 Image Uploads Using Multer: Users 10:13
198 Configuring Multer 13:47
199 Saving Image Name to Database 05:33
200 Resizing Images 13:20
201 Adding Image Uploads to Form 11:34
202 Uploading Multiple Images: Tours 12:03
203 Processing Multiple Images 18:12
204 Building a Complex Email Handler 19:59
205 Email Templates with Pug: Welcome Emails 15:09
206 Sending Password Reset Emails 07:08
207 Using Sendgrid for "Real" Emails 09:33
208 Credit Card Payments with Stripe 10:09
209 Integrating Stripe into the Back-End 22:35
210 Processing Payments on the Front-End 23:05
211 Modelling the Bookings 06:24
212 Creating New Bookings on Checkout Success 19:09
213 Rendering a User's Booked Tours 11:17
214 Finishing the Bookings API 07:13
215 Final Considerations 07:29
216 Section Intro 00:41
217 Setting Up Git and GitHub 04:39
218 Git Fundamentals 10:34
219 Pushing to GitHub 10:29
220 Preparing Our App for Deployment 10:56
221 Deploying Our App to Heroku 26:31
222 Testing for Secure HTTPS Connections 05:53
223 Responding to a SIGTERM Signal 07:22
224 Implementing CORS 15:54
225 Finishing Payments with Stripe Webhooks 38:09
226 Where to Go from Here 03:40

Similar courses to Node.js, Express, MongoDB & More The Complete Bootcamp 2023

Youtube clone

Youtube cloneNomad Coders

Duration 15 hours 41 minutes 20 seconds
Build Incredible Chatbots

Build Incredible Chatbotsudemy

Duration 7 hours 51 minutes
The React practice course, learn by building projects.

The React practice course, learn by building projects.udemy

Duration 43 hours 45 minutes 48 seconds
React and NodeJS: A Practical Guide with Typescript

React and NodeJS: A Practical Guide with Typescriptudemy

Duration 6 hours 54 minutes 59 seconds
Namaste Node.js

Namaste Node.jsAkshay Saini (NamasteDev.com)

Duration 35 hours 39 minutes 27 seconds