Projects in Node.js - Learn by Example

Learn full stack JavaScript by developing applications using Node.js, MongoDB, Express.js, and AngularJS.
4.5 (69 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.
541 students enrolled
84% off
Take This Course
  • Lectures 38
  • Length 5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


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

About This Course

Published 4/2016 English

Course Description

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.

What are the requirements?

  • Have Node.js Installed
  • Understand JavaScript Basics

What am I going to get from this course?

  • 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

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.

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.


Section 1: Introduction

What you should expect to learn from this course.


Learn how to install MongoDB on a Windows machine.

Section 2: Mongoose CRUD Application

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.


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.


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.


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.


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.


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.


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.

Project 1 Quiz
5 questions
Section 3: User Login App

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.


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


Create a Node server and add our mongoose model.


Create a controller to allow new users to register. 


Setting up User controller register Part 2.


Add custom validation for requiring minimum character length for username.


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

Section 4: Meeting App

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.   


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


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


Add our User and Note 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.


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


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


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


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

Section 5: Search Engine App

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.


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


Install bower dependencies and create our client-side files.


Setup for our Angular JavaScript files. 


Fix browser errors from setup.


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


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


Add register and login methods to our server side controller.


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


Add Log In functionality to our app.


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


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


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

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Patrick Schroeder, 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. 

Ready to start learning?
Take This Course