This is my 1st Node.js application. It has following functionalities (find sceenshot by clicking each link).
- User Registration (email support)
- Login/Logout
- Forgot Password (email support)
- Reset Password (email support)
- View and Edit Profile
- Add Blog/Post
- View Blog/Post
- Add Comment on a Blog/Post
- View Comment on a Blog/Post
- Account Locking (to prevent brute-force attacks by enforcing a maximum number of failed login attempts)
- Node.js (Server side JS)
- Express.js (Web Application Framework)
- Mongoose.js (ODM - Object Document Mapper)
- MongoDB (Document Database)
- NodeMailer.js (Email)
- Passport.js (Authentication and Session Management)
- Passport-local.js (Local Authentication)
- Handlebars.js (Template Engine)
- Bootstrap.js (Frontend, UI)
- Bootstrap-validator.js (HTML Form validation)
- Download the project as zip or do a git clone from here
- Go to the root dir (Blog-Post).
- Use the standard node app installation process to use the application (
npm install).- This should install all the dependent node-modules from
package.json.
- This should install all the dependent node-modules from
The application sends mail for Successful Registration, Forgot Password and Successful Reset Password from gmail only account.
- Edit
config\keys.js. - Change
smtpConfig=>authwith your gmail account email id and password. - Change
from:with your gmail account email id inregMailOptions,forgotMailOptions,resetMailOptions. - To disbale email, edit config/keys.js and set
disableEmailSending = "no". Note You have to edit your gmail acoount's setting in order to send mail from less secure application. See this for more details.
- Usual Mode start (code changes do not reflect on the fly)
node app.js - Development Mode Start (code changes reflect on the fly)
SET DEBUG=Blog-Post:* & npm run devstart - Open the application in any browser with http://localhost:8080/