Projects in Node.js - Learn by Example
4.0 (109 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.
935 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Projects in Node.js - Learn by Example to your Wishlist.

Add to Wishlist

Projects in Node.js - Learn by Example

Learn full stack JavaScript by developing applications using Node.js, MongoDB, Express.js, and AngularJS.
4.0 (109 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.
935 students enrolled
Created by Patrick Schroeder
Last updated 4/2016
Current price: $10 Original price: $195 Discount: 95% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 5 hours on-demand video
  • 28 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Build Apps with Node.js
  • Build MEAN stack apps
  • Create API's using Express.js
  • Understand Routing in Express
  • Know how to create Schema's, Models and Controllers
  • Use Passport to authenticate users
  • Create CRUD features with ease
  • Install and use Mongoose Plugins
  • Include different view engines into Node.js
  • Use the Async Module
View Curriculum
  • Have Node.js Installed
  • Understand JavaScript Basics

Go from beginner to advanced by building 4 Node.js applications of increasing complexity. 

This course will teach you how to build web apps from the ground up while focusing on best practices. The main technologies used will be Node.js, Express.js and MongoDB.

We'll use a variety of templating engines for our frontend.  This will include Swig, Angular and plain HTML.

We'll be using Mongoose throughout this course. Mongoose is a node module built on top of MongoDB to assist in creating and handling database objects. 

Project 1

Getting to Know Mongoose

  • Familiarize yourself with Node and Mongoose by building a CRUD example app.
  • Learn about the different data types used in Mongoose models.
  • Understand how to make API calls using Postman to add, update or delete documents.
  • Get to know important methods used to query, save and remove document properties.

Project 2

User Login App

  • Build a user login app consisting of a log in and success page.
  • Create static Express routes to connect with HTML pages.
  • Learn about advanced Mongoose methods for Validating input and how to use mongoose Plugins to hide password data.

Project 3

Meeting Reporting App

  • Use Express, Swig and Mongoose to develop an app for recording meeting notes.
  • Learn how to create new Notes and filter by user.
  • Create a RESTful API and implement using best practices.
  • Learn how to handle and display custom Errors.
  • Use the Async module and learn how to query multiple documents at the same time.

Project 4

Search Engine

  • MEAN-stack application built from the ground up. (MongoDB, Express, Angular, Node.js)
  • Build a search engine using the Mongoose search plugin, Angular and Bootstrap.
  • Learn how to reference and populate documents.
  • Integrate Passport.js for secure Local authentication. Learn how to protect routes from non-verified users.

After taking this course you will:

* Know how to build Full-Stack applications using JavaScript throughout. 

* Learn how to setup a server and routing using Express, work with various view engines like Swig, Angular and plain HTML. 

* Understand how to perform CRUD operations by building useful apps to save, update and retrieve documents from a database.

* Be able to build a MEAN-stack application from the ground up.

* Understand Mongoose methods for working with schemaspluginsvalidators, and data types.

Who is the target audience?
  • This course is meant for those who already are familiar with the basics of Node.js. We will be using Express.js for routing and MongoDB as our database, so any experience using these technologies is helpful but not required.
Compare to Other Node.Js Courses
Curriculum For This Course
38 Lectures
2 Lectures 06:43

What you should expect to learn from this course.

Preview 02:40

Learn how to install MongoDB on a Windows machine.

Installing MongoDB
Mongoose CRUD Application
7 Lectures 42:19

An overview of the first project. We'll build a simple CRUD application to get familiar with building routes and manipulating data using Node.js, Express.js and Mongoose. 

We'll be using Postman to make changes to our Book Schema and show the changes within our browser window.

Preview 01:05

This video covers the basics of what Mongoose is and how we use it.

Mongoose provides a straight-forward, schema-based solution to model your application data. It includes built-in type casting, validation, query building, business logic hooks and more, out of the box.

Preview 02:43

In this video we learn how to create a Mongoose Schema. Then we'll discuss the different data types and how to export a Mongoose Model so its available to use in other files.

Build a Schema

Start building our mini-app that will be able to perform create, read, update and delete operations.

We'll be using a Mongoose Book-Schema along with Express to query objects and display results.

Build a CRUD App - Part 1

Learn how to use the findOne() method to retrieve just one book.

How to use the req.params method for retrieving a single book

And how to create a single book route that accepts a /:id parameter to grab a single book that corresponds to our _id Model.

Build a CRUD App - Part 2

This video will cover how to create new Books using the POST method. We'll be using Postman to demonstrate how to how to add a new Book to our model.

Build a CRUD App - Part 3

This video will cover how to update and delete Books using the findOneAndUpdate method and the remove method. We'll be using Postman to demonstrate how to how to update and delete a Book.

First we'll find() a book passing in the _id parameter for the book, then we'll update or delete this book.

Build a CRUD App - Part 4

Project 1 Quiz
5 questions
User Login App
7 Lectures 48:25

This project will consist of a login and success page. The point of this project is to get you more familiar with setting up a project using express, building mongoose schemas and provide examples for how to perform Validation checks and install Mongoose Plugins.

Preview 00:41

Add the Bootsnipp template to our files.  Test using python simple server.

Add HTML and CSS

Create a Node server and add our mongoose model.

Server Setup

Create a controller to allow new users to register. 

User Registration

Setting up User controller register Part 2.

User Registration - Part 2

Add custom validation for requiring minimum character length for username.

Model Validation

Introduce the concept of Mongoose plugins and show how to hide the password when saving to database.

Hide Password Plugin
Meeting App
9 Lectures 01:15:31

In this project we're going to build an app that that allows users to create Notes. Then we'll display all the notes our users have created on the front page. We'll create a filter method to display Notes by the user of our choice.   

Preview 00:58

Add the folders, files and NPM modules we'll need for this app.

Application Setup

Learn how to use Swig as our templating framework. Include the HTML files we'll be using in our 'views' folder.

Explanation of Swig Template

Add our User and Note models.

Create Models

Add validation to ensure a user has selected a member before being able to save.  Learn how to setup a 'pre' save hook to adjust the data before its saved to the database.

Validation for Models

Setup our notes and async controllers. Create an 'allUsersMethod' to grab all users added to the application.

Preview 07:28

Add a method for creating a new Note and add a new route to our index.js file.

Create Note

Get all Users and all Notes to display on the front page.  Use the async module to make asynchronous calls to each collection.

Async for Front Page

Add a method to filter by member name all notes that have been added.

Filter by Member Name
Search Engine App
13 Lectures 01:57:27

In this project we're going to be building a search engine

Searches will crawl through all available URL's, titles and descriptions that have been inputed by our users. This will be a MEAN stack application so it will include an AngularJS view, express routing and mongoDB database design.

We'll also be including Passport.js to give us secure, Token-based authentication for our users.

Preview 01:24

Setup our project using 'npm init'.  Create our folders and files.  Add our node modules.  

Server Side Setup

Install bower dependencies and create our client-side files.

Client Side Setup

Setup for our Angular JavaScript files. 

Angular Setup

Fix browser errors from setup.

Angular Setup - Part 2

Setup our User and Website models. Discuss how to setup the mongoose-search-plugin.

Models Setup - User & Website

Configure Passport.js for user authentication.  Add an 'authenticate' method to our User model.

Authorization Part 1 - Passport Setup

Add register and login methods to our server side controller.

Authorization Part 2 - Register & Login Methods

Add Auth service.  Setup registration functionality within client controller. Test registering a new user.

Angular Registration Setup

Add Log In functionality to our app.

Angular Log In Setup

Setup website search methods.  Includes the list, search and create methods.

Website Server Routes & Controller

Setup service and controller for allowing logged in users add new search results.

Save New Website

Add functionality for displaying search results in the home page when a user conducts a search.

Display Search Results
About the Instructor
Patrick Schroeder
4.2 Average rating
6,933 Reviews
106,959 Students
9 Courses
Software Developer

Patrick Schroeder is a self-taught full stack JavaScript developer. He enjoys working with Angular, Node.js, Mongodb, React.js, Firebase, and anything else javascript related. Patrick is passionate about teaching Javascript. He loves to help others understand difficult concepts by creating clear presentations that gradually builds to full comprehension of a given topic. He is very interested in furthering his knowledge of IOT and wearable products with the intention of teaching cutting edge technologies and collaborating to bring new products to life.