Nodejs API Masterclass With Express & MongoDB

Create a real world backend for a bootcamp directory app
Nodejs API Masterclass With Express & MongoDB
File Size :
5.62 GB
Total length :
12h 3m



Brad Traversy


Last update

Last updated 10/2019



Nodejs API Masterclass With Express & MongoDB

What you’ll learn

Real World Backend RESTful API For Bootcamp Directory App
HTTP Fundamentals (Req/Res Cycle, Status Codes, etc)
Advanced Mongoose Queries
JWT/Cookie Authentication
Express & Mongoose Middleware (Geocoding, Auth, Error Handling, etc)
API Security (NoSQL injection, XSS protection, Rate Limiting)
API Documentation & Deployment

Nodejs API Masterclass With Express & MongoDB


Modern JavaScript (ES6)
Basic programming principles
Basic knowledge of Node helps


This is a project based course where we build an extensive, in-depth backend API for DevCamper, a bootcamp directory API. We will start from scratch and end up with a professional deployed API with documentation. We will dive deep into Node, Express and MongoDB. Here is some of what you will learn in this course and project…HTTP EssentialsPostman ClientRESTful APIsExpress FrameworkRouting & Controller MethodsMongoDB Atlas & CompassMongoose ODMAdvanced Query (Pagination, filter, etc)Models & RelationshipsMiddleware (Express & Mongoose)MongoDB Geospatial Index / GeoJSONGeocodingCustom Error HandlingUser Roles & PermissionsAggregationPhoto UploadAuthentication With JWT & CookiesEmailing Password Reset TokensCustom Database Seeder Using JSON FilesPassword & Token HashingSecurity: NoSQL Injection, XSS, etcCreating DocumentationDeployment With PM2, NGINX, SSLWeb development is changing. We used to render all of our views and templates on the server, but since the rise of frontend frameworks like React, Angular and Vue, we are now splitting projects up into backend and frontend, where the backend is doing all of the database interaction and serving JSON and the frontend is fetching that data and creating the user interface to interact with. This course will teach you the entire backend side of things so that you can build extensive APIs and then use whatever you want on the frontend.We will do a lot more than just build a simple CRUD REST API like many other Node.js and Express tutorials. We will be implementing authentication, roles and permissions, password reset tokens, email functionality, geocoding and much more. This course teaches what it’s like to be a real backend engineer.


Section 1: Welcome To The Course

Lecture 1 Course Introduction

Lecture 2 A Look At The Project

Lecture 3 Optional Node.js Beginner Crash Course

Lecture 4 Environment Setup

Section 2: HTTP Intro – Headers, Body, Status Codes, etc

Lecture 5 HTTP & the Node Http Module

Lecture 6 Installing Nodemon

Lecture 7 Responding With Data

Lecture 8 HTTP Status Codes

Lecture 9 Sending Data To The Server

Lecture 10 HTTP Methods & RESTful APIs

Section 3: Starting Our DevCamper Project

Lecture 11 Project Specs & Resources

Lecture 12 Basic Express Server, dotenv & Git

Lecture 13 Creating Routes & Responses In Express

Lecture 14 Using The Express Router

Lecture 15 Creating Controller Methods

Lecture 16 Intro To Middleware

Lecture 17 Postman Environment & Collections

Section 4: Getting Started With MongoDB & Bootcamps Resource

Lecture 18 MongoDB Atlas & Compass Setup

Lecture 19 Connecting To The Database With Mongoose

Lecture 20 Colors In The Console

Lecture 21 Creating Our First Model

Lecture 22 Create Bootcamp – POST

Lecture 23 Fetching Bootcamps – GET

Lecture 24 Updating & Deleting Bootcamps – PUT & DELETE

Section 5: Custom Error Handling & Mongoose Middleware

Lecture 25 Error Handler Middleware

Lecture 26 Custom ErrorResponse Class

Lecture 27 Mongoose Error Handling [1]

Lecture 28 Mongoose Error Handling [2]

Lecture 29 Async/Await Middleware

Lecture 30 Mongoose Middleware & Slugify

Lecture 31 GeoJSON Location & Geocoder Hook – MapQuest API

Section 6: Mongoose Advanced Querying & Relationships

Lecture 32 Database Seeder For Bootcamps

Lecture 33 Geospatial Query – Get Bootcamps Within Radius

Lecture 34 Advanced Filtering

Lecture 35 Select & Sorting

Lecture 36 Adding Pagination

Lecture 37 Course Model & Seeding

Lecture 38 Course Routes & Controller

Lecture 39 Populate, Virtuals & Cascade Delete

Lecture 40 Single Course & Add Course

Lecture 41 Update & Delete Course

Lecture 42 Aggregate – Calculating The Average Course Cost

Lecture 43 Photo Upload For Bootcamp

Lecture 44 Advanced Results Middleware

Section 7: Authentication, Users & Permissions – Part 1

Lecture 45 User Model

Lecture 46 User Register & Encrypting Passwords

Lecture 47 Sign & Get JSON Web Token

Lecture 48 User Login

Lecture 49 Sending JWT In a Cookie

Lecture 50 Auth Protect Middleware

Lecture 51 Storing The Token In Postman

Lecture 52 Role Authorization

Section 8: Authentication, Users & Permissions – Part 2

Lecture 53 Bootcamp & User Relationship

Lecture 54 Bootcamp Ownership

Lecture 55 Course Ownership

Lecture 56 Forgot Password – Generate Token

Lecture 57 Forgot Password – Send Email

Lecture 58 Reset Password

Lecture 59 Update User Details

Lecture 60 Admin Users CRUD

Section 9: Bootcamp Reviews & Ratings

Lecture 61 Review Model & Get Reviews

Lecture 62 Get Single Review & Update Seeder

Lecture 63 Add Review For Bootcamp

Lecture 64 Aggregate – Calculate Average Rating

Lecture 65 Update & Delete Reviews

Section 10: API Security

Lecture 66 Logout To Clear Token Cookie

Lecture 67 Prevent NoSQL Injection & Sanitize Data

Lecture 68 XSS Protection & Security Headers

Lecture 69 Rate Limiting, HPP & CORS

Section 11: Documentation & Deploy

Lecture 70 Documentation With Postman & Docgen

Lecture 71 Digital Ocean Droplet & Server Log In

Lecture 72 Prepare & Push To Github

Lecture 73 Clone Repo On Server

Lecture 74 PM2 Process Manager Setup

Lecture 75 NGINX Reverse Proxy Setup

Lecture 76 Domain, SSL & Wrap Up

People that want to learn backend web development with Node,React/Vue/Angular Frontend devs that want to be full stack devs

Course Information:

Udemy | English | 12h 3m | 5.62 GB
Created by: Brad Traversy

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top