Skip to content

usama247550/AuthVault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🔐 AuthVault – MERN Authentication System

AuthVault is a production-style full-stack authentication system built using the MERN stack. It provides secure user authentication with JWT, refresh tokens, role-based access control, and modern UI.


🚀 Features

  • User Registration & Login
  • JWT Authentication (Access + Refresh Tokens)
  • Secure Logout System
  • Forgot Password & Reset Password via Email
  • Protected Routes (Frontend + Backend)
  • Role-Based Authorization (Admin/User)
  • User Profile Update
  • File Upload Support (cloudinary)
  • Error Handling Middleware
  • Redux Toolkit State Management
  • Responsive UI (React + Vite)

🛠️ Tech Stack

Frontend:

  • React.js (Vite)
  • Redux Toolkit
  • React Router DOM
  • Axios
  • CSS
  • *Bootstrap

Backend:

  • Node.js
  • Express.js
  • MongoDB (Mongoose)
  • JWT (Authentication)
  • Nodemailer (Email service)
  • cloudinary (File uploads)

📁 Project Structure

AuthVault
│
├── backend
│   ├── controllers
│   ├── models
│   ├── routes
│   ├── middleware
│   ├── utils
│   └── server.js
│
├── frontend
│   ├── src
│   │   ├── components
│   │   ├── pages
│   │   ├── features
│   │   ├── app
│   │   └── style
│   └── vite.config.js

⚙️ Installation & Setup

1. Clone Repository

git clone https://github.com/usama247550/AuthVault.git

2. Backend Setup

cd backend
npm install
npm run server

3. Frontend Setup

cd frontend/my-react-app
npm install
npm run dev

🔐 Environment Variables

Create .env file in backend:

PORT=5000

MONGO_URI=your_mongodb_url

JWT_SECRET=your_secret_key
REFRESH_TOKEN_SECRET=your_refresh_secret

JWT_EXPIRE=15m
EXPIRE_COOKIE=7d

SMTP_SERVICE=gmail
EMAIL_USER=your_email@gmail.com
EMAIL_PASS=your_email_password

CLOUD_NAME=your_cloudinary_name
API_KEY=your_api_key
API_SECRET=your_api_secret

FRONTEND_URL=http://localhost:5173

📌 Future Improvements

  • Google OAuth Login
  • Admin Dashboard Analytics
  • Deployment (Vercel + Render)
  • API Rate Limiting

👨‍💻 Author

Usama Javed MERN Stack Developer

GitHub: https://github.com/usama247550


⭐ If you like this project

Give it a star ⭐ on GitHub and share it!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors