
Covers building a rest api with Express, Node and MongoDB, including routing, body parsing, and CRUD operations. Includes validation and integration testing using Mocha and Supertest.
Explore restful API design, including resources, get post put patch delete methods, URIs, statelessness, cacheability, and the uniform interface, and see how Node.js, Express, and Mongo power back-end APIs.
Identify essential tools for the course: a code editor (Visual Studio Code or similar), a terminal, and JavaScript experience; explore Mongo basics, debugging tips, and how to seek help online.
Begin your journey in JavaScript by mastering variables, data types, operators, conditionals, functions, arrays, objects, loops, and the execution engine, then apply your skills in a capstone project.
Meet Mars, a JavaScript developer who frames this course as a foundation for JavaScript, empowering you to dive into front end and back end development.
Learn why JavaScript remains essential for web development, with its growing frameworks like Reactjs, NodeJS, and AngularJS, and how mastering it opens doors to front-end, back-end, and full-stack roles.
Learn JavaScript concepts in depth and build a to-do list project with add, edit, delete, and mark as done features to reinforce core backend web development skills.
Begin with basic knowledge of HTML and CSS, as there are no formal prerequisites, and use the VS Code IDE to edit and run code.
Explore variables and data types in JavaScript, introducing basic language components, mutation, and type coercion, and learn how to define and work with JavaScript variables.
Learn how to run JavaScript in the browser, embed code with script tags in html, and define variables using let and const with restricted scope and single assignment.
Learn how JavaScript infers data types, such as string, number, and boolean, and how arrays hold multiple values of potentially different types.
Explore variable mutation in JavaScript by updating numbers, booleans, and strings. See how arrays act as references and how push adds elements, while reassignment creates new values.
Explore type coercion in JavaScript, comparing soft vs hard typing, and see how numbers, strings, booleans, and arrays get coerced into strings or other types.
Tackle a coding challenge that consolidates variables, data types, and basic constructs by creating an array of integers and const strings, then console log with a preceding message.
Create an array of numbers, push two constants into it, and log a message with the array and values using console.log in the browser.
Master the basics of JavaScript: define variables, explore data types, conversions, arrays, and variable mutation, plus a focus on type question. Prepare for the upcoming section on operators.
Explore the basic operators in JavaScript and operator precedence. A coding challenge tests your grasp of these concepts and previews the next video on starting with the basic operators.
Explore JavaScript operators, including assignment, arithmetic, string, comparison, logical, type and bitwise operators. See practical examples like +=, ++, --, %, and === vs ==, plus typeof.
Learn how JavaScript operator precedence controls evaluation order, from brackets and dot operators to indexing and function calls, with examples of addition, multiplication, and grouping.
Review operator precedence and how operators work in JavaScript. Declare x1, x2, and x3, compare x1 and x2, log the boolean result, and log the array of values.
Tackle a JavaScript coding challenge step by step, debugging x, x1, x2, and x3, applying exponent operator and multiplication and learning operator precedence, array push, and prettier format on save.
Review the basics of operators in JavaScript, including operator precedence, and complete a small coding challenge to reinforce the fundamentals for backend development.
Learn conditional statements in JavaScript, including boolean logic, ternary operators, switch statements, truthy and falsy values, and the quality operators.
Explore how if else statements drive conditional logic in JavaScript, using variables, comparisons, and logical operators to control code execution with true and false conditions.
Explore boolean logic in JavaScript by testing true/false values with if/else, using and/or/not operators, evaluating equality and type coercion, and building complex boolean expressions.
Explore switch statements in JavaScript, compare them with if-else and ternary patterns, and implement cases, defaults, and breaks to control execution flow.
Explore truthy and falsy values in JavaScript, showing how non-empty strings are truthy and empty strings, zero, -0, null, and undefined are falsy.
Explore the equality operators in JavaScript, reviewing truthy and falsy values, single, double, and triple equals, assignment versus comparison, and the array reference behavior.
Practice and master JavaScript conditional statements by building a coding challenge that combines ternary operators, a switch, and if-else logic across values of X less than three.
Master a coding challenge by building an if-else with a nested switch and a ternary operator to illustrate conditional statements, including console log outputs and break handling.
Explore conditional statements, boolean logic, and truthy and falsy values in JavaScript, including if else and equality operators. Build on this by learning functions and arrays in the next section.
Explore functions and arrays, differentiate functional statements from expressions, and master destructuring with practical techniques in this section of backend web development with Node.js, Mongo, and Express.
Explore how to define and call JavaScript functions, reuse functionality with parameters and return values, and compare traditional function syntax with arrow functions for cleaner code.
Learn how JavaScript functions work, including declarations and expressions, to create repeatable functionality in a single place. See how console.log illustrates a function and how arrow functions turn into variables.
Explore arrays in JavaScript, including array destructuring with rest and spread syntax, and leverage built-in array methods like push, reverse, sort, and slice to simplify data handling.
Create a function that returns the first three characters of a string using substring (0-based indexing), then test it with console.log to practice JavaScript string methods.
Explore functions and arrays in JavaScript, compare function declarations and expressions, learn destructuring and array capabilities, and look up simple built-in solutions before moving to objects.
Explore objects in JavaScript, including their properties and methods. Complete a coding challenge to test what you've learned about objects.
Learn how JavaScript objects bundle related data as properties, using object literals, the new keyword, or object constructors, and how to add, delete, and update properties.
Learn to create objects with methods, use this to reference properties like color, and instantiate multiple cars with a constructor function using the new keyword.
Explore how primitive values like strings, numbers, booleans, null and undefined differ from objects in JavaScript, focusing on immutability, mutable objects, and reference-based comparison.
Complete a coding challenge by building a tree object with a branches array and a grow function to add branches, and implement a constructor method to test what we've learned.
Build an object tree with a branches array, implement a grow function to push new branches, and use a constructor to initialize branches, then log the updated tree.
Explore objects, properties, and methods, and learn how to manipulate them to encapsulate functionality. Complete simple coding challenges and preview loops in the next section.
Explore loops and iterations, detailing their role in programming and how they enable more with your code before tackling a coding challenge and its solution.
Master the core loop types: while, do-while, and for, with syntax, boolean conditions, and practical examples, including nested loops and how increments affect execution.
Learn to use for-in and forEach to iterate objects and arrays, replacing verbose loops with concise, readable code and built-in array methods like reverse and find.
Tackle a loops and iterators coding challenge that practices building a string with loops and if statements, then log the result in a single console log.
Solve a coding challenge using nested loops and conditional statements to print a five-line star pattern with for loops and an inverted section.
Explore the basics of loops and iterations in JavaScript, covering while, do while, for, and for-of loops, array-based iterative methods, and a coding challenge that reinforces JavaScript's building blocks.
Explore advanced JavaScript concepts by examining parsers and engines, and understand the creation and execution phases, execution contexts, hoisting, scoping, the scope chain, and the this keyword.
Explore how JavaScript parsers inside engines convert code into an abstract syntax tree and detect syntax errors. Learn how engines like SpiderMonkey and Chrome/Node execute machine code across browsers.
Explore the execution context and execution stack in JavaScript, detailing the creation and execution phases, global and local contexts and scope, and how function calls build a context tree.
Explore JavaScript's creation phase and execution phase, where the compiler sets up memory for variables and function declarations, and hoisting shapes when names log.
Learn how hoisting affects creation and execution phases in JavaScript, why declaring variables and functions at the top helps avoid confusion, and how comments aid debugging.
Discover how scope controls variable accessibility, contrasting global scope with function scope and showing how name, age, and height behave inside and outside if statements and blocks.
Explore how JavaScript uses the scope chain to resolve variable values across function and global scopes, showing lookups from inner scopes to outer declarations.
Explore the this keyword and its relation to scope, showing how this references the current object in various contexts, from windows to object methods and nested functions.
Complete a coding challenge that uses your JavaScript knowledge by writing a function that takes an array of numbers and returns the positive ones. Try it before the next video.
Implement a get positives function in JavaScript that filters an input array to keep only the positive values, using a for loop and push, and log the result.
Preview a restful api project using node, express, and MongoDB, covering local database setup, express web server, mongoose schema, body parsing, and CRUD routes (get, post, put, patch, delete).
Welcome to the Complete Node.js, Express, and MongoDB Bootcamp, your fast track to modern back-end development.
Build Web APIs with Node.js, Mongo, Express, Mocha and Curl
This course is the perfect all-in-one package that will take you from a complete beginner to an advanced, highly-skilled Node.js developer.
Like all my other courses, this one is completely project-based! And not just any project: it's a complete, beautiful, and feature-rich application, containing both a RESTful API and a server-side rendered website. It's the most fantastic and complete project that you will find in any Node.js course on the internet!
Alexandra Kropova is a software developer with extensive experience in full-stack web development, app development and game development. She has helped produce courses for Mammoth Interactive since 2016, including the Coding Interview series in Java, JavaScript, C++, C#, Python and Swift.
When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact Udemy in the first 30 days and we will give you a full refund.