Build a Network Application with Node

Build, tune, and test a tangible NodeJS application from start to finish
3.3 (3 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.
86 students enrolled
82% off
Take This Course
  • Lectures 37
  • Length 2 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 12/2014 English

Course Description

This video course is a step-by-step guide for creating a high performance server in JavaScript. The course begins with installing Node, to understanding modules and file streams, and setting up a server. The course also teaches you different web application frameworks and explores advanced features such as web sockets and key-value stores.

This comprehensive video tutorial will take you from a beginner-level programmer and teach you everything you need to know to get productive with Node. Fundamental concepts are illustrated with brief examples and many sample projects that help grasp the complex functionality in an easy manner.

With a primer on modules and npm, you'll understand how to work with building blocks of Node and publish your own creations. Accelerated development with frameworks like Express will make your app more responsive with caching and real-time communication.

This course is an indispensible guide to building a Node app, whether from the ground up or with the help of higher-level frameworks.

About the Author

Joe Stanco (@JoeStanco) is a frontend developer living in NYC. His fascination with code started with the Tandy “Trash 80” PC—a present for his seventh birthday. He has been programming in JavaScript for 15 years. A versatile developer, he has cultivated expertise in UI design as well as proficiency in backend languages such as Ruby, PHP, and Perl. He holds a BA from Bard College and a certificate in Software Development from Columbia University. Joe currently oversees a team at BuzzFeed tasked with implementing R&D projects and innovative partner integrations for clients like GE and Pepsi. He has worked at a variety of startups throughout his career, including Animoto, ASMALLWORLD, Vonage, and Travelocity. In his free time, he teaches 4th graders how to build robots with Lego Mindstorms for NY Cares. He is also an avid supporter of LISA (Leaders in Software and Art), a digital art salon founded in 2009.

What are the requirements?

  • Experience with Node is not essential, but familiarity with JavaScript is highly recommended.
  • This video course covers the fundamentals while teaching you the practical applications of these concepts to build a network app, use high-level frameworks, and test the app. It also covers a detailed explanation on performance optimization, code organization, process management, and automated testing.

What am I going to get from this course?

  • Manage the Node process and spawn child processes
  • Configure and publish a Node package
  • Handle data flows with Node's new Stream2 API
  • Build and optimize a static web server
  • Reuse more code with Connect middleware components
  • Implement an app using a higher level framework like Express
  • Create, read, update, and delete documents in a MongoDB collection
  • Transmit data over web sockets in real time with Socket.IO

Who is the target audience?

  • If you wish to get up to speed with the basics of Node, harness the performance benefits of non-blocking IO, and build a complete app from start to finish, this course is for you.

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: Getting Started with Node

Get a Node server running and import modules into your Node project.


The mechanics of a Node server may not be obvious at first. Get familiar with some essential techniques for running an HTTP server.

Section 2: Node Modules

Understand the composition of Node modules so that you can write your own.


Get to know the different types of module files and the variety of ways in which modules can be imported.


Modules often have dependencies. Use best practices to avoid conflicts.


npm offers a wealth of commands. Get familiar with a selection of the most useful ones.


The package descriptor serves many purposes. Learn the key settings to get the most out of your Node project.

Section 3: Understanding Events

Node programs use the event loop to manage control flow. Learn how to use it to the maximum effect.


Callbacks are everywhere in Node. Use them to advantage of event-driven I/O.


Node relies on many conventions to ensure predictability among modules. Learn how to avoid common pitfalls.


Many modules communicate through events. Generate and respond to the modules with EventEmitter.

Section 4: Working with File Streams

Resolve paths and get information about system resources.


Read/write a file, all at once or in parts.


Take advantage of the stream design pattern to work with I/O.

Section 5: Running an HTTP Server

Building a network application from scratch used to be unheard of. Now you can easily create a custom server with Node.


HTML responses are useless without images, CSS, and JavaScript. Serve static files for a richer web application.


Node is fast, but best practices can help minimize requests to the server and reduce data payload to the client.

Section 6: The Connect Framework

Negotiating the minutiae of HTTP can be time consuming. Speed up development by taking advantage of middleware.


Serving static files is a common networking task. Use Connect's middleware components to handle uploads


Getting the most out of your server is critical. Connect offers some handy optimizations.

Section 7: The Express Framework

Rather than reinventing the wheel, reuse the framework code.


Data persistence is complex, but sessions provide a simple (yet limited) solution.


Apps aren't much of use if they can't receive user data. Store values from a submitted form into the session.


Improve debugging by generating log files and capturing exceptions.

Section 8: Using View Templates

There are many template engines to choose from these days. Make an informed decision by understanding the key differences among them.


The HTML markup should be separated from the rest of your app. Use templates to keep the presentation code in its proper place.


Complex apps often require a sophisticated presentation layer. Learn how to make your templates smarter and more reusable.

Section 9: Data Storage

Add highly scalable, long-term storage to your app with MongoDB.


Keep your code clean by encapsulating the database connection logic.


Utilize Mongoose's data modeling environment to define models and enforce validation.


Manage documents in a database with ease using Mongoose methods.


Complex data relationships are often necessary. Use subdocuments to define parent-child relationships between models.

Section 10: Using Socket.IO

Users prefer apps that update content dynamically. Socket.IO provides a unified API for implementing real-time features in Node.


Users want to know when new content is available. A notification can prompt users to reload the page when the content is added.


Users would rather not click to see new data. Show updated content in real time with SocketIO.

Section 11: Automated Testing

Manual testing is often tedious and error prone. Using automated testing can save time and produce informative test reports.


An application becomes complex as it grows. Integration tests help to manage this complexity by confirming that the server's API behaves as expected.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Packt Publishing, 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.

Ready to start learning?
Take This Course