Learning Express Web Application Development

Build powerful and modern web apps that run smoothly on the webserver with ExpressJS
4.3 (9 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.
116 students enrolled
$75
Take This Course
  • Lectures 37
  • Contents Video: 2.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

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 2/2015 English

Course Description

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.

What are the requirements?

  • This robust framework helps you utilize the JavaScript knowledge to build powerful APIs that suit your need for fast-paced web app development.

What am I going to get from this course?

  • 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

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

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: Getting Started
04:18

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

00:51

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

03:16

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

01:22

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

05:32

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

Section 2: Frontend Development
07:13

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

03:00

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

03:40

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

02:38

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

04:15

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

Section 3: Planning Our Application
03:38

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

03:16

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

06:25

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

Section 4: Creating Our User Interface
04:33

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.

01:24

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

07:19

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

Section 5: Automated Testing
02:57

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.

04:52

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.

06:14

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.

04:08

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

Section 6: Storing Data in MongoDB
01:54

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

02:24

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

01:55

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

03:43

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

06:29

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

Section 7: Authenticating Users
08:03

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

02:51

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.

06:53

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

Section 8: Deployment Options
06:43

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

06:51

Cloud hosting provides easy scalability and low initial costs.

07:57

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

Section 9: Final Thoughts
01:44

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

01:37

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

01:51

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

01:38

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

03:00

How to integrate Socket.io into your application.

01:04

Summary of what we’ve learned in this series.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Packt Publishing, Tech Knowledge in Motion

Over the past ten years Packt Publishing has developed an extensive catalogue of over 2000 books, e-books and video courses aimed at keeping IT professionals ahead of the technology curve. From new takes on established technologies through to the latest guides on emerging platforms, topics and trends – Packt's focus has always been on giving our customers the working knowledge they need to get the job done. Our Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.

Ready to start learning?
Take This Course