Mô tả

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;

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

Bạn sẽ học được gì

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

Yêu cầu

  • 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

Nội dung khoá học

15 sections

Welcome, Welcome, Welcome!

3 lectures
Course Structure and Projects
06:45
READ BEFORE YOU START!
00:35
Let's Install Node.js
05:24

Introduction to Node.js and NPM

20 lectures
Section Intro
00:54
What Is Node.js and Why Use It?
07: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
Creating a Simple Web Server
12: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

Introduction to Back-End Web Development

5 lectures
Section Intro
00:46
An Overview of How the Web Works
13:28
HTTP in Action
05:29
Front-End vs. Back-End Web Development
06:02
Static vs Dynamic vs API
09:15

How Node.js Works: A Look Behind the Scenes

11 lectures
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
Streams in Practice
16:06
How Requiring Modules Really Works
09:39
Requiring Modules in Practice
15:51

[Optional] Asynchronous JavaScript: Promises and Async/Await

7 lectures
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

Express: Let's Start Building the Natours API!

22 lectures
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

Introduction to MongoDB

13 lectures
Section Intro
00:48
What is MongoDB?
08:44
No Need to Install MongoDB Locally
00:20
[OPTIONAL] Installing MongoDB on macOS
06:34
[OPTIONAL] Installing MongoDB on Windows
10:02
[OPTIONAL] Creating a Local Database
07:39
[OPTIONAL] CRUD: Creating Documents
04:17
[OPTIONAL] CRUD: Querying (Reading) Documents
12:26
[OPTIONAL] CRUD: Updating Documents
07:50
[OPTIONAL] 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

Using MongoDB with Mongoose

28 lectures
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
Making the API Better: Pagination
14: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

Error Handling with Express

14 lectures
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

Authentication, Authorization and Security

23 lectures
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

Modelling Data and Advanced Mongoose

27 lectures
Section Intro
01:02
MongoDB Data Modelling
24:39
Designing Our Data Model
10:57
Modelling Locations (Geospatial Data)
12:25
Modelling Tour Guides: Embedding
07:48
Modelling Tour Guides: Child Referencing
04:56
Populating Tour Guides
10:42
Modelling Reviews: Parent Referencing
08:30
Creating and Getting Reviews
17:03
Populating Reviews
06:06
Virtual Populate: Tours and Reviews
12:02
Implementing Simple Nested Routes
13:29
Nested Routes with Express
08:00
Adding a Nested GET Endpoint
05:06
Building Handler Factory Functions: Delete
14:21
Factory Functions: Update and Create
13:22
Factory Functions: Reading
14:41
Adding a /me Endpoint
04:42
Adding Missing Authentication and Authorization
14:44
Importing Review and User Data
07:26
Improving Read Performance with Indexes
16:11
Calculating Average Rating on Tours - Part 1
22:25
Calculating Average Rating on Tours - Part 2
15:56
Preventing Duplicate Reviews
09:29
Geospatial Queries: Finding Tours Within Radius
29:52
Geospatial Aggregation: Calculating Distances
16:28
Creating API Documentation Using Postman
10:37

Server-Side Rendering with Pug Templates

24 lectures
Section Intro
00:56
Recap: Server-Side vs Client-Side Rendering
05:16
Setting up Pug in Express
10:07
First Steps with Pug
14:37
Creating Our Base Template
15:24
Including Files into Pug Templates
04:45
Extending Our Base Template with Blocks
10:06
Setting up the Project Structure
05:57
Building the Tour Overview - Part 1
11:37
Building the Tour Overview - Part 2
15:52
Building the Tour Page - Part 1
20:28
Building the Tour Page - Part 2
25:49
Including a Map with Mapbox - Part 1
11:33
Including a Map with Mapbox - Part 2
27:51
Building the Login Screen
06:30
Logging in Users with Our API - Part 1
20:53
Logging in Users with Our API - Part 2
18:39
Logging in Users with Our API - Part 3
28:15
Logging out Users
13:56
Rendering Error Pages
21:45
Building the User Account Page
16:05
Updating User Data
17:07
Updating User Data with Our API
12:34
Updating User Password with Our API
14:41

Advanced Features: Payments, Email, File Uploads

20 lectures
Section Intro
00:32
Image Uploads Using Multer: Users
10:12
Configuring Multer
13:45
Saving Image Name to Database
05:32
Resizing Images
13:19
Adding Image Uploads to Form
11:33
Uploading Multiple Images: Tours
12:02
Processing Multiple Images
18:11
Building a Complex Email Handler
19:57
Email Templates with Pug: Welcome Emails
15:08
Sending Password Reset Emails
07:07
Using Sendgrid for "Real" Emails
09:32
Credit Card Payments with Stripe
10:08
Integrating Stripe into the Back-End
22:34
Processing Payments on the Front-End
23:04
Modelling the Bookings
06:23
Creating New Bookings on Checkout Success
19:07
Rendering a User's Booked Tours
11:16
Finishing the Bookings API
07:12
Final Considerations
07:28

Setting Up Git and Deployment

10 lectures
Section Intro
00:40
Setting Up Git and GitHub
04:38
Git Fundamentals
10:33
Pushing to GitHub
10:27
Preparing Our App for Deployment
10:55
Deploying Our App to Heroku
26:30
Testing for Secure HTTPS Connections
05:52
Responding to a SIGTERM Signal
07:21
Implementing CORS
15:53
Finishing Payments with Stripe Webhooks
38:08

That's It, Everyone!

2 lectures
Where to Go from Here
03:39
My Other Courses + Updates
01:04

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.