Managing User Accounts


What we will be building

In this Chapter we will be building a User centric application. Topic covered include:

  • Setting up and configuring a database
  • Writing test with mocha and mongoose
  • Creating a User Model
  • Managing User sessions
  • User authentication
  • Sending Emails
  • Password Recovery

What we will be using

To accomplish these goals we will be using the following open source projects:

  • express - web application framework for node
  • node-supervisor - A little supervisor script for nodejs. It runs your program, and watches for code changes, so you can have hot-code reloading-ish behavior, without worrying about memory leaks and making sure you clean up all the inter-module references, and without a whole new require system
  • mocha - Mocha is a feature-rich JavaScript test framework running on node and the browser, making asynchronous testing simple and fun
  • mongoddb - MongoDB (from "humongous") is a scalable, high-performance, open source NoSQL database
  • mongoose - elegant mongodb object modeling for node.js
  • Passport - Simple, unobtrusive authentication for Node.js
  • should.js - BDD style assertions for node.js -- test framework agnostic
  • supertest - Super-agent driven library for testing node.js HTTP servers using a fluent API