CursosPago

Node.js, Express, MongoDB & More The Complete Bootcamp 2024

42:15:04 Inglés Premium 01/04/2024 226 videos

Descripción del curso

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. (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. 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 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? 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 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.
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
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.
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

Curriculum

Section 1: Module 1

  • 02 - Course Structure and Projects 06:46
  • 03 - Let's Install Node.js 05:26
  • 04 - Section Intro 00:56
  • 05 - What Is Node.js and Why Use It? 07:40
  • 06 - Running Javascript Outside the Browser 06:28
  • 07 - Using Modules 1: Core Modules 06:00
  • 08 - Reading and Writing Files 07:29
  • 09 - Blocking and Non-Blocking: Asynchronous Nature of Node.js 10:14
  • 10 - Reading and Writing Files Asynchronously 14:17
  • 11 - Creating a Simple Web Server 12:51
  • 12 - Routing 15:19
  • 13 - Building a (Very) Simple API 14:29
  • 14 - HTML Templating: Building the Templates 14:04
  • 15 - HTML Templating: Filling the Templates 20:47
  • 16 - Parsing Variables from URLs 10:24
  • 17 - Using Modules 2: Our Own Modules 06:35
  • 18 - Introduction to NPM and the package.json File 05:18
  • 19 - Types of Packages and Installs 13:40
  • 20 - Using Modules 3: 3rd Party Modules 07:56
  • 21 - Package Versioning and Updating 11:46
  • 22 - Setting up Prettier in VS Code 11:28
  • 23 - Recap and What's Next 02:58
  • 24 - Section Intro 00:47
  • 25 - An Overview of How the Web Works 13:29
  • 26 - HTTP in Action 05:30
  • 27 - Front-End vs. Back-End Web Development 06:03
  • 28 - Static vs Dynamic vs API 09:16
  • 29 - Section Intro 01:25
  • 30 - Node, V8, Libuv and C++ 03:48
  • 31 - Processes, Threads and the Thread Pool 04:22
  • 32 - The Node.js Event Loop 11:34
  • 33 - The Event Loop in Practice 18:51
  • 34 - Events and Event-Driven Architecture 04:19
  • 35 - Events in Practice 13:55
  • 36 - Introduction to Streams 06:18
  • 37 - Streams in Practice 16:07
  • 38 - How Requiring Modules Really Works 09:40
  • 39 - Requiring Modules in Practice 15:52
  • 40 - Section Intro 00:58
  • 41 - The Problem with Callbacks: Callback Hell 12:47
  • 42 - From Callback Hell to Promises 06:44
  • 43 - Building Promises 14:43
  • 44 - Consuming Promises with Async/Await 07:49
  • 45 - Returning Values from Async Functions 13:04
  • 46 - Waiting for Multiple Promises Simultaneously 06:12
  • 47 - Section Intro 00:57
  • 48 - What is Express? 02:02
  • 49 - Installing Postman 03:27
  • 50 - Setting up Express and Basic Routing 14:49
  • 51 - APIs and RESTful API Design 16:08
  • 52 - Starting Our API: Handling GET Requests 12:20
  • 53 - Handling POST Requests 15:22
  • 54 - Responding to URL Parameters 11:49
  • 55 - Handling PATCH Requests 07:06
  • 56 - Handling DELETE Requests 02:41
  • 57 - Refactoring Our Routes 06:48
  • 58 - Middleware and the Request-Response Cycle 04:49
  • 59 - Creating Our Own Middleware 09:06
  • 60 - Using 3rd-Party Middleware 09:36
  • 61 - Implementing the "Users" Routes 06:58
  • 62 - Creating and Mounting Multiple Routers 08:05
  • 63 - A Better File Structure 18:21
  • 64 - Param Middleware 10:55
  • 65 - Chaining Multiple Middleware Functions 07:35
  • 66 - Serving Static Files 05:28
  • 67 - Environment Variables 16:40
  • 68 - Setting up ESLint + Prettier in VS Code 13:34
  • 69 - Section Intro 00:49
  • 70 - What is MongoDB? 08:45
  • 71 - [OPTIONAL] Installing MongoDB on macOS 06:35
  • 72 - [OPTIONAL] Installing MongoDB on Windows 10:03
  • 73 - [OPTIONAL] Creating a Local Database 07:40
  • 74 - [OPTIONAL] CRUD: Creating Documents 04:18
  • 75 - [OPTIONAL] CRUD: Querying (Reading) Documents 12:27
  • 76 - [OPTIONAL] CRUD: Updating Documents 07:51
  • 77 - [OPTIONAL] CRUD: Deleting Documents 02:48
  • 78 - Using Compass App for CRUD Operations 07:12
  • 79 - Creating a Hosted Database with Atlas 04:28
  • 80 - Connecting to Our Hosted Database 07:36
  • 81 - Section Intro 00:57
  • 82 - Connecting Our Database with the Express App 12:25
  • 83 - What Is Mongoose? 01:54
  • 84 - Creating a Simple Tour Model 07:02
  • 85 - Creating Documents and Testing the Model 09:04
  • 86 - Intro to Back-End Architecture: MVC, Types of Logic, and More 06:55
  • 87 - Refactoring for MVC 06:32
  • 88 - Another Way of Creating Documents 13:54
  • 89 - Reading Documents 08:36
  • 90 - Updating Documents 10:52
  • 91 - Deleting Documents 04:10
  • 92 - Modelling the Tours 18:14
  • 93 - Importing Development Data 15:41
  • 94 - Making the API Better: Filtering 18:46
  • 95 - Making the API Better: Advanced Filtering 12:05
  • 96 - Making the API Better: Sorting 11:01
  • 97 - Making the API Better: Limiting Fields 06:20
  • 98 - Making the API Better: Pagination 15:00
  • 99 - Making the API Better: Aliasing 08:57
  • 100 - Refactoring API Features 15:39
  • 101 - Aggregation Pipeline: Matching and Grouping 20:38
  • 102 - Aggregation Pipeline: Unwinding and Projecting 19:29
  • 103 - Virtual Properties 06:24
  • 104 - Document Middleware 14:30
  • 105 - Query Middleware 13:55
  • 106 - Aggregation Middleware 07:43
  • 107 - Data Validation: Built-In Validators 10:07
  • 108 - Data Validation: Custom Validators 14:03
  • 109 - Section Intro 00:42
  • 110 - Debugging Node.js with ndb 20:30
  • 111 - Handling Unhandled Routes 07:51
  • 112 - An Overview of Error Handling 03:37
  • 113 - Implementing a Global Error Handling Middleware 09:00
  • 114 - Better Errors and Refactoring 11:14
  • 115 - Catching Errors in Async Functions 14:55
  • 116 - Adding 404 Not Found Errors 09:07
  • 117 - Errors During Development vs Production 10:31
  • 118 - Handling Invalid Database IDs 09:43
  • 119 - Handling Duplicate Database Fields 06:05
  • 120 - Handling Mongoose Validation Errors 08:25
  • 121 - Errors Outside Express: Unhandled Rejections 08:50
  • 122 - Catching Uncaught Exceptions 09:17
  • 123 - Section Intro 00:59
  • 124 - Modelling Users 10:01
  • 125 - Creating New Users 11:20
  • 126 - Managing Passwords 18:25
  • 127 - How Authentication with JWT Works 08:47
  • 128 - Signing up Users 16:02
  • 129 - Logging in Users 26:36
  • 130 - Protecting Tour Routes - Part 1 14:58
  • 131 - Protecting Tour Routes - Part 2 35:15
  • 132 - Advanced Postman Setup 11:36
  • 133 - Authorization: User Roles and Permissions 15:55
  • 134 - Password Reset Functionality: Reset Token 17:04
  • 135 - Sending Emails with Nodemailer 23:05
  • 136 - Password Reset Functionality: Setting New Password 21:34
  • 137 - Updating the Current User: Password 16:37
  • 138 - Updating the Current User: Data 20:12
  • 139 - Deleting the Current User 10:29
  • 140 - Security Best Practices 10:14
  • 141 - Sending JWT via Cookie 09:47
  • 142 - Implementing Rate Limiting 07:05
  • 143 - Setting Security HTTP Headers 05:20
  • 144 - Data Sanitization 09:16
  • 145 - Preventing Parameter Pollution 08:21
  • 146 - Section Intro 01:03
  • 147 - MongoDB Data Modelling 24:40
  • 148 - Designing Our Data Model 10:58
  • 149 - Modelling Locations (Geospatial Data) 12:26
  • 150 - Modelling Tour Guides: Embedding 07:49
  • 151 - Modelling Tour Guides: Child Referencing 04:57
  • 152 - Populating Tour Guides 10:43
  • 153 - Modelling Reviews: Parent Referencing 08:32
  • 154 - Creating and Getting Reviews 17:04
  • 155 - Populating Reviews 06:07
  • 156 - Virtual Populate: Tours and Reviews 12:03
  • 157 - Implementing Simple Nested Routes 13:30
  • 158 - Nested Routes with Express 08:01
  • 159 - Adding a Nested GET Endpoint 05:07
  • 160 - Building Handler Factory Functions: Delete 14:22
  • 161 - Factory Functions: Update and Create 13:23
  • 162 - Factory Functions: Reading 14:43
  • 163 - Adding a /me Endpoint 04:43
  • 164 - Adding Missing Authentication and Authorization 14:45
  • 165 - Importing Review and User Data 07:27
  • 166 - Improving Read Performance with Indexes 16:12
  • 167 - Calculating Average Rating on Tours - Part 1 22:26
  • 168 - Calculating Average Rating on Tours - Part 2 15:58
  • 169 - Preventing Duplicate Reviews 09:30
  • 170 - Geospatial Queries: Finding Tours Within Radius 29:54
  • 171 - Geospatial Aggregation: Calculating Distances 16:29
  • 172 - Creating API Documentation Using Postman 10:38
  • 173 - Section Intro 00:57
  • 174 - Recap: Server-Side vs Client-Side Rendering 05:17
  • 175 - Setting up Pug in Express 10:09
  • 176 - First Steps with Pug 14:38
  • 177 - Creating Our Base Template 15:25
  • 178 - Including Files into Pug Templates 04:46
  • 179 - Extending Our Base Template with Blocks 10:07
  • 180 - Setting up the Project Structure 05:58
  • 181 - Building the Tour Overview - Part 1 11:38
  • 182 - Building the Tour Overview - Part 2 15:54
  • 183 - Building the Tour Page - Part 1 20:29
  • 184 - Building the Tour Page - Part 2 25:51
  • 185 - Including a Map with Mapbox - Part 1 11:34
  • 186 - Including a Map with Mapbox - Part 2 27:52
  • 187 - Building the Login Screen 06:31
  • 188 - Logging in Users with Our API - Part 1 20:54
  • 189 - Logging in Users with Our API - Part 2 18:40
  • 190 - Logging in Users with Our API - Part 3 28:16
  • 191 - Logging out Users 13:57
  • 192 - Rendering Error Pages 21:46
  • 193 - Building the User Account Page 16:06
  • 194 - Updating User Data 17:08
  • 195 - Updating User Data with Our API 12:35
  • 196 - Updating User Password with Our API 14:43
  • 197 - Section Intro 00:33
  • 198 - Image Uploads Using Multer: Users 10:13
  • 199 - Configuring Multer 13:47
  • 200 - Saving Image Name to Database 05:33
  • 201 - Resizing Images 13:20
  • 202 - Adding Image Uploads to Form 11:34
  • 203 - Uploading Multiple Images: Tours 12:03
  • 204 - Processing Multiple Images 18:12
  • 205 - Building a Complex Email Handler 19:59
  • 206 - Email Templates with Pug: Welcome Emails 15:09
  • 207 - Sending Password Reset Emails 07:08
  • 208 - Using Sendgrid for "Real" Emails 09:33
  • 209 - Credit Card Payments with Stripe 10:09
  • 210 - Integrating Stripe into the Back-End 22:35
  • 211 - Processing Payments on the Front-End 23:05
  • 212 - Modelling the Bookings 06:24
  • 213 - Creating New Bookings on Checkout Success 19:09
  • 214 - Rendering a User's Booked Tours 11:17
  • 215 - Finishing the Bookings API 07:13
  • 216 - Final Considerations 07:29
  • 217 - Section Intro 00:41
  • 218 - Setting Up Git and GitHub 04:39
  • 219 - Git Fundamentals 10:34
  • 220 - Pushing to GitHub 10:29
  • 221 - Preparing Our App for Deployment 10:56
  • 222 - Deploying Our App to Heroku 26:31
  • 223 - Testing for Secure HTTPS Connections 05:53
  • 224 - Responding to a SIGTERM Signal 07:22
  • 225 - Implementing CORS 15:54
  • 226 - Finishing Payments with Stripe Webhooks 38:09
  • 227 - Where to Go from Here 03:40

About the Instructor

Instructor

udemy

Course

$0.00

$8.00
Que esta incluido?
  • Streaming Multiplataforma
  • Acceso de por vida
  • Soporte al cliente
  • Actualizaciones gratuitas