https://i125.fastpic.org/big/2025/0716/51/0a6a299ca8e4518af96ff1d7421c7551.jpg
Node.Js, Express, Mongodb & More: The Complete Bootcamp 2023
Last updated 11/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 19.63 GB | Duration: 42h 13m
Master Node by building a real-world RESTful API and web app (with authentication, Node.js security, payments & 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
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
Description
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.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.(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 sounds 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, paginationServer-side website rendering (HTML) with Pug templatesCRUD operations with MongoDB database locally and on the Atlas platform (in the cloud)Advanced MongoDB: geospatial queries, aggregation pipeline, and operatorsFundamentals of Mongoose (MongoDB JS driver): Data models, CRUD operations, data validation, and middlewareAdvanced Mongoose features: modeling geospatial data, populates, virtual populates, indexes, etc.Using the MVC (Model-View-Controller) architectureHow to work with data in NoSQL databasesAdvanced data modelling: relationships between data, embedding, referencing, and moreComplete 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-endUploading files and image processingSending emails with Mailtrap and SendgridAdvanced error handling workflowsDeploying Node.js application to production with HerokuGit and GitHub crash courseAnd 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 more 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.And now, I hope to welcome you as a new student in my course! So click that "Enroll" button right now, and join me in this adventure today!But if you're not 100% sure yet, just go ahead and watch the promo video to take a look at the course project. I promise you will be amazed :)See you in the course!
Overview
Section 1: Welcome, Welcome, Welcome!
Lecture 1 Course Structure and Projects
Lecture 2 READ BEFORE YOU START!
Lecture 3 Let's Install Node.js
Section 2: Introduction to Node.js and NPM
Lecture 4 Section Intro
Lecture 5 What Is Node.js and Why Use It?
Lecture 6 Running Javascript Outside the Browser
Lecture 7 Using Modules 1: Core Modules
Lecture 8 Reading and Writing Files
Lecture 9 Blocking and Non-Blocking: Asynchronous Nature of Node.js
Lecture 10 Reading and Writing Files Asynchronously
Lecture 11 Creating a Simple Web Server
Lecture 12 Routing
Lecture 13 Building a (Very) Simple API
Lecture 14 HTML Templating: Building the Templates
Lecture 15 HTML Templating: Filling the Templates
Lecture 16 Parsing Variables from URLs
Lecture 17 Using Modules 2: Our Own Modules
Lecture 18 Introduction to NPM and the package.json File
Lecture 19 Types of Packages and Installs
Lecture 20 Using Modules 3: 3rd Party Modules
Lecture 21 Package Versioning and Updating
Lecture 22 Setting up Prettier in VS Code
Lecture 23 Recap and What's Next
Section 3: Introduction to Back-End Web Development
Lecture 24 Section Intro
Lecture 25 An Overview of How the Web Works
Lecture 26 HTTP in Action
Lecture 27 Front-End vs. Back-End Web Development
Lecture 28 Static vs Dynamic vs API
Section 4: How Node.js Works: A Look Behind the Scenes
Lecture 29 Section Intro
Lecture 30 Node, V8, Libuv and C++
Lecture 31 Processes, Threads and the Thread Pool
Lecture 32 The Node.js Event Loop
Lecture 33 The Event Loop in Practice
Lecture 34 Events and Event-Driven Architecture
Lecture 35 Events in Practice
Lecture 36 Introduction to Streams
Lecture 37 Streams in Practice
Lecture 38 How Requiring Modules Really Works
Lecture 39 Requiring Modules in Practice
Section 5: [Optional] Asynchronous JavaScript: Promises and Async/Await
Lecture 40 Section Intro
Lecture 41 The Problem with Callbacks: Callback Hell
Lecture 42 From Callback Hell to Promises
Lecture 43 Building Promises
Lecture 44 Consuming Promises with Async/Await
Lecture 45 Returning Values from Async Functions
Lecture 46 Waiting for Multiple Promises Simultaneously
Section 6: Express: Let's Start Building the Natours API!
Lecture 47 Section Intro
Lecture 48 What is Express?
Lecture 49 Installing Postman
Lecture 50 Setting up Express and Basic Routing
Lecture 51 APIs and RESTful API Design
Lecture 52 Starting Our API: Handling GET Requests
Lecture 53 Handling POST Requests
Lecture 54 Responding to URL Parameters
Lecture 55 Handling PATCH Requests
Lecture 56 Handling DELETE Requests
Lecture 57 Refactoring Our Routes
Lecture 58 Middleware and the Request-Response Cycle
Lecture 59 Creating Our Own Middleware
Lecture 60 Using 3rd-Party Middleware
Lecture 61 Implementing the "Users" Routes
Lecture 62 Creating and Mounting Multiple Routers
Lecture 63 A Better File Structure
Lecture 64 Param Middleware
Lecture 65 Chaining Multiple Middleware Functions
Lecture 66 Serving Static Files
Lecture 67 Environment Variables
Lecture 68 Setting up ESLint + Prettier in VS Code
Section 7: Introduction to MongoDB
Lecture 69 Section Intro
Lecture 70 What is MongoDB?
Lecture 71 No Need to Install MongoDB Locally
Lecture 72 [OPTIONAL] Installing MongoDB on macOS
Lecture 73 [OPTIONAL] Installing MongoDB on Windows
Lecture 74 [OPTIONAL] Creating a Local Database
Lecture 75 [OPTIONAL] CRUD: Creating Documents
Lecture 76 [OPTIONAL] CRUD: Querying (Reading) Documents
Lecture 77 [OPTIONAL] CRUD: Updating Documents
Lecture 78 [OPTIONAL] CRUD: Deleting Documents
Lecture 79 Using Compass App for CRUD Operations
Lecture 80 Creating a Hosted Database with Atlas
Lecture 81 Connecting to Our Hosted Database
Section 8: Using MongoDB with Mongoose
Lecture 82 Section Intro
Lecture 83 Connecting Our Database with the Express App
Lecture 84 What Is Mongoose?
Lecture 85 Creating a Simple Tour Model
Lecture 86 Creating Documents and Testing the Model
Lecture 87 Intro to Back-End Architecture: MVC, Types of Logic, and More
Lecture 88 Refactoring for MVC
Lecture 89 Another Way of Creating Documents
Lecture 90 Reading Documents
Lecture 91 Updating Documents
Lecture 92 Deleting Documents
Lecture 93 Modelling the Tours
Lecture 94 Importing Development Data
Lecture 95 Making the API Better: Filtering
Lecture 96 Making the API Better: Advanced Filtering
Lecture 97 Making the API Better: Sorting
Lecture 98 Making the API Better: Limiting Fields
Lecture 99 Making the API Better: Pagination
Lecture 100 Making the API Better: Aliasing
Lecture 101 Refactoring API Features
Lecture 102 Aggregation Pipeline: Matching and Grouping
Lecture 103 Aggregation Pipeline: Unwinding and Projecting
Lecture 104 Virtual Properties
Lecture 105 Document Middleware
Lecture 106 Query Middleware
Lecture 107 Aggregation Middleware
Lecture 108 Data Validation: Built-In Validators
Lecture 109 Data Validation: Custom Validators
Section 9: Error Handling with Express
Lecture 110 Section Intro
Lecture 111 Debugging Node.js with ndb
Lecture 112 Handling Unhandled Routes
Lecture 113 An Overview of Error Handling
Lecture 114 Implementing a Global Error Handling Middleware
Lecture 115 Better Errors and Refactoring
Lecture 116 Catching Errors in Async Functions
Lecture 117 Adding 404 Not Found Errors
Lecture 118 Errors During Development vs Production
Lecture 119 Handling Invalid Database IDs
Lecture 120 Handling Duplicate Database Fields
Lecture 121 Handling Mongoose Validation Errors
Lecture 122 Errors Outside Express: Unhandled Rejections
Lecture 123 Catching Uncaught Exceptions
Section 10: Authentication, Authorization and Security
Lecture 124 Section Intro
Lecture 125 Modelling Users
Lecture 126 Creating New Users
Lecture 127 Managing Passwords
Lecture 128 How Authentication with JWT Works
Lecture 129 Signing up Users
Lecture 130 Logging in Users
Lecture 131 Protecting Tour Routes - Part 1
Lecture 132 Protecting Tour Routes - Part 2
Lecture 133 Advanced Postman Setup
Lecture 134 Authorization: User Roles and Permissions
Lecture 135 Password Reset Functionality: Reset Token
Lecture 136 Sending Emails with Nodemailer
Lecture 137 Password Reset Functionality: Setting New Password
Lecture 138 Updating the Current User: Password
Lecture 139 Updating the Current User: Data
Lecture 140 Deleting the Current User
Lecture 141 Security Best Practices
Lecture 142 Sending JWT via Cookie
Lecture 143 Implementing Rate Limiting
Lecture 144 Setting Security HTTP Headers
Lecture 145 Data Sanitization
Lecture 146 Preventing Parameter Pollution
Section 11: Modelling Data and Advanced Mongoose
Lecture 147 Section Intro
Lecture 148 MongoDB Data Modelling
Lecture 149 Designing Our Data Model
Lecture 150 Modelling Locations (Geospatial Data)
Lecture 151 Modelling Tour Guides: Embedding
Lecture 152 Modelling Tour Guides: Child Referencing
Lecture 153 Populating Tour Guides
Lecture 154 Modelling Reviews: Parent Referencing
Lecture 155 Creating and Getting Reviews
Lecture 156 Populating Reviews
Lecture 157 Virtual Populate: Tours and Reviews
Lecture 158 Implementing Simple Nested Routes
Lecture 159 Nested Routes with Express
Lecture 160 Adding a Nested GET Endpoint
Lecture 161 Building Handler Factory Functions: Delete
Lecture 162 Factory Functions: Update and Create
Lecture 163 Factory Functions: Reading
Lecture 164 Adding a /me Endpoint
Lecture 165 Adding Missing Authentication and Authorization
Lecture 166 Importing Review and User Data
Lecture 167 Improving Read Performance with Indexes
Lecture 168 Calculating Average Rating on Tours - Part 1
Lecture 169 Calculating Average Rating on Tours - Part 2
Lecture 170 Preventing Duplicate Reviews
Lecture 171 Geospatial Queries: Finding Tours Within Radius
Lecture 172 Geospatial Aggregation: Calcul