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
4.6 (338 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.
1,975 students enrolled Bestselling in Mean Stack
$19
$75
75% off
Take This Course
  • Lectures 53
  • Length 11.5 hours
  • Skill Level All Levels
  • Languages English, captions
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 12/2015 English Closed captions available

Course 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).

What are the 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

What am I going to get from this course?

  • 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

What 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.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Creating web servers with Node.js and Express
10:07

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
Useful links for a MEAN stack hero
Preview
Article
07:22

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
18:10

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
16:47

After this video you will be able to:

  • Understand why Node needs asynchronous operations
  • Demonstrate asynchronous code and callbacks
  • Deal with computational blockers
17:01

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
09:08

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
13:51

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
09:56

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
07:36

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
09:50

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
12:26

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
06:51

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
13:32

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
08:05

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
Section 2: Working with MongoDB and NoSQL
11:25

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
06:32

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
12:21

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
14:58

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
17:36

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.

16:30

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
14:37

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
11:20

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
Section 3: Build robust REST APIs using Node.js, Express and MongoDB
11:07

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
15:02

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
15:10

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
10:42

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
09:52

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
18:09

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


14:03

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
18:29

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
23:17

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
13:59

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
11:50

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
Section 4: Single Page Applications with AngularJS, the right way
07:31

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
27:07

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

15:43

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
12:24

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
05:20

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

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

14:17

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)
17:35

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

  • Use AngularJS built-in services
  • Learn about application architectures using AngularJS
09:45

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

  • Create custom Services
  • Understand the difference between a Service and a Factory
10:56

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

  • Create custom AngularJS filters
12:29

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.

08:39

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.

11:50

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.

12:58

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.

20:03

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

Section 5: Adding authentication to the MEAN stack
16:59

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
15:04

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
06:51

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

  • How to register users from the frontend (AngularJS)


32:09

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


08:45

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

  • Secure parts of a page
  • Automatically use the username from a JWT

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Full Stack Training Ltd, 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.

Ready to start learning?
Take This Course