Programming Node.js Applications with Express.js & MongoDB
Minimum price
Suggested price

Programming Node.js Applications with Express.js & MongoDB

About the Book

Having been first published by Ryan Dahl in 2009, Node.js -- the open source software that allows the common web language of JavaScript to run outside the browser -- has absolutely grabbed ahold of imaginations in the world of technology in its first half-decade of life. The explosion of Node.js applications and the exponentially increasing number of published modules are a huge indicator of its success as a platform.

This book will teach you all about how to write an MVC (model-view-controller) web application using Express.js and MongoDB -- two of the building blocks that have been absolutely embraced by the Node.js community. Sone of the topics include (but are not limited to) templating engines, authentication, relational data, AJAX, and security. Working code samples for each chapter and a repository containing a fully functioning content management system (CMS) covering the same topics written in the same style as the code within the book are also included!

About the Author

Ian Chursky
Ian Chursky

Should I write in the 3rd person here? Ian Chursky (that's me) is a Seattle-area developer who has been working in the development world since interning as a web developer during the dotcom bubble days of early 2000 before attending college at Seattle University, graduating with a degree in Biology and minoring in Computer Science. After college he has worked at both giant, evil, multinational corporations and small creative dev shops and everything in-between. Professionally, he spends a lot of time in JavaScript (React, TypeScript, Vue.js, Knockout.js, Node.js Express.js) and in the Microsoft stack of technologies (ASP.NET/C#, .NET WebAPI, Azure, etc.) but has also been called upon to venture into the worlds PHP, Python, and Java. He lives in the general greater Seattle area with his wife and 2 daughters.

Table of Contents


Who This Book Is For


Code Samples & Repositories



Chapter 1: A Node.js Primer

Node.js Introduction

Installing Node.js

Obligatory "Hello World" in Node.js

Installing Modules with npm

Chapter 2: Introduction to Express.js

Templates & Views

Dynamic Templates & Passing Data to Views

Chapter 3: Creating an MVC Express.js Application

Application Setup




Passing Data to Views

Partial Views


Chapter 4: Middleware & Configuration




Chapter 5: Debugging Node.js Applications

Installing Node Inspector

Debugging With Node Inspector


Chapter 6: Data Access & Validation With MongoDB

Installing Mongoose

Database Settings in config.js

Creating Data Models

Accessing Data in Controllers and Views

Editing and Deleting Data

Deleting Data

Editing Data

Testing It All Out

Validation of Data


Chapter 7: Relational Data in MongoDB

Updating Data Models

Adding Object References

Editing Items and Handlebars Helpers


Chapter 8: AJAX in Express.js Applications


Sending AJAX Requests


Chapter 9: Sessions & Authentication in Express.js

Getting Started with Sessions and Authentication

Authenticating Users Stored in a Database

Updating Code to Check Credentials on Sign In

Installation and Creating a Default User

Authenticated AJAX Requests


Chapter 10: Security

Cross-site Request Forgery

Anti-CSRF Tokens and AJAX Requests

Cross-Site Scripting (XSS)

Session Hijacking / Cookie Stealing



Chapter 11: Putting it All Together: Creating an Application

Setting Up Our Application




Static Files

Running the Application

Data Models

Building the Admin Panel

Installation Routes & Creating a Default User

Dynamic Page & Post Routes

404 & Error Routes



Appendix A: Code Samples & Repos

Appendix B: MongoDB Shell

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub