- 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.js - Application Server
- Express.js - Node.js Web Framework
- MongoDB - Database Storage
- Pug - HTML Templating Engine
- Stylus - CSS Preprocessor
- EmailJS - Node.js > SMTP Server Middleware
- Moment.js - Lightweight Date Library
- Twitter Bootstrap - UI Component & Layout Library
-
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.
> mongod
-
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_USER='[email protected]'
export EMAIL_PASS='1234'
A Live Demo and some thoughts about the app's architecture.
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.