The complete JavaScript developer: MEAN stack zero-to-hero
4.5 (785 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
4,006 students enrolled
Wishlisted Wishlist

Please confirm that you want to add The complete JavaScript developer: MEAN stack zero-to-hero to your Wishlist.

Add to Wishlist

The complete JavaScript developer: MEAN stack zero-to-hero

Build full stack JavaScript apps with the MEAN stack, using Node.js, AngularJS, Express and MongoDB
Bestselling
4.5 (785 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
4,006 students enrolled
Last updated 8/2016
English
English
Current price: $10 Original price: $75 Discount: 87% off
1 day left at this price!
30-Day Money-Back Guarantee
Includes:
  • 11.5 hours on-demand video
  • 1 Article
  • 34 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Build full stack applications in JavaScript using the MEAN technologies
  • Architect MEAN stack applications from scratch
  • Design and build RESTful APIs using Node.js, Express and MongoDB
  • Create and use MongoDB databases
  • Develop modular, maintainable Single Page Applications using AngularJS
View Curriculum
Requirements
  • You should be familiar with HTML, CSS and JavaScript
  • You will need a text editor (like Sublime Text) or IDE (like Webstorm)
  • You will need a computer on which you have the rights to install new software
Description

Learn all of the different aspects of full stack JavaScript development using the MEAN stack. We're not talking about any generators or MEAN frameworks here, we're talking about a full understanding of MongoDB, Express, AngularJS and Node.js. Throughout this course we'll show you how to use each of these technologies, and how to use them together.

Build Great JavaScript Applications using MongoDB, Express, AngularJS and Node.js

The overall aim of the course is to enable to you confidently build all different types of application using the MEAN stack.

To do this, the course is divided into four sections, each section focusing on a different goal. The four sections all work together building a full application, with an overall outcome of showing how to architect and build complete MEAN applications.

The breakdown of sections looks like this:

  1. By the end of section one you will be able to set up a web-server using Node.js and Express, to listen for requests and return responds.
  2. By the end of section 2 you will be able to design NoSQL databases and work with MongoDB from the command line and from Node and Express.
  3. After section 3 you will be able to design and build robust REST APIs using Node.js, Express and MongoDB, following industry best practices.
  4. By the end of section four you will be able to build high quality AngularJS single page applications (SPAs), following industry best practices.
  5. When you have finished with section five you will able to add authentication to the MEAN stack, enabling users to log in and manage sessions.

Along the way there are various activities, so you can be has hands on as you like. You'll get the most out of the course if you follow along and code as you go, but if you want to speed through it the source code is supplied with each video (where relevant).

Who is the target audience?
  • This course is meant for anyone who wants to start building full stack JavaScript applications in Node.js, AngularJS, Express and MongoDB. It starts from the basic concepts of each technology, so user's experienced in a particular area will be able to speed through these sections. This course assumes you have some JavaScript knowledge, and does not teach JavaScript itself.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 53 Lectures Collapse All 53 Lectures 11:35:07
+
Creating web servers with Node.js and Express
15 Lectures 02:41:53

This video includes:

  • A talk about full stack development in general
  • An introduction to the MEAN technologies
  • An outline of our approach to this section
  • A demonstration of the application you'll build through this section of the course
Preview 10:07


After this video you will be able to:

  • Check your installed version of Node.js
  • Run Node.js in the command line
  • Create and run Node.js files
Node.js - First steps
07:22

After this video you will be able to:

  • Split Node applications into multiple files
  • Use require to load in files
  • Expose functionality using modeul.exports
Node.js - require and module.exports
18:10

After this video you will be able to:

  • Understand why Node needs asynchronous operations
  • Demonstrate asynchronous code and callbacks
  • Deal with computational blockers
Node.js - asynchronous non-blocking code
16:47

After this video you will be able to:

  • Talk about what npm is, and why it is used
  • Create a package.json file to manage your application dependencies
  • Install dependencies using the command line
  • Understand the version numbers used in a package.json file
  • Run scripts using npm
Node.js - using npm for dependency management
17:01

After this video you will be able to:

  • Add Express to a Node application
  • Define a port for Express to listen on
  • Set and get Express application variables
  • Start the Express server from the command line
  • Validate that the Express server is listening on the correct port
Express - setting up Express to listen for requests
09:08

After this video you will be able to:

  • Define URL routes in Express
  • Return HTTP status codes
  • Respond to a request with data
  • Send a HTML file as the response
Express - routing: defining URL routes and sending response
13:51

After this video you will be able to:

  • Define folders of “static” content in Express
  • Send a default HTML page to the browser for a given directory
  • Deliver CSS, images and JavaScript from Express in a simple manner
Express - serving static files
09:56

After this video you will be able to:

  • Explain what is Express middleware is
  • Create middleware functions
  • Be confident about when and how to use middleware
Express - exploring Middleware
07:36

After this video you will be able to:

  • Achieve separation of concerns by defining the routes in a separate file
  • Instantiate the standalone Express router
  • Apply the router to s subset of routes
  • Use Postman to test routes with GET and POST methods
Express - using the Express router
09:50

After this video you will be able to:

  • Apply good architecture in your application for creating an API
  • Define and export controller functions
  • Map routes to controllers
  • Get and return hard-coded JSON data
Express - using controllers to define functionality
12:26

After this video you will be able to:

  • Know what URL parameters are, and when to use them
  • Define URL parameters in Express routes
  • Use the data from URL parameters in controllers
Express - defining dynamic routes with URL parameters
06:51

After this video you will be able to:

  • Get data from a querystring and use it in your Express controllers
  • Add the middleware required for parsing posted form data
  • Get the data from a posted form and use it in an Express controller
Express - working with querystrings and posted form data
13:32

After this video you will be able to:

  • Understand where Nodemon fits into a good development workflow
  • Install Nodemon globally
  • Ensure that Nodemon starts your application correctly
  • Configure various Nodemon options to suit your application and needs
BONUS: Improving MEAN development workflow with Nodemon
08:05
+
Working with MongoDB and NoSQL
8 Lectures 01:45:19

After this video you will be able to:

  1. Talk about some of the key differences of NoSQL and relational data
  2. Be comfortable with what NoSQL data looks like
  3. Use some tips and tricks to help you think about how to design a NoSQL data structure
Introduction to NoSQL databases
11:25

After this video you will:

  1. Have a deeper understanding of collections in MongoDB, and how they should be designed
  2. Understand the difference between JSON and BSON, and why MongoDB uses BSON
  3. Know about ObjectId in MongoDB, including when and why they are created
MongoDB: the basics
06:32

After this video you will be able to use the Mongo shell to:

  1. Display lists of existing database and collections
  2. Create databases, collections and documents
  3. Retrieve documents from a specific collection in a specific database
MongoDB - Getting started with the Mongo shell
12:21

After this video you will be able to use the Mongo shell to:

  1. Query a MongoDB database to find documents
  2. Modify the data returned: e.g. sorting
  3. Update existing documents in the database
  4. Delete documents from the database
MongoDB - Interacting with data from the command line (Mongo shell)
14:58

After this video you will be able to use:

  1. mongodump to export BSON data
  2. mongorestore to import BSON data
  3. mongoexport to export JSON data
  4. mongoimport to import JSON data

You'll also know the differences between the BSON/JSON approaches and when to use them.

MongoDB - Importing and exporting data
17:36

By the end of this video you will be able to:

  1. Install the MongoDB driver for Node.js
  2. Create a reusable database connection when your application starts
  3. Define a MongoDB connection string
  4. Access the reusable connection from controllers in your application
  5. Understand the best practices for creating connections from Node.js to a MongoDB database
MongoDB - Connecting to a Node.js application
16:30

After this video you will be able to:

  • Use the open database connection to interact with MongoDB from Node.js
  • Find multiple documents in a collection using the native Node.js MongoDB driver
  • Add pagination to the returned documents by requesting subsets of data
  • Search for and retrieve a single document by ID
MongoDB - Querying the database from Node.js
14:37

After this video you will be able to:

  • Add new MongoDB documents from a Node.js application
  • Ensure data integrity with some validation & error trapping in your application
  • Format the data correctly before creating a document
MongoDB - Creating documents from Node.js
11:20
+
Build robust REST APIs using Node.js, Express and MongoDB
11 Lectures 02:41:40

After this video you will:

  • Know the standard approach of defining REST API URL patterns
  • When to use different HTTP methods for different actions
  • How to design URL patterns for nested documents
  • Appreciate why we want a standard data structure across the API
Introduction to REST APIs
11:07

After this video you will be able to:

  • Install Mongoose and require it in your Node application
  • Use Mongoose to creating a MongoDB database connection
  • Confirm connections, disconnections and errors by tracking Mongoose connection events
  • Gracefully close down any open database connections when your Node app stops or restarts
Using Mongoose to manage MongoDB database connections in Node
15:02

After this video you will be able to:

  • Define Mongoose schemas in your application
  • Know the different data types and how to assign them
  • Add basic data validation at the schema level
  • Set default values for specific paths in your schema
  • Compile a model from your schema
APIs - Defining data structure with Mongoose schemas and models
15:10

After this video you will be able to:

  1. Use nested schemas to define sub-documents
  2. Store geo-location co-ordinates
  3. Create a spherical index using the co-ordinates for geo-spatial data
APIs - Defining complex data structures with Mongoose schemas
10:42

After this video you will be able to:

  • Use Mongoose and models inside controllers
  • Build Mongoose queries to find documents and return the data as JSON
  • Find multiple documents, and subsets of documents
  • Find single documents by unique ID
APIs - Creating GET routes using Mongoose queries
09:52

By the end of this video you will be able to:

  • Use Mongoose in a controller to return subdocuments
  • Limit the fields / paths returned from MongoDB as part of the Mongoose query
  • Update MongoDB to push _id fields into subdocuments if necessary
  • Use Mongoose to retrieve a single subdocument from the database by its unique ID


APIs - Creating GET routes for subdocuments using Mongoose
18:09

By the end of this video you will be able to:

  • Know when to filter routes and when to create new routes for a REST API
  • Create a geoJSON point from a latitude and longitude pair
  • Use Mongoose to search MongoDB for places near to the specified co-ordinates
  • Specify limits and parameters for geo-spatial searches
APIs - Finding documents based on geo-coordinates
14:03

By the end of this video you will:

  • Know the three golden rules of API design and understand the importance
  • Be able to trap several different types of errors that you might encounter with GET requests
  • Understand when to use some of the different HTTP status codes in the API responses
APIs - Error trapping and hardening a REST API
18:29

After this video you will be able to:

  • Configure the Express router to use multiple methods on a single route
  • Create new documents in MongoDB using Mongoose
  • Create new sub-documents in MongoDB using Mongoose
APIs - Creating new documents in MongoDB using Mongoose and POST methods
23:17

By the end of this video you will:

  • Understand what to take into consideration when using the PUT method
  • Be able to update a Mongoose model instance
  • Be able to save the model instance back as a MongoDB document
APIs - Updating existing documents in MongoDB
13:59

By the end of this video you will be able to:

  • Use the HTTP "DELETE" method inside routes and controllers
  • Delete documents using a Mongoose model method
  • Delete sub-documents using a Mongoose helper method
APIs - Using Mongoose to delete data from MongoDB
11:50
+
Single Page Applications with AngularJS, the right way
14 Lectures 03:06:37

By the end of this video you will be able to:

  • Add AngularJS to a HTML page and bootstrap it
  • Harness the magic of Angular's binding system in a web page
  • Use expressions inside your data bindings
AngularJS - Expressions and Data-Binding
07:31

By the end of this video you will be able to:

  • Use some of the most used built-in AngularJS directives
  • Learn how the directives can modify your HTML code

AngularJS - Built-in Directives
27:07

By the end of this video you will be able to:

  • Be familiar with the AngularJS Built-in Filters
  • Use Built-in filters to manipulate (static) data
AngularJS - Built-in Filters
15:43

By the end of this video you will be able to:

  • Create, use and understand Controllers
  • Attach properties to $scope and use them in a template
  • Understand the ViewModel and see how to attach properties to it
AngularJS - Controllers, $scope and controllerAs
12:24

By the end of this video you will be able to:

  • Understand how modules work
  • Understand the module getter and setter syntax

AngularJS - Modules
05:20

By the end of this video you will be able to:

  • Specify routes for your AngularJS application
  • Use templates for specific routes
  • Understand the basic concepts behind Single Page Applications (SPAs)
AngularJS - Single Page Apps, Routes, Templates
14:17

By the end of this video you will be able to:

  • Use AngularJS built-in services
  • Learn about application architectures using AngularJS
AngularJS - Built-in Services, Application Architecture
17:35

By the end of this video you will be able to:

  • Create custom Services
  • Understand the difference between a Service and a Factory
AngularJS - Custom Services, Service vs Factory
09:45

By the end of this video you will be able to:

  • Create custom AngularJS filters
AngularJS - Custom Filters
10:56

This is part 1 of the last 4 videos regarding the AngularJS Section - and during these 4 videos you'll start working on the final application, putting together the pieces that you've learnt in the past few videos.

AngularJS - Building the SPA - part 1
12:29

This is part 2 of the last 4 videos regarding the AngularJS Section - and during these 4 videos you'll start working on the final application, putting together the pieces that you've learnt in the past few videos.

AngularJS - Building the SPA - part 2
08:39

This is part 3 of the last 4 videos regarding the AngularJS Section - and during these 4 videos you'll start working on the final application, putting together the pieces that you've learnt in the past few videos.

AngularJS - Building the SPA - part 3
11:50

This is part 4 of the last 4 videos regarding the AngularJS Section - and during these 4 videos you'll start working on the final application, putting together the pieces that you've learnt in the past few videos.

AngularJS - Building the SPA - part 4
12:58

This is the last part (with some added extras) in building out the SPA including form validation.

AngularJS - Building the SPA - The final part
20:03
+
Adding authentication to the MEAN stack
5 Lectures 01:19:48

By the end of this video you will be able to:

  • Understand the difference between Server and Token Based Authentication
  • Get an introduction to JWT (JSON Web Tokens)
  • Add user registration to the backend (Node.js) part of the application
  • Understand how to encrypt passwords using Node.js
Authentication - Securing the backend
16:59

By the end of this video you will be able to:

  • How to generate JWT (JSON Web Tokens) to the backend
  • How to use JWT to secure REST API endpoints
Authentication - Adding JWT to the application
15:04

By the end of this video you will be able to:

  • How to register users from the frontend (AngularJS)


Authentication - Adding authentication to AngularJS
06:51

By the end of this video you will be able to:

  • How to secure paths in the frontend
  • How to use HTTP Interceptors in AngularJS
  • Understand how to login users using AngularJS


Authentication - AngularJS and JWT
32:09

By the end of this video you will be able to:

  • Secure parts of a page
  • Automatically use the username from a JWT
Authentication - Tying all the pieces together
08:45
About the Instructor
Full Stack Training Ltd
4.5 Average rating
812 Reviews
4,118 Students
3 Courses
JavaScript Developers & Technical Educators

Simon has been coding JavaScript for 15 years and is author of Getting MEAN and Mongoose for Application Development. Simon has been a full-stack developer since the late 1990's, building websites, intranets and applications on all manner of technology stacks.

Tamas has been working with web technologies for over a decade and his latest interests lie in full stack web app development using JavaScript. He has been a Technical Instructor for over 5 years now working at various companies spanning across a multitude of industries delivering both onsite and online training.