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=>auth
with 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/