This login application provides a secure and user-friendly authentication system. Users can sign up, log in, and recover their passwords if forgotten.
- Developed By: Saubhagya Patel
- Date: Started on 29/01/2024
- Contact: patelsaubhagya0144@gmail.com
For any inquiries or feedback, please feel free to reach out via email.
-
HTML: HTML (Hypertext Markup Language) is the standard markup language used to create the structure of web pages. It provides the basic structure and content of web pages.
-
CSS: CSS (Cascading Style Sheets) is used to style the HTML elements, controlling the layout, colors, fonts, and other visual aspects of the website.
-
EJS (Embedded JavaScript): EJS is a simple templating language that lets you generate HTML markup with plain JavaScript. It allows for dynamic content generation on the server-side.
-
Bootstrap: Bootstrap is a popular front-end framework that provides pre-designed components and styles for building responsive and mobile-first websites. It simplifies the process of designing and styling web pages.
-
JavaScript: JavaScript is a programming language that is used to add interactivity and dynamic behavior to web pages. It is commonly used for client-side scripting to handle user interactions and manipulate the DOM (Document Object Model).
-
Node.js: Node.js is a JavaScript runtime environment that allows you to run JavaScript code on the server-side. It provides a platform for building scalable and high-performance web applications.
-
Express: Express is a minimalist web application framework for Node.js. It provides a robust set of features for building web applications and APIs, including routing, middleware support, and request handling.
-
Express-session: Express-session is a middleware for managing session data in Express applications. It provides a way to create and manage user sessions, which is essential for implementing user authentication and maintaining user state.
-
Passport: Passport is an authentication middleware for Node.js. It provides a flexible and modular authentication system that supports various authentication strategies, including username/password, OAuth, and OpenID.
-
Passport-google: Passport-google is a Passport.js strategy for authenticating with Google using OAuth 2.0. It allows users to log in to your application using their Google accounts, providing a convenient and secure authentication method.
-
pg (node-postgres): pg is a PostgreSQL client for Node.js. It allows you to interact with PostgreSQL databases from your Node.js applications, including executing SQL queries, managing transactions, and handling database connections.
-
Bcrypt: Bcrypt is a library used for hashing passwords securely. It provides functions for generating and verifying password hashes, helping to protect user passwords from being compromised.
-
Nodemailer: Nodemailer is a module used for sending emails from Node.js applications. It provides a simple and flexible API for sending email messages, which is useful for implementing features like password recovery and email verification.
- User registration
- User login
- Secure password hashing
- OAuth 2.0 authentication with Google
- Clone the repository.
- Install dependencies using
npm install
. - Set up your PostgreSQL database and configure the connection in
.env
file. - Run the application using
npm start
.
- Navigate to the login application in your web browser.
- Sign up for a new account or log in with an existing account.
- Use the provided features for user authentication and password management.
Contributions are welcome! Feel free to submit pull requests or open issues for any enhancements or bug fixes.