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
Requirements
Modern JavaScript (ES6)
Basic programming principles
Basic knowledge of Node helps
Description
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.
Overview
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 CourseDown.com