Authentication Project

This project is a full-stack web application that allows users to securely register, log in, and manage their personal notes. Each user has an individual account, and upon logging in, they can add, view, and delete notes. The app ensures that each user can only access their own notes and provides a clean and simple interface for ease of use.

Auth Application Overview

Note: The server may take a few moments to start up when accessing the live demo. Please be patient if there's a slight delay.

Key Features

  • User Authentication: Secure registration and login using encrypted passwords
  • Note Management: Users can create, view, and delete personal notes
  • Authorization: Protected routes ensure only authenticated users can access or modify notes
  • Responsive Design: Simple and user-friendly interface built with EJS templates

Technologies Used

  • Node.js & Express.js (Backend)
  • MongoDB & Mongoose (Database)
  • EJS (Frontend templating engine)
  • Express sessions & bcrypt (Authentication)
  • CSS for styling

Challenges and Solutions

One of the main challenges was implementing secure user authentication and ensuring that only authorized users could access personal data. This was achieved by using bcrypt for password encryption and Express sessions for managing user sessions, ensuring that each user could only access their own notes.

Future Improvements

Reflection

This project helped me deepen my understanding of authentication and user management in web applications. I learned how to use session-based authentication to secure routes and protect sensitive data. Implementing modular code for scalability was another key takeaway, as it allowed for future improvements without disrupting the core functionality.