A full-stack MERN (MongoDB, Express, React, Node.js) authentication application with email verification, JWT-based login, and cookie-based session management. Supports cross-origin requests and works seamlessly with Vercel deployments.
- 📝 User Registration with email & password
- 🔑 Login with JWT authentication
- 📧 Email verification using OTP
- 🔄 Password reset functionality
- 🍪 Cookie-based session handling
- 🌐 Cross-Origin Resource Sharing (CORS) enabled
- Frontend: React ⚛️, React Router, Axios, Tailwind CSS 🎨, React Toastify 🔔
- Backend: Node.js 🟢, Express ⚡, MongoDB 🗄️, Mongoose, JWT 🔐, bcryptjs 🔒, Nodemailer ✉️
- Deployment: Vercel ☁️ (Frontend + Backend)
- Environment: dotenv for config 🌿
mern-auth/
├── client/ # React frontend
├── server/ # Express backend
-
Clone the repo
git clone https://github.com/AdarshSugandhe/mern-auth-app.git
-
Install dependencies
cd frontend npm install cd ../backend npm install
- Set up environment variables Create a .env file in both frontend and backend directories with the required variables:
VITE_BACKEND_URL (frontend)
MONGO_URI, JWT_SECRET, SENDER_EMAIL (backend)
-
Run locally
# Backend cd backend npm run dev # Frontend cd ../frontend npm run dev
-
Deploy on Vercel
Deploy frontend and backend as separate projects Ensure CORS is configured in backend for frontend URL