Skip to content

A complete authentication system built with React, Node.js, and MongoDB. Supports user registration, login, email OTP verification, password reset, and more. Easily pluggable into any website or web app to handle secure user authentication.

Notifications You must be signed in to change notification settings

NeerajParamkar/Authenticator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

23 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” Authenticator

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.

πŸš€ Features

  • βœ… User Registration
  • πŸ” Secure Login
  • πŸ“§ Email Verification with OTP
  • πŸ” Password Reset
  • 😡 Forgot Password Support
  • βœ‰οΈ OTP sent via Email

πŸ› οΈ Tech Stack

  • Frontend: React ,Tailwind css
  • Backend: Node.js, Express
  • Database: MongoDB
  • Email Service: Nodemailer (SMTP)

πŸ§‘β€πŸ’» How to Run Locally

  1. Clone the repository:
git clone https://github.com/NeerajParamkar/Authenticator.git
cd Authenticator
  1. 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_id

Also create .env file in client folder with following content:

VITE_BACKEND_URL='http://localhost:3000'
  1. Install dependencies:

In client folder -:

npm install axios react-router-dom react-toastify

In server folder -:

npm i express cors dotenv nodemon jsonwebtoken mongoose bcryptjs nodemailer cookie-parser

4 .Run the project: Open two terminals or tabs, then run:

Start backend server:

cd server
npm run dev

Backend runs at http://localhost:3000

Start frontend React app:

cd client
npm run dev

Frontend runs at http://localhost:5173

🌱 Future Improvements

  • OAuth with Google/Facebook
  • Two-Factor Authentication(2FA)
  • User Dashboard/Profile
  • Logs and Analytics

🀝 Contributing

Pull requests are welcome! Fork this repo, make your changes, and submit a PR.

About

A complete authentication system built with React, Node.js, and MongoDB. Supports user registration, login, email OTP verification, password reset, and more. Easily pluggable into any website or web app to handle secure user authentication.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages