Jonas Schmedtmann – Node.Js, Express, Mongodb and More: the Complete Bootcamp 2020
Sale Page: Jonas Schmedtmann – Node.Js, Express, Mongodb and More: the Complete Bootcamp 2020
Filesize : 17.09 GB
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
Expand all 227 lectures42:11:28
–Welcome, Welcome, Welcome!
Course Structure and Projects
READ BEFORE YOU START!
Let’s Install Node.js
–Introduction to Node.js and NPM
What Is Node.js and Why Use It?
Using Modules 1: Core Modules
Reading and Writing Files
Blocking and Non-Blocking: Asynchronous Nature of Node.js
Reading and Writing Files Asynchronously
Creating a Simple Web Server
Building a (Very) Simple API
HTML Templating: Building the Templates
HTML Templating: Filling the Templates
Parsing Variables from URLs
Using Modules 2: Our Own Modules
Introduction to NPM and the package.json File
Types of Packages and Installs
Using Modules 3: 3rd Party Modules
Package Versioning and Updating
Setting up Prettier in VS Code
Recap and What’s Next
–Introduction to Back-End Web Development
An Overview of How the Web Works
HTTP in Action
Front-End vs. Back-End Web Development
Static vs Dynamic vs API
–How Node.js Works: A Look Behind the Scenes
Node, V8, Libuv and C++
Processes, Threads and the Thread Pool
The Node.js Event Loop
The Event Loop in Practice
Events and Event-Driven Architecture
Events in Practice
Introduction to Streams
Streams in Practice
How Requiring Modules Really Works
Requiring Modules in Practice
The Problem with Callbacks: Callback Hell
From Callback Hell to Promises
Consuming Promises with Async/Await
Returning Values from Async Functions
Waiting for Multiple Promises Simultaneously
–Express: Let’s Start Building the Natours API!
What is Express?
Setting up Express and Basic Routing
APIs and RESTful API Design
Starting Our API: Handling GET Requests
Handling POST Requests
Responding to URL Parameters
Handling PATCH Requests
Handling DELETE Requests
Refactoring Our Routes
Middleware and the Request-Response Cycle
Creating Our Own Middleware
Using 3rd-Party Middleware
Implementing the “Users” Routes
Creating and Mounting Multiple Routers
A Better File Structure
Chaining Multiple Middleware Functions
Serving Static Files
Setting up ESLint + Prettier in VS Code
–Introduction to MongoDB
What is MongoDB?
Installing MongoDB on macOS
Installing MongoDB on Windows
Creating a Local Database
CRUD: Creating Documents
CRUD: Querying (Reading) Documents
CRUD: Updating Documents
CRUD: Deleting Documents
Using Compass App for CRUD Operations
Creating a Hosted Database with Atlas
Connecting to Our Hosted Database
–Using MongoDB with Mongoose
Connecting Our Database with the Express App
What Is Mongoose?
Creating a Simple Tour Model
Creating Documents and Testing the Model
Intro to Back-End Architecture: MVC, Types of Logic, and More
Refactoring for MVC
Another Way of Creating Documents
Modelling the Tours
Importing Development Data
Making the API Better: Filtering
Making the API Better: Advanced Filtering
Making the API Better: Sorting
Making the API Better: Limiting Fields
Making the API Better: Pagination
Making the API Better: Aliasing
Refactoring API Features
Aggregation Pipeline: Matching and Grouping
Aggregation Pipeline: Unwinding and Projecting
Data Validation: Built-In Validators
Data Validation: Custom Validators
–Error Handling with Express
Debugging Node.js with ndb
Handling Unhandled Routes
An Overview of Error Handling
Implementing a Global Error Handling Middleware
Better Errors and Refactoring
Catching Errors in Async Functions
Adding 404 Not Found Errors
Errors During Development vs Production
Handling Invalid Database IDs
Handling Duplicate Database Fields
Handling Mongoose Validation Errors
Errors Outside Express: Unhandled Rejections
Catching Uncaught Exceptions
–Authentication, Authorization and Security
Creating New Users
How Authentication with JWT Works
Signing up Users
Logging in Users
Protecting Tour Routes – Part 1
Protecting Tour Routes – Part 2
Advanced Postman Setup
Authorization: User Roles and Permissions
Password Reset Functionality: Reset Token
Sending Emails with Nodemailer
Password Reset Functionality: Setting New Password
Updating the Current User: Password
Updating the Current User: Data
Deleting the Current User
Security Best Practices
Sending JWT via Cookie
Implementing Rate Limiting
Setting Security HTTP Headers
Preventing Parameter Pollution
5 more sections
Absolutely NO understanding of Node or back-end development is required! I take you from beginner to advanced developer!
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
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.
(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 “[email protected]” 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.
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?
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.
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’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.