MongoDB
ejs
expressjs => web app framework
bcryptjs, crypto-js => for encrypting users' password
passport => server-side authentication
nodemailer => SMTP email service
login => passport checking (email, password) => two factor authen (password + email verification code) => logon => logout