Mosh Hamedani – The Complete Node.js Course
$10.00$29.00 (-66%)
Then I have the perfect course for you. A Node course that’s finally different from the rest.
Mosh Hamedani – The Complete Node.js Course
Check it out: Mosh Hamedani – The Complete Node.js Course
Step-by-step Course to Node Mastery Building Real-life APIs
Want to learn Node.js, but are tired of wordy and slow instructors who talk to you like you’ve never coded before?
Then I have the perfect course for you. A Node course that’s finally different from the rest.
A perfect mix of theory and practice with no waffling.
Learn to build RESTful APIs with Node, Express and MongoDB with confidence.
Includes best practices that pros apply, as well as going over common mistakes that many Node.js developers make.
All in a single course using a real-world project.
What You’l Learn…
All about Node module system
Use existing Node packages or publish your own
Write asynchronous JavaScript code (promises and async/await)
Implement CRUD operations
Store complex, relational data in MongoDB using Mongoose
Implement data validation
Implement authentication and authorization
Handle and log errors effectively
Set up configuration for various environments (dev, test, prod)
Write unit and integration tests
Build features using test-driven development
Deploy your Node apps to Heroku
And much more!
Who is this course for?
Back-end developers familiar with frameworks like ASP.NET, Rails, Django, etc who want to add Node to their toolbox
Front-end developers who want to transition to full-stack development
Course Curriculum
Getting Started (00:20)
PreviewWelcome (0:30)
PreviewWhat is Node (2:59)
PreviewNode Architecture (3:01)
PreviewHow Node Works (4:23)
PreviewInstalling Node (2:31)
PreviewYour First Node Program (2:19)
PreviewCourse Structure (2:13)
StartRecap
Node Module System (00:58)
StartIntroduction (0:28)
StartGlobal Object (3:21)
StartModules (3:35)
StartCreating a Module (4:43)
StartLoading a Module (5:22)
StartModule Wrapper Function (4:40)
StartPath Module (4:08)
StartOS Module (4:17)
StartFile System Module (4:50)
StartEvents Module (6:17)
StartEvent Arguments (3:08)
StartExtending EventEmitter (8:01)
StartHTTP Module (7:24)
StartNode Core Recap
Node Package Manager (NPM) (00:48)
StartIntroduction (3:41)
StartPackage.json (2:54)
StartInstalling a Node Package (3:33)
StartUsing a Package (3:20)
StartPackage Dependencies (3:18)
StartNPM Packages and Source Control (3:51)
StartSemantic Versioning (4:29)
StartListing the Installed Packages (2:10)
StartViewing Registry Info for a Package (2:45)
StartInstalling a Specific Version of a Package (1:05)
StartUpdating Local Packages (5:02)
StartDevDependencies (1:51)
StartUninstalling a Package (0:40)
StartWorking with Global Packages (2:32)
StartPublishing a Package (4:32)
StartUpdating a Published Package (1:55)
StartNPM Recap
Building RESTful API’s Using Express (00:56)
StartIntroduction (0:47)
StartRESTful Services (5:57)
StartIntroducing Express (2:19)
StartBuilding Your First Web Server (5:45)
StartNodemon (1:30)
StartEnvironment Variables (3:13)
StartRoute Parameters (3:22)
StartHandling HTTP GET Requests (4:45)
StartHandling HTTP POST Requests (3:42)
StartCalling Endpoints Using Postman (2:07)
StartInput Validation (7:58)
StartHandling HTTP PUT Requests (8:30)
StartHandling HTTP Delete Requests (4:44)
StartProject- Build the Genres API (1:18)
StartBuilding RESTful APIs with Express Recap
StartA Quick Note
Express- Advanced Topics (00:55)
Start1- Introduction (0:22)
Start2- Middleware (2:48)
Start3- Creating Custom Middleware (4:23)
Start4- Built-in Middleware (3:57)
Start5- Third-party Middleware (3:55)
Start6- Environments (4:05)
Start7- Configuration (9:45)
Start8- Debugging (6:54)
Start9- Templating Engines (4:55)
Start10- Database Integration (1:36)
Start11- Authentication (0:29)
Start12- Structuring Express Applications (7:44)
Start13- Project- Restructure the App (3:05)
StartExpress- Advanced Topics Recap
Asynchronous JavaScript (01:04)
Start1- Synchronous vs Asynchronous Code (5:51)
Start2- Patterns for Dealing with Asynchronous Code (3:07)
Start3- Callbacks (5:59)
Start4- Callback Hell (2:27)
Start5- Named Functions to Rescue (4:41)
Start6- Promises (8:37)
Start7- Replacing Callbacks with Promises (3:31)
Start8- Consuming Promises (5:31)
Start9- Creating Settled Promises (2:49)
Start10- Running Promises in Parallel (6:14)
Start11- Async and Await (6:55)
Start12- Exercise (5:56)
CRUD Operations Using Mongoose (01:15)
Start1- Introducing MongoDB (2:00)
Start2- Installing MongoDB on Mac (3:58)
Start3- Installing MongoDB on Windows (5:39)
Start4- Connecting to MongoDB (3:52)
Start5- Schemas (3:48)
Start6- Models (4:18)
Start7- Saving a Document (3:33)
Start8- Querying Documents (4:18)
Start9- Comparison Query Operators (4:59)
Start10- Logical Query Operators (2:01)
Start11- Regular Expressions (3:20)
Start12- Counting (0:49)
Start13- Pagination (1:36)
Start14- Exercise 1 (7:57)
Start15- Exercise 2 (4:34)
Start16- Exercise 3 (3:19)
Start17- Updating a Document- Query First (3:35)
Start18- Updating a Document- Update First (6:14)
Start19- Removing Documents (2:38)
StartCRUD Operations with Mongoose and MongoDB Recap
Mongo – Data Validation (00:54)
Start1- Validation (6:59)
Start2- Built-in Validators (4:54)
Start3- Custom Validators (3:16)
Start4- Async Validators (2:34)
Start5- Validation Errors (3:37)
Start6- SchemaType Options (5:56)
Start7- Project- Add Persistence to Genres API (14:05)
Start8- Project- Build the Customers API (6:59)
Start9- Restructuring the Project (6:14)
StartMongoose Validation Recap
Mongoose- Modeling Relationships between Connected Data (00:51)
Start1- Modelling Relationships (7:45)
Start2- Referencing Documents (3:51)
Start3- Population (4:15)
Start4- Embedding Documents (6:54)
Start5- Using an Array of Sub-documents (4:31)
Start6- Project- Build the Movies API (7:05)
Start7- Project- Build the Rentals API (8:01)
Start8- Transactions (8:45)
Start9- ObjectID (7:03)
Start10- Validating ObjectIDs (6:13)
Start11- A Better Implementation (2:23)
StartMongoose- Modelling Relationships between Connected Data Recap
Authentication and Authorization (01:13)
Start1- Introduction (4:01)
Start2- Creating the User Model (3:40)
Start3- Registering Users (7:53)
Start4- Using Lodash (5:21)
Start5- Hashing Passwords (6:54)
Start6- Authenticating Users (4:54)
Start7- Testing the Authentication (2:42)
Start8- JSON Web Tokens (5:04)
Start9- Generating Authentication Tokens (3:18)
Start10- Storing Secrets in Environment Variables (6:12)
Start11- Setting Response Headers (3:46)
Start12- Encapsulating Logic in Mongoose Models (7:11)
Start13- Authorization Middleware (6:50)
Start14- Protecting Routes (3:06)
Start15- Getting the Current User (4:03)
Start16- Logging Out Users (2:04)
Start17- Role-based Authorization (5:43)
Start18- Testing the Authorization (4:10)
StartAuthentication and Authorization Recap
Handling and Logging Errors (01:03)
Start1- Introduction (3:02)
Start2- Handling Rejected Promises (3:07)
Start3- Express Error Middleware (4:40)
Start4- Removing Try Catch Blocks (8:29)
Start5- Express Async Errors (3:18)
Start6- Logging Errors (6:36)
Start7- Logging to MongoDB (4:11)
Start8- Uncaught Exceptions (3:35)
Start9- Unhandled Promise Rejections (7:23)
Start10- Error Handling Recap (2:26)
Start11- Extracting Routes (4:54)
Start12- Extracting the Db Logic (3:22)
Start13- Extracting the Logging Logic (2:11)
Start14- Extracting the Config Logic (2:30)
Start15- Extracting the Validation Logic (1:53)
Start16- Showing Unhandled Exceptions on the Console (1:29)
Start17- Handling and Logging Errors Recap
Unit Testing (01:15)
Start1- What is Automated Testing (2:40)
Start2- Benefits of Automated Testing (2:37)
Start3- Types of Tests (4:00)
Start4- Test Pyramid (2:55)
Start5- Tooling (2:15)
Start6- Writing Your First Unit Test (5:00)
Start7- Testing Numbers (6:36)
Start8- Grouping Tests (1:51)
Start9- Refactoring with Confidence (2:43)
Start10- Testing Strings (3:24)
Start11- Testing Arrays (5:50)
Start12- Testing Objects (5:30)
Start13- Testing Exceptions (7:25)
Start14- Continuously Running Tests (1:43)
Start15- Exercise- Testing the FizzBuz (5:28)
Start16- Creating Simple Mock Functions (5:37)
Start17- Interaction Testing (5:00)
Start18- Jest Mock Functions (7:16)
Start19- What to Unit Test (3:06)
Start20- Exercise (7:39)
StartUnit Testing Recap
Integration Testing (01:09)
Start1- Introduction (1:09)
Start2- Preparing the App (2:18)
Start3- Setting Up the Test Db (3:01)
Start4- Your First Integration Test (5:44)
Start5- Populating the Test Db (6:17)
Start6- Testing Routes with Parameters (3:19)
Start7- Validating ObjectIDs (3:31)
Start8- Refactoring with Confidence (2:04)
Start9- Testing the Authorization (2:39)
Start10- Testing the Invalid Inputs (5:32)
Start11- Testing the Happy Path (2:35)
Start12- Writing Clean Tests (8:40)
Start13- Testing the Auth Middleware (9:45)
Start14- Unit Testing the Auth Middleware (6:14)
Start15- Code Coverage (7:09)
Start16- Exercise (0:26)
StartIntegration Testing Recap
Test-Driven Development (00:57)
Start1- What is Test-driven Development (2:54)
Start2- Implementing the Returns (2:33)
Start3- Test Cases (2:53)
Start4- Populating the Database (7:14)
Start5- Testing the Authorization (7:22)
Start6- Testing the Input (3:42)
Start7- Refactoring Tests (4:18)
Start8- Looking Up an Object (3:04)
Start9- Testing if Rental Processed (2:13)
Start10- Testing the Valid Request (2:23)
Start11- Testing the ReturnDate (4:15)
Start12- Testing the RentalFee (4:50)
Start13- Testing the Movie Stock (5:37)
Start14- Testing the Response (3:36)
Start15- Refactoring the Validation Logic (6:44)
Start16- Mongoose Static Methods (6:12)
Start17- Refactoring the Domain Logic (4:04)
Deployment (00:28)
Start1- Introduction (1:21)
Start2- Preparing the App for Production (2:28)
Start3- Getting Started with Heroku (2:15)
Start4- Preparing the App for Heroku (1:55)
Start5- Adding the Code to a Git Repository (2:44)
Start6- Deploying to Heroku (3:44)
Start7- Viewing Logs (2:45)
Start8- Setting Environment Variables (2:44)
Start9- MongoDB in the Cloud (8:23)
Start10- Wrap Up
Start11- What to Learn Next