About This Application

This is a starter template for a web application with user authentication features. It demonstrates:

  • User registration and login
  • Session management with express-session
  • Password hashing with bcrypt
  • MongoDB integration with Mongoose
  • CSRF protection
  • Form validation
  • Protected routes that require authentication

This template is intended for educational purposes to help students understand authentication concepts in web applications.

Technology Stack

  • Backend: Node.js, Express.js
  • Database: MongoDB with Mongoose ODM
  • Frontend: HTML, CSS, JavaScript (Vanilla)
  • Template Engine: EJS
  • Authentication: bcrypt, express-session
  • Security: csurf for CSRF protection