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.
- π§ 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 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.
- 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
To get started with Authify, follow these steps:
-
Clone the Repository:
git clone https://github.com/yourusername/Authify.git
-
Navigate to the Project Directory:
cd Authify
-
Install Dependencies:
npm install
-
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
-
Run the Application:
npm run dev
Contributions are welcome! If you have suggestions or improvements, feel free to create a pull request.
- Inspired by various authentication projects and frameworks.
- Thanks to the community for their support and feedback.