Node.Js, Express, MongoDB & More: The Complete Bootcamp
Last updated 11/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 21.54 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 "[email protected]" and password "test1234")After finishing this course, you will:1) Be building your 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;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: Calculating Distances
Lecture 173 Creating API Documentation Using Postman
Section 12: Server-Side Rendering with Pug Templates
Lecture 174 Section Intro
Lecture 175 Recap: Server-Side vs Client-Side Rendering
Lecture 176 Setting up Pug in Express
Lecture 177 First Steps with Pug
Lecture 178 Creating Our Base Template
Lecture 179 Including Files into Pug Templates
Lecture 180 Extending Our Base Template with Blocks
Lecture 181 Setting up the Project Structure
Lecture 182 Building the Tour Overview - Part 1
Lecture 183 Building the Tour Overview - Part 2
Lecture 184 Building the Tour Page - Part 1
Lecture 185 Building the Tour Page - Part 2
Lecture 186 Including a Map with Mapbox - Part 1
Lecture 187 Including a Map with Mapbox - Part 2
Lecture 188 Building the Login Screen
Lecture 189 Logging in Users with Our API - Part 1
Lecture 190 Logging in Users with Our API - Part 2
Lecture 191 Logging in Users with Our API - Part 3
Lecture 192 Logging out Users
Lecture 193 Rendering Error Pages
Lecture 194 Building the User Account Page
Lecture 195 Updating User Data
Lecture 196 Updating User Data with Our API
Lecture 197 Updating User Password with Our API
Section 13: Advanced Features: Payments, Email, File Uploads
Lecture 198 Section Intro
Lecture 199 Image Uploads Using Multer: Users
Lecture 200 Configuring Multer
Lecture 201 Saving Image Name to Database
Lecture 202 Resizing Images
Lecture 203 Adding Image Uploads to Form
Lecture 204 Uploading Multiple Images: Tours
Lecture 205 Processing Multiple Images
Lecture 206 Building a Complex Email Handler
Lecture 207 Email Templates with Pug: Welcome Emails
Lecture 208 Sending Password Reset Emails
Lecture 209 Using Sendgrid for "Real" Emails
Lecture 210 Credit Card Payments with Stripe
Lecture 211 Integrating Stripe into the Back-End
Lecture 212 Processing Payments on the Front-End
Lecture 213 Modelling the Bookings
Lecture 214 Creating New Bookings on Checkout Success
Lecture 215 Rendering a User's Booked Tours
Lecture 216 Finishing the Bookings API
Lecture 217 Final Considerations
Section 14: Setting Up Git and Deployment
Lecture 218 Section Intro
Lecture 219 Setting Up Git and GitHub
Lecture 220 Git Fundamentals
Lecture 221 Pushing to GitHub
Lecture 222 Preparing Our App for Deployment
Lecture 223 Deploying Our App to Heroku
Lecture 224 Testing for Secure HTTPS Connections
Lecture 225 Responding to a SIGTERM Signal
Lecture 226 Implementing CORS
Lecture 227 Finishing Payments with Stripe Webhooks
Section 15: That's It, Everyone!
Lecture 228 Where to Go from Here
Lecture 229 My Other Courses + Updates
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.
Homepage
Code:
Bitte
Anmelden
oder
Registrieren
um Code Inhalt zu sehen!
Code:
Bitte
Anmelden
oder
Registrieren
um Code Inhalt zu sehen!
Code:
Bitte
Anmelden
oder
Registrieren
um Code Inhalt zu sehen!