Authenticator is a full-featured authentication system built using React for the frontend and Node.js with Express for the backend. It supports user registration, login, email verification with OTP, password reset, and forgot password functionality. OTPs are securely sent via email using Nodemailer.
- β User Registration
- π Secure Login
- π§ Email Verification with OTP
- π Password Reset
- π΅ Forgot Password Support
- βοΈ OTP sent via Email
- Frontend: React ,Tailwind css
- Backend: Node.js, Express
- Database: MongoDB
- Email Service: Nodemailer (SMTP)
- Clone the repository:
git clone https://github.com/NeerajParamkar/Authenticator.git
cd Authenticator- Set up environment variables: Create a .env file inside the server folder with the following content:
PORT=3000
MONGODB_URL=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
NODE_ENV=development or server
SMPT_USER=your_smpt_user_id
SMPT_PASSWORD=Password
SENDER_EMAIL=sender_email_idAlso create .env file in client folder with following content:
VITE_BACKEND_URL='http://localhost:3000'- Install dependencies:
In client folder -:
npm install axios react-router-dom react-toastifyIn server folder -:
npm i express cors dotenv nodemon jsonwebtoken mongoose bcryptjs nodemailer cookie-parser4 .Run the project: Open two terminals or tabs, then run:
cd server
npm run devBackend runs at http://localhost:3000
cd client
npm run devFrontend runs at http://localhost:5173
- OAuth with Google/Facebook
- Two-Factor Authentication(2FA)
- User Dashboard/Profile
- Logs and Analytics
Pull requests are welcome! Fork this repo, make your changes, and submit a PR.