Node.js API Masterclass With Express & MongoDB

Node.js API Masterclass With Express & MongoDB

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 12 Hours | 5.10 GB

Create a real world backend for a bootcamp directory app

This is a project based course where we build an extensive, in-depth backend API for DevCamper, a bootcamp directory app. 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 Essentials
  • Postman Client
  • RESTful APIs
  • Express Framework
  • Routing & Controller Methods
  • MongoDB Atlas & Compass
  • Mongoose ODM
  • Advanced Query (Pagination, filter, etc)
  • Models & Relationships
  • Middleware (Express & Mongoose)
  • MongoDB Geospatial Index / GeoJSON
  • Geocoding
  • Custom Error Handling
  • User Roles & Permissions
  • Aggregation
  • Photo Upload
  • Authentication With JWT & Cookies
  • Emailing Password Reset Tokens
  • Custom Database Seeder Using JSON Files
  • Password & Token Hashing
  • Security: NoSQL Injection, XSS, etc
  • Creating Documentation
  • Deployment With PM2, NGINX, SSL

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
Table of Contents

Welcome To The Course
1 Course Introduction
2 A Look At The Project
3 Optional Node.js Beginner Crash Course
4 Environment Setup

HTTP Intro – Headers, Body, Status Codes, etc
5 HTTP the Node Http Module
6 Installing Nodemon
7 Responding With Data
8 HTTP Status Codes
9 Sending Data To The Server
10 HTTP Methods RESTful APIs

Starting Our DevCamper Project
11 Project Specs Resources
12 Basic Express Server, dotenv Git
13 Creating Routes Responses In Express
14 Using The Express Router
15 Creating Controller Methods
16 Intro To Middleware
17 Postman Environment Collections

Getting Started With MongoDB Bootcamps Resource
18 MongoDB Atlas Compass Setup
19 Connecting To The Database With Mongoose
20 Colors In The Console
21 Creating Our First Model
22 Create Bootcamp – POST
23 Fetching Bootcamps – GET
24 Updating Deleting Bootcamps – PUT DELETE

Custom Error Handling Mongoose Middleware
25 Error Handler Middleware
26 Custom ErrorResponse Class
27 Mongoose Error Handling [1]
28 Mongoose Error Handling [2]
29 AsyncAwait Middleware
30 Mongoose Middleware Slugify
31 GeoJSON Location Geocoder Hook – MapQuest API

Mongoose Advanced Querying Relationships
32 Database Seeder For Bootcamps
33 Update Delete Course
34 Aggregate – Calculating The Average Course Cost
35 Photo Upload For Bootcamp
36 Advanced Results Middleware
37 Geospatial Query – Get Bootcamps Within Radius
38 Advanced Filtering
39 Select Sorting
40 Adding Pagination
41 Course Model Seeding
42 Course Routes Controller
43 Populate, Virtuals Cascade Delete
44 Single Course Add Course

Authentication, Users Permissions – Part 1
45 User Model
46 User Register Encrypting Passwords
47 Sign Get JSON Web Token
48 User Login
49 Sending JWT In a Cookie
50 Auth Protect Middleware
51 Storing The Token In Postman
52 Role Authorization

Authentication, Users Permissions – Part 2
53 Bootcamp User Relationship
54 Bootcamp Ownership
55 Course Ownership
56 Forgot Password – Generate Token
57 Forgot Password – Send Email
58 Reset Password
59 Update User Details
60 Admin Users CRUD

Bootcamp Reviews Ratings
61 Review Model Get Reviews
62 Get Single Review Update Seeder
63 Add Review For Bootcamp
64 Aggregate – Calculate Average Rating
65 Update Delete Reviews

API Security
66 Logout To Clear Token Cookie
67 Prevent NoSQL Injection Sanitize Data
68 XSS Protection Security Headers
69 Rate Limiting, HPP CORS

Documentation Deploy
70 Documentation With Postman Docgen
71 Digital Ocean Droplet Server Log In
72 Prepare Push To Github
73 Clone Repo On Server
74 PM2 Process Manager Setup
75 NGINX Reverse Proxy Setup
76 Domain, SSL Wrap Up