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 Mindfulness Personal Development Personal Transformation Meditation Life Purpose Coaching Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js 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
30-Day Money-Back Guarantee

This course includes:

  • 15 hours on-demand video
  • 14 articles
  • 38 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
Development Web Development Node.Js

Node.js: The Complete Guide to Build RESTful APIs (2018)

Learn to build fast, scalable and secure RESTful services with Node, Express and MongoDB, from setup to production
Bestseller
Rating: 4.7 out of 54.7 (9,306 ratings)
38,256 students
Created by Mosh Hamedani
Last updated 4/2018
English
English, French [Auto], 
30-Day Money-Back Guarantee

What you'll learn

  • Build the backend for your web and mobile apps
  • Use modern JavaScript features (ES6, ES7)
  • Implement CRUD operations
  • Handle and log errors, the right way
  • Write unit and integration tests
  • Practice test-driven development (TDD)
  • Store and retrieve complex data in MongoDB
  • Implement authentication and authorization
  • Deploy your Node apps to production
  • Apply the best practices for building fast, scalable and secure apps
Curated for the Udemy for Business collection

Course content

15 sections • 224 lectures • 15h 3m total length

  • Preview00:30
  • What is Node
    Preview02:59
  • Preview03:01
  • How Node Works
    Preview04:23
  • Installing Node
    02:31
  • Your First Node Program
    02:19
  • Course Structure
    02:13
  • Recap
    00:00
  • Asking Questions
    00:33

  • Introduction
    00:28
  • Global Object
    03:21
  • Modules
    03:35
  • Creating a Module
    04:43
  • Loading a Module
    05:22
  • Module Wrapper Function
    04:40
  • Path Module
    04:08
  • OS Module
    04:18
  • File System Module
    04:50
  • Events Module
    06:17
  • Event Arguments
    03:08
  • Extending Event Emitter
    08:01
  • HTTP Module
    07:24
  • Recap
    00:00

  • Introduction
    03:41
  • Package.json
    02:54
  • Installing a Node Package
    03:33
  • Using a Package
    03:20
  • Package Dependencies
    03:18
  • NPM Packages and Source Control
    03:51
  • Semantic Versioning
    04:29
  • Listing the Installed Packages
    02:10
  • Viewing Registry Info for a Package
    02:45
  • Installing a Specific Version of a Package
    01:05
  • Updating Local Packages
    05:02
  • DevDependencies
    01:51
  • Uninstalling a Package
    00:40
  • Working with Global Packages
    02:33
  • Publishing a Package
    04:32
  • Updating a Published Package
    01:55
  • Recap
    00:00

  • Introduction
    00:47
  • RESTful Services
    05:57
  • Introducing Express
    02:19
  • Building Your First Web Server
    05:45
  • Nodemon
    01:30
  • Environment Variables
    03:13
  • Route Parameters
    03:22
  • Handling HTTP GET Requests
    04:45
  • Handling HTTP POST Requests
    03:42
  • Calling Endpoints Using Postman
    02:07
  • Input Validation
    07:58
  • Handling HTTP PUT Requests
    08:30
  • Handling HTTP Delete Requests
    04:44
  • Project- Build the Genres API
    01:18
  • Recap
    00:00

  • Introducion
    00:22
  • MIddleware
    02:48
  • Creating Custom Middleware
    04:23
  • Built-In Middleware
    03:57
  • Third-party Middleware
    03:55
  • Environments
    04:06
  • Configuration
    09:45
  • Debugging
    06:54
  • Templating Engines
    04:55
  • Database Integration
    01:36
  • Authentication
    00:29
  • Structuring Express Applications
    07:44
  • Project- Restructure the App
    03:05
  • Recap
    00:00

  • Synchronous Vs. Asynchronous Code
    05:51
  • Patterns For Dealing With Asynchronous Code
    03:07
  • Callbacks
    05:59
  • Callback Hell
    02:28
  • Named Functions to Rescue
    04:41
  • Promises
    08:37
  • Replacing Callbacks with Promises
    03:31
  • Consuming Promises
    05:31
  • Creating Settled Promises
    02:49
  • Running Parallel Promises
    06:14
  • Async and Await
    06:55
  • Exercise
    05:56

  • Introducing MongoDB
    02:00
  • Installing MongoDB on Mac
    03:58
  • Installing MongoDB on Windows
    05:39
  • Connecting to MongoDB
    03:52
  • Schemas
    03:48
  • Models
    04:18
  • Saving a Document
    03:33
  • Querying Documents
    04:18
  • Comparison Query Operators
    04:59
  • Logical Query Operators
    02:01
  • Regular Expressions
    03:20
  • Counting
    00:49
  • Pagination
    01:36
  • Exercise 1
    07:57
  • Exercise 2
    04:34
  • Exercise 3
    03:19
  • Updating Documents- Query First
    03:35
  • Updating a Document- Update First
    06:14
  • Removing Documents
    02:38
  • Recap
    00:00

  • Validation
    06:59
  • Built-In Validators
    04:54
  • Custom Validators
    03:16
  • Async Validators
    02:35
  • Validation Errors
    03:37
  • SchemaType Options
    05:56
  • Project- Add Persistence to Genres API
    14:05
  • Project- Build the Customers API
    06:59
  • Restructuring the Project
    06:14
  • Recap
    00:00

  • Modelling Relationships
    07:45
  • Referencing Documents
    03:51
  • Population
    04:16
  • Embedding Documents
    06:54
  • Using an Array of Sub-documents
    04:31
  • Project- Build the Movies API
    07:05
  • Project- Build the Rentals API
    08:01
  • Transactions
    08:45
  • ObjectID
    07:03
  • Validating Object ID's
    06:13
  • A Better Implementation
    02:23
  • Recap
    00:00

  • Introduction
    04:01
  • Creating the User Model
    03:40
  • Registering Users
    07:53
  • Using Lodash
    05:21
  • Hashing Passwords
    06:54
  • Authenticating Users
    04:54
  • Testing the Authentication
    02:42
  • JSON Web Tokens
    05:04
  • Generating Authentication Tokens
    03:18
  • Storing Secrets in Environment Variables
    06:12
  • Setting Response Headers
    03:46
  • Encapsulating Logic in Mongoose Models
    07:11
  • Authorization Middleware
    06:50
  • Protecting Routes
    03:06
  • Getting the Current User
    04:03
  • Logging Out Users
    02:04
  • Role Based Authorization
    05:43
  • Testing the Authorization
    04:10
  • Recap
    00:00

Requirements

  • Basic familiarity with JavaScript

Description

What is Node.js?

Node.js, or Node, is a runtime environment for executing JavaScript code outside of a browser. It is ideal for building highly-scalable, data-intensive backend services (APIs) that power your client’s apps (web or mobile apps).


Why learn Node?

Node is great for prototyping and agile development as well as building super fast and highly scalable apps; Companies like Uber and PayPal use Node in production to build applications because it requires fewer people and less code. Plus, Node has the largest ecosystem of open-source library, so you don’t have to build everything from scratch.


A step-by-step, A to Z course

What you’ll get when you sign up for this course:

  • 15 hours of HD videos, complete with exercises and solutions

  • A real-world project: you'll build the back-end for a video rental application, not a dummy to-do app!

  • No more wasted time on lengthy courses or out-of-date tutorials

  • Up-to-date and practical information and solutions (no fluff!)

  • The opportunity to learn at your own pace - lifetime access - so take your time if you prefer

  • Expert tips to become a Node rockstar

  • The best practices and common pitfalls to avoid

  • Watch on any device, online or offline - mobile friendly and downloadable lessons

  • Certificate of completion to present to your employer


You’ll learn to:

  • Confidently build RESTful services (APIs) using Node.js, Express.js, and MongoDB

  • Employ the best practices for Node.js

  • Avoid common mistakes


What we’ll cover:

  • Node module system

  • Node Package Manager (NPM)

  • Asynchronous JavaScript

  • Useful ES6+ features

  • Implementing CRUD operations

  • Storing complex data in MongoDB

  • Data Validation

  • Authentication and authorization

  • Handling and logging errors the right way

  • Unit and integration testing

  • Test-driven development (TDD)

  • Deployment


This course is for you if:

You’re a back-end developer who is used to working with frameworks like ASP.NET, Rails, Django, etc. You want to add Node.js to your toolbox.

You’re a front-end developer and want to transition to full-stack development.

You’ve tried other Node.js tutorials and found them to be too slow, out-of-date, and boring!

Having Node.js on your resume helps you find more jobs and make more money.


And here is what other students say: 

"Absolutely the best! Highly recommended if you want to get started on Node.js from zero. I have learned what Node is and what it can do. Truly comprehensive. Perfect rating! Mosh knows his stuff and he deserves your support. On a side note, my current company uses Mosh's courses as a huge resource and reference when training / refreshing knowledge. I just want to say thank you! Please don't stop teaching. You were born with the talent to teach." -Eugene John Arellano


"Mosh is one of the top 3 instructors for modern web development. He explains difficult concepts with ease. I recommend all of his courses because of the amount of detail and his style of teaching." -Warren Isaac


"What I like most about the course is Mosh's methodology and the way how he explains the things. Very well structured course with high quality of presentation as well." -Omar Amrani


Who is your instructor?

Hi! My name is Mosh Hamedani and I help ambitious developers take their coding skills to the next level. I'm a software engineer with more than 15 years of experience and I've taught over 200,000 students through my online courses. My YouTube channel, Programming with Mosh, has been watched more than 6M times. My students describe my teaching as clear, concise, and fun, without any fluff.


Do you want to become a Node rockstar? Enroll in the course and get started.


Who this course is for:

  • You’re a back-end developer familiar with frameworks like ASPNET, Rails, Django, etc. Now, you want to add Node to your toolbox.
  • You’re a front-end developer and want to transition to full-stack development.
  • Having Node on your resume helps you find more jobs and make more money.

Featured review

Louai Hamada
Louai Hamada
34 courses
3 reviews
Rating: 5.0 out of 59 months ago
Mosh is such an excellent teacher and mentor for me , he has amazing ability of explaining and simplifying things, I have took many of his courses, all of them were high quality, and this course is among the top! .. you learn a lot a lot here in one course .. highly recommended

Instructor

Mosh Hamedani
Passionate Software Engineer and Best-selling Author
Mosh Hamedani
  • 4.5 Instructor Rating
  • 201,527 Reviews
  • 478,292 Students
  • 20 Courses

Hi! My name is Mosh (Moshfegh) Hamedani! I'm a passionate software engineer with two decades of experience and I've taught over 3 million people who to code or how to become professional software engineers through my YouTube channel and online courses.

My goal is to make software engineering fun and accessible to everyone. That's why my courses are simple, pragmatic and free of BS.

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