Description
In this course, you will 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
Syllabus :
1. HTTP Intro - Headers, Body, Status Codes, etc
- HTTP & the Node Http Module
- Installing Nodemon
- Responding With Data
- HTTP Status Codes
- Sending Data To The Server
- HTTP Methods & RESTful APIs
2. Starting Our DevCamper Project
- Project Specs & Resources
- Basic Express Server, dotenv & Git
- Creating Routes & Responses In Express
- Using The Express Router
- Creating Controller Methods
- Intro To Middleware
- Postman Environment & Collections
3. Getting Started With MongoDB & Bootcamps Resource
- MongoDB Atlas & Compass Setup
- Connecting To The Database With Mongoose
- Colors In The Console
- Creating Our First Model
- Create Bootcamp - POST
- Fetching Bootcamps - GET
- Updating & Deleting Bootcamps - PUT & DELETE
4. Custom Error Handling & Mongoose Middleware
- Error Handler Middleware
- Custom ErrorResponse Class
- Mongoose Error Handling
- Async/Await Middleware
- Mongoose Middleware & Slugify
- GeoJSON Location & Geocoder Hook - MapQuest API
5. Mongoose Advanced Querying & Relationships
- Database Seeder For Bootcamps
- Geospatial Query - Get Bootcamps Within Radius
- Advanced Filtering
- Select & Sorting
- Adding Pagination
- Course Model & Seeding
- Course Routes & Controller
- Populate, Virtuals & Cascade Delete
- Single Course & Add Course
- Update & Delete Course
- Aggregate - Calculating The Average Course Cost
- Photo Upload For Bootcamp
- Advanced Results Middleware
6. Authentication, Users & Permissions - Part 1
- User Model
- User Register & Encrypting Passwords
- Sign & Get JSON Web Token
- User Login
- Sending JWT In a Cookie
- Auth Protect Middleware
- Storing The Token In Postman
- Role Authorization
7. Authentication, Users & Permissions - Part 2
- Bootcamp & User Relationship
- Bootcamp Ownership
- Course Ownership
- Forgot Password - Generate Token
- Forgot Password - Send Email
- Reset Password
- Update User Details
- Admin Users CRUD
8. Bootcamp Reviews & Ratings
- Review Model & Get Reviews
- Get Single Review & Update Seeder
- Add Review For Bootcamp
- Aggregate - Calculate Average Rating
- Update & Delete Reviews
9. API Security
- Logout To Clear Token Cookie
- Prevent NoSQL Injection & Sanitize Data
- XSS Protection & Security Headers
- Rate Limiting, HPP & CORS
10. Documentation & Deploy
- Documentation With Postman & Docgen
- Digital Ocean Droplet & Server Log In
- Prepare & Push To Github
- Clone Repo On Server
- PM2 Process Manager Setup
- NGINX Reverse Proxy Setup
- Domain, SSL & Wrap Up