Skip to content

Tanmay-Chandgude/Authify

Repository files navigation

Authify

Authify is a secure authentication tool built using the MERN stack (MongoDB, Express.js, React.js, and Node.js). It provides users with a seamless login experience. Authify employs JSON Web Tokens (JWT) for secure session management, ensuring a high level of security for user data.

Features

Backend Features

  • πŸ”§ Backend Setup: Set up a robust backend using Node.js and Express.
  • πŸ—„οΈ Database Setup: Integrated MongoDB for secure data storage.
  • πŸ” Signup Endpoint: Users can register for an account.
  • πŸ“§ Sending Verify Account Email: Verification emails sent to new users upon signup.
  • πŸ” Verify Email Endpoint: Allows users to verify their email addresses.
  • πŸ“„ Building a Welcome Email Template: Custom email templates for welcoming new users.
  • πŸšͺ Logout Endpoint: Users can securely log out of their accounts.
  • πŸ”‘ Login Endpoint: Users can log in with their credentials.
  • πŸ”„ Forgot Password Endpoint: Enables users to request a password reset.
  • πŸ” Reset Password Endpoint: Allows users to reset their passwords securely.
  • βœ”οΈ Check Auth Endpoint: Checks if the user is authenticated.

Frontend Features

  • 🌐 Frontend Setup: Established the frontend using React.js.
  • πŸ“‹ Signup Page UI: User-friendly interface for account registration.
  • πŸ”“ Login Page UI: Intuitive interface for user login.
  • βœ… Email Verification Page UI: Page for users to verify their email addresses.
  • πŸ“€ Implementing Signup: Complete integration of the signup process.
  • πŸ“§ Implementing Email Verification: Verification process fully implemented.
  • πŸ”’ Protecting Our Routes: Ensured secured access to protected routes.
  • πŸ”‘ Implementing Login: Fully functional login process.
  • 🏠 Dashboard Page: User dashboard for authenticated users.
  • πŸ”„ Implementing Forgot Password: Complete flow for password recovery.

Technologies Used

  • Frontend: React.js, Zustand, Axios, React Icons
  • Backend: Node.js, Express.js, MongoDB, JWT (for session management), bcryptjs
  • Email Service: Mailtrap
  • Environment Variables: dotenv for configuration management

Getting Started

To get started with Authify, follow these steps:

  1. Clone the Repository:

    git clone https://github.com/yourusername/Authify.git
  2. Navigate to the Project Directory:

    cd Authify
  3. Install Dependencies:

    npm install
  4. Configure Environment Variables: Create a .env file in the root directory and add the required variables:

    MONGO_URI=your_mongodb_uri
    JWT_SECRET=your_jwt_secret
    MAILTRAP_USER=your_mailtrap_user
    MAILTRAP_PASS=your_mailtrap_password
    
  5. Run the Application:

    npm run dev 

Contributing

Contributions are welcome! If you have suggestions or improvements, feel free to create a pull request.

Acknowledgments

  • Inspired by various authentication projects and frameworks.
  • Thanks to the community for their support and feedback.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages