Learning Express Web Application Development
3.9 (14 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.
143 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learning Express Web Application Development to your Wishlist.

Add to Wishlist

Learning Express Web Application Development

Build powerful and modern web apps that run smoothly on the webserver with ExpressJS
3.9 (14 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.
143 students enrolled
Created by Packt Publishing
Last updated 2/2015
Curiosity Sale
Current price: $10 Original price: $75 Discount: 87% off
30-Day Money-Back Guarantee
  • 2.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Manage dependencies and automate common tasks effectively with Node.js and NPM
  • Use the Jade template and keep your markup clean and simple
  • Utilize CSS pre-processors such as Stylus, Sass, and Less to speed up your app’s CSS development
  • Get the best storage features with a fast document-based database, for example, MongoDB, and MongooseJS, a powerful yet easy to use library
  • Enable authentication using standard measures and extend it to allow Facebook or Twitter logins
  • Create modules to keep your code clean, reusable, and easy to manage
  • Incorporate test-driven development tools to automate the testing of your application
  • Create RESTful services compatible with client-side MVC libraries such as Angular, Backbone, and Ember
  • Get a lot more with additional popular tools such as Socket.io, SailsJS, and the Ghost blogging platform
View Curriculum
  • This robust framework helps you utilize the JavaScript knowledge to build powerful APIs that suit your need for fast-paced web app development.

This course will guide you through building a real-world web application using NodeJS, Express, and MongoDB.

You’ll start with using the Jade template library and Bootstrap framework to create clean and maintainable code for your app. You will then see how to put MongoDB to work, store data for your app, and incorporate best-practices such as modularization. You’ll go beyond the basics to include authentication, test-driven-development, and powerful time-saving tools to get the app ready for deploying. You will also explore CSS preprocessors and create RESTful services that make the best of MVC libraries and add that extra edge to your app.

After completing this series, you’ll be ready to start building and deploying web applications of your own.

About the Author

Matthew Nuzum has been developing web applications since 1999 and worked for several start-ups including Canonical, makers of Ubuntu, as well as Fortune 500 companies. He has a passion for helping others learn new technologies and has written numerous tutorials and help documents as well as running a web-focused user group based in his hometown of Des Moines.

Who is the target audience?
  • This course is the ultimate guide for those developers who are looking to build web apps with minimal effort and without getting into the intricacies of NodeJS.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
37 Lectures
Getting Started
5 Lectures 15:19

In order to begin using ExpressJS, you’ll need to globally install a helper command-line application.

Installing ExpressJS and Command-line Tools

Windows users need to ensure that they use the proper terminal in order to get the best results.

A Special Note for Windows Users

The best way to test your recently installed tool is to use it to build a quick and simple web app.

Bootstrapping Your First App

The ExpressJS command line tools generates a full function, to use as a foundation.

What Just Happened?

Take a look at the different kinds of files that are created as a part of the sample app creation.

Structure of an ExpressJS App
Frontend Development
5 Lectures 20:46

Jade helps you to build clean web pages that combine HTML and dynamic content.

Preview 07:13

CSS can be difficult to maintain on large projects. Stylus helps ease the maintenance.

Introducing Stylus

Bootstrap provides clean styles and helper functions, and is easily incorporated into your Express project.

Bootstrap with Jade and Stylus

ExpressJS includes support for serving the static files that your project needs.

Public and Static Files

Some people prefer other options besides Jade and Stylus. Many template options are available.

Other Templating Options
Planning Our Application
3 Lectures 13:19

Most ExpressJS applications are built from many modules. Planning ahead can help us decide which ones are most helpful.

Preview 03:38

Once we’ve decided on a set of modules, we’ll need to install them.

Installing the Necessary Modules

Due to our planning, we know the URLs we’ll need for our site. We can create them now to make early testing easier.

Creating Our Endpoints
Creating Our User Interface
3 Lectures 13:16

One of the most visible components of our application is the interface. We’ll build the interface so that we can click through the site.

Preview 04:33

Following the ‘separation of concerns’ pattern, we should ensure that we don’t put the app logic into our templates.

Understanding Logic-less Templates

We have static HTML/Jade, and we want to inject dynamic data.

Displaying Dynamic Data with Jade
Automated Testing
4 Lectures 18:11

Developers often face anxiety when it’s time to publish their code because they don’t know if something will break. Automated testing gives peace of mind.

Preview 02:57

We have many tools available for us. We’ll learn why full-stack testing is good at times, and why micro-testing or unit-testing is a better choice at other times.

Micro Testing/Unit Testing Versus Full Stack Testing

There are so many tools and choices, which can make it difficult to get your project set up with a working configuration. We’ll use Karma, Mocha, and Chai to test our project.

Setting Up Test Tools

Client-side code can be tested too, but the tools are slightly different since client-side code depends on a browser and its DOM.

Server-side JS Testing Versus Client-side JS Testing
Storing Data in MongoDB
5 Lectures 16:25

Developing applications that use MongoDB will be much easier if we have a database to test it with.

Preview 01:54

One of the best tools to utilize MongoDB in ExpressJS is the Mongoose library.

Wiring Up MongooseJS

MongooseJS provides an easy and powerful way to easily interact with our data in MongoDB.

Creating Our Models

Once we understand how MongoDB differs from relational databases, we’ll be able to know when to use each.

Differences between MongoDB and a Relational Database

We’ll convert our application from storing data in memory to storing it in MongoDB using MongooseJS.

Collecting Data
Authenticating Users
3 Lectures 17:47

PassportJS is an authentication framework that simplifies adding login capabilities to our app.

Preview 08:03

By default, web servers don’t remember anything about us from one page view to the next. Sessions help us to remember between page views.

Understanding Sessions

We can simplify the registration and login process by using social media providers.

Using Facebook or Twitter for Authentication
Deployment Options
3 Lectures 21:31

You have several options when deploying your application. Here are some things to consider as you make the decision.

Preview 06:43

Cloud hosting provides easy scalability and low initial costs.

Deploying Your App to the Cloud via Heroku

A dedicated server gives you more control and flexibility but also more responsibilities.

Considerations for Deploying Your App to Traditional Servers
Final Thoughts
6 Lectures 10:54

We can make our application cleaner and more maintainable by extracting duplicated code to a separate module.

Preview 01:44

We can speed up the process of building RESTful applications using SailsJS.

Opinionated MVC Framework – SailsJS

How to run the popular blogging tool Ghost locally, and view the source code.

Popular Blogging Tool – Ghost

How to integrate client-side MVC apps such as BackboneJS and Angular with ExpressJS

Client-side MVC Tools

How to integrate Socket.io into your application.

Socket.io for WebSocket Connections

Summary of what we’ve learned in this series.

About the Instructor
Packt Publishing
3.9 Average rating
7,349 Reviews
52,599 Students
616 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.