A basic account management system built in Node.js with the following features:
- New User Account Creation
- Secure Password Reset via Email
- Ability to Update / Delete Account
- Session Tracking for Logged-In Users
- Local Cookie Storage for Returning Users
- Blowfish-based Scheme Password Encryption
Node-Login is built on top of the following libraries :
- Node.js - Application Server
- Express.js - Node.js Web Framework
- MongoDb - Database Storage
- Jade - HTML Templating Engine
- Stylus - CSS Preprocessor
- EmailJS - Node.js > SMTP Server Middleware
- Moment.js - Lightweight Date Library
- Twitter Bootstrap - UI Component & Layout Library
Installation & Setup
- Install Node.js & MongoDB if you haven't already.
Clone this repository and install its dependencies.
> git clone git://github.com/braitsch/node-login.git node-login > cd node-login > npm install
In a separate shell start the MongoDB daemon.
From within the node-login directory, start the server.
> node app
Open a browser window and navigate to: http://localhost:3000
To enable the password retrieval feature it is recommended that you create environment variables for your credentials instead of hard coding them into the email dispatcher module.
To do this on OSX you can simply add them to your .profile or .bashrc file.
export EMAIL_HOST='smtp.gmail.com' export EMAIL_USERfirstname.lastname@example.org' export EMAIL_PASS='1234'
For testing purposes you can view a database dump of all accounts here.
Note this database automatically resets every 24 hours.
Questions and suggestions for improvement are welcome.