Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS AWS Certified Developer - Associate CompTIA Security+
Photoshop Graphic Design Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Personal Transformation Meditation Life Purpose Coaching Neuroscience
Web Development JavaScript React CSS Angular PHP Node.Js WordPress Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
2020-12-28 16:28:26
30-Day Money-Back Guarantee

This course includes:

  • 42 hours on-demand video
  • 2 articles
  • Full lifetime access
  • Access on mobile and TV
Development Web Development Node.Js

Node.js, Express, MongoDB & More: The Complete Bootcamp 2021

Master Node by building a real-world RESTful API and web app (with authentication, Node.js security, payments & more)
Rating: 4.7 out of 54.7 (5,824 ratings)
34,661 students
Created by Jonas Schmedtmann
Last updated 11/2020
English
English
30-Day Money-Back Guarantee

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
Curated for the Udemy for Business collection

Course content

15 sections • 228 lectures • 42h 12m total length

  • Preview06:45
  • READ BEFORE YOU START!
    00:39
  • Let's Install Node.js
    05:24

  • Section Intro
    00:54
  • Preview07:38
  • Running Javascript Outside the Browser
    06:27
  • Using Modules 1: Core Modules
    05:59
  • Reading and Writing Files
    07:28
  • Blocking and Non-Blocking: Asynchronous Nature of Node.js
    10:13
  • Reading and Writing Files Asynchronously
    14:16
  • Preview12:49
  • Routing
    15:18
  • Building a (Very) Simple API
    14:28
  • HTML Templating: Building the Templates
    14:03
  • HTML Templating: Filling the Templates
    20:45
  • Parsing Variables from URLs
    10:23
  • Using Modules 2: Our Own Modules
    06:34
  • Introduction to NPM and the package.json File
    05:17
  • Types of Packages and Installs
    13:39
  • Using Modules 3: 3rd Party Modules
    07:55
  • Package Versioning and Updating
    11:45
  • Setting up Prettier in VS Code
    11:27
  • Recap and What's Next
    02:57

  • Section Intro
    00:46
  • Preview13:28
  • HTTP in Action
    05:29
  • Front-End vs. Back-End Web Development
    06:02
  • Static vs Dynamic vs API
    09:15

  • Section Intro
    01:24
  • Node, V8, Libuv and C++
    03:47
  • Processes, Threads and the Thread Pool
    04:21
  • The Node.js Event Loop
    11:33
  • The Event Loop in Practice
    18:50
  • Events and Event-Driven Architecture
    04:18
  • Events in Practice
    13:54
  • Introduction to Streams
    06:17
  • Preview16:06
  • How Requiring Modules Really Works
    09:39
  • Requiring Modules in Practice
    15:51

  • Section Intro
    00:57
  • The Problem with Callbacks: Callback Hell
    12:46
  • From Callback Hell to Promises
    06:42
  • Building Promises
    14:42
  • Consuming Promises with Async/Await
    07:48
  • Returning Values from Async Functions
    13:03
  • Waiting for Multiple Promises Simultaneously
    06:11

  • Section Intro
    00:56
  • What is Express?
    02:01
  • Installing Postman
    03:25
  • Setting up Express and Basic Routing
    14:47
  • APIs and RESTful API Design
    16:07
  • Starting Our API: Handling GET Requests
    12:19
  • Handling POST Requests
    15:21
  • Responding to URL Parameters
    11:48
  • Handling PATCH Requests
    07:05
  • Handling DELETE Requests
    02:40
  • Refactoring Our Routes
    06:47
  • Middleware and the Request-Response Cycle
    04:48
  • Creating Our Own Middleware
    09:05
  • Using 3rd-Party Middleware
    09:35
  • Implementing the "Users" Routes
    06:57
  • Creating and Mounting Multiple Routers
    08:04
  • A Better File Structure
    18:20
  • Param Middleware
    10:54
  • Chaining Multiple Middleware Functions
    07:34
  • Serving Static Files
    05:27
  • Environment Variables
    16:39
  • Setting up ESLint + Prettier in VS Code
    13:33

  • Section Intro
    00:48
  • What is MongoDB?
    08:44
  • Installing MongoDB on macOS
    06:34
  • Installing MongoDB on Windows
    10:02
  • Creating a Local Database
    07:39
  • CRUD: Creating Documents
    04:17
  • Preview12:26
  • CRUD: Updating Documents
    07:50
  • CRUD: Deleting Documents
    02:47
  • Using Compass App for CRUD Operations
    07:10
  • Creating a Hosted Database with Atlas
    04:27
  • Connecting to Our Hosted Database
    07:35

  • Section Intro
    00:55
  • Connecting Our Database with the Express App
    12:24
  • What Is Mongoose?
    01:53
  • Creating a Simple Tour Model
    07:01
  • Creating Documents and Testing the Model
    09:02
  • Intro to Back-End Architecture: MVC, Types of Logic, and More
    06:54
  • Refactoring for MVC
    06:31
  • Another Way of Creating Documents
    13:53
  • Reading Documents
    08:35
  • Updating Documents
    10:51
  • Deleting Documents
    04:09
  • Modelling the Tours
    18:13
  • Importing Development Data
    15:40
  • Making the API Better: Filtering
    18:45
  • Making the API Better: Advanced Filtering
    12:04
  • Making the API Better: Sorting
    10:59
  • Making the API Better: Limiting Fields
    06:18
  • Preview14:59
  • Making the API Better: Aliasing
    08:56
  • Refactoring API Features
    15:38
  • Aggregation Pipeline: Matching and Grouping
    20:37
  • Aggregation Pipeline: Unwinding and Projecting
    19:28
  • Virtual Properties
    06:23
  • Document Middleware
    14:29
  • Query Middleware
    13:54
  • Aggregation Middleware
    07:42
  • Data Validation: Built-In Validators
    10:06
  • Data Validation: Custom Validators
    14:02

  • Section Intro
    00:41
  • Debugging Node.js with ndb
    20:29
  • Handling Unhandled Routes
    07:50
  • An Overview of Error Handling
    03:36
  • Implementing a Global Error Handling Middleware
    08:59
  • Better Errors and Refactoring
    11:12
  • Catching Errors in Async Functions
    14:53
  • Adding 404 Not Found Errors
    09:06
  • Errors During Development vs Production
    10:30
  • Handling Invalid Database IDs
    09:42
  • Handling Duplicate Database Fields
    06:04
  • Handling Mongoose Validation Errors
    08:24
  • Errors Outside Express: Unhandled Rejections
    08:49
  • Catching Uncaught Exceptions
    09:16

  • Section Intro
    00:58
  • Modelling Users
    10:00
  • Creating New Users
    11:19
  • Managing Passwords
    18:24
  • How Authentication with JWT Works
    08:46
  • Signing up Users
    16:01
  • Logging in Users
    26:35
  • Protecting Tour Routes - Part 1
    14:57
  • Protecting Tour Routes - Part 2
    35:14
  • Advanced Postman Setup
    11:35
  • Authorization: User Roles and Permissions
    15:54
  • Password Reset Functionality: Reset Token
    17:03
  • Sending Emails with Nodemailer
    23:04
  • Password Reset Functionality: Setting New Password
    21:33
  • Updating the Current User: Password
    16:36
  • Updating the Current User: Data
    20:11
  • Deleting the Current User
    10:28
  • Security Best Practices
    10:13
  • Sending JWT via Cookie
    09:46
  • Implementing Rate Limiting
    07:04
  • Setting Security HTTP Headers
    05:19
  • Data Sanitization
    09:15
  • Preventing Parameter Pollution
    08:20

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, 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 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!

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.

Featured review

vikrant gupta
vikrant gupta
15 courses
5 reviews
Rating: 5.0 out of 511 months ago
Perfect coarse you can learn almost everything in here. I would like to add you can ask anything you like even those things not included in coarse and things that has nothing to do with coarse. each and every question is being answered here. I have already completed this coarse and looking forward for react coarse. At last I would like to thanks Jonas and a special thanks to Adam for helping every time i stuck within coarse content or in any other problem in any of my other projects.

Instructor

Jonas Schmedtmann
Web Developer, Designer, and Teacher
Jonas Schmedtmann
  • 4.7 Instructor Rating
  • 205,310 Reviews
  • 972,013 Students
  • 5 Courses

Hi, I'm Jonas! I have been identified as one of Udemy's Top Instructors and all my premium courses have recently earned the best-selling status for outstanding performance and student satisfaction.

I'm a full-stack web developer and designer with a passion for building beautiful things from scratch. I've been building websites and apps since 2007 and also have a Master's degree in Engineering.

It was in college where I first discovered my passion for teaching and helping others by sharing all I knew. And that passion brought me to Udemy in 2015, where my students love the fact that I take the time to explain important concepts in a way that everyone can easily understand.

Do you want to learn how to build awesome websites with advanced HTML and CSS?

Looking for a complete JavaScript course that takes you from beginner to advanced developer?

Or maybe you want to build modern and fast back-end applications with Node.js?

Then don't waste your time with random tutorials or incomplete videos. All my courses are easy-to-follow, all-in-one packages that will take your skills to the next level.

These courses are exactly the courses I wish I had when I was first getting into web development!

So see for yourself, enroll in one of my courses (or all of them :D) and join my 500,000+ happy students today.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.