UNPKG

mern-auth-boilerplate

Version:
138 lines (79 loc) β€’ 3.77 kB
# MERN Auth Boilerplate – JWT Cookie Auth with Profile Setup This is a full-stack boilerplate project built using the MERN stack with Zustand for state management and JWT cookie-based authentication. It includes essential features like: User Sign-up & Login Secure JWT-based session management using HTTP-only cookies Protected routes (Home/Profile) User profile management with Cloudinary image upload Navbar navigation Minimal frontend design with extendable structure This project was crafted with scalability and security in mind, offering a clean and extendable starting point for full-stack developers. Built with care and precision by Jaivardhan Singh ( https://github.com/Jaivardhan7773 ), it's a great launchpad for your next MERN project. ## Installation ```bash #frontend setup : cd FRONTEND npm install npm run dev #backend setup : cd SERVER npm install npm run dev ``` ## Usage/Examples ``` πŸ“Œ Usage / Examples Once both frontend and backend servers are running: πŸ” 1. Automatic Redirect to Signup/Login If you're not logged in, you’ll be automatically redirected to the /signup page If you already have an account, click β€œAlready have an account?” to switch to /login πŸ”‘ 2. Login with Credentials Enter your registered email and password A JWT token is securely stored in an HTTP-only cookie πŸ”’ 3. Access Protected Pages Once authenticated, you can access: βœ… /profile – View and update your profile with a profile picture (Cloudinary integration) βœ… /home – A protected page (currently minimal content) πŸ” Trying to access these routes without authentication will auto-redirect you to /signup ``` ## License This project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details. ## Environment Variables To run this project, you will need to add the following environment variables to your Backend .env file `PORT`=5000 `MONGO_URI` `JWT_SECRET` `NODE_ENV`=development `CLOUDINARY_CLOUD_NAME` `CLOUDINARY_API_KEY` `CLOUDINARY_API_SECRET` ## πŸš€ Tech Stack **Client:** React.js, Zustand, Axios, CSS **Server:** Node.js, Express.js, MongoDB, Cloudinary **Authentication:** JWT (via HTTP-only Cookies) **Tools & Services:** Vite, dotenv, Cloudinary, Mongoose ## πŸ‘¨β€πŸ’» Author - [@Jaivardhan7773](https://github.com/Jaivardhan7773) – Full-Stack Web Developer πŸš€ Passionate about building scalable web apps with MERN stack & modern tools. πŸ’» Loves React, Node.js, Zustand, MongoDB & experimenting with new tech. 🧠 Always learning. Always building. Always leveling up. ### 🌐 Connect with me - πŸ’Ό [LinkedIn](https://www.linkedin.com/in/jaivardhan7773) - πŸ™ [GitHub](https://github.com/Jaivardhan7773) - πŸ“· [Instagram](https://www.instagram.com/jaivardhan7773_) ## πŸ“Έ Screenshots ### πŸ” Login Page ![Login Page](https://i.ibb.co/BVNZ5t99/Screenshot-2025-06-19-173012.png) ### πŸ“ Sign Up Page ![Sign Up Page](https://i.ibb.co/HLBRB8v5/Screenshot-2025-06-19-173023.png) ### πŸ‘€ Profile Page (Protected) ![Profile Page](https://i.ibb.co/qHL3gDp/Screenshot-2025-06-19-173144.png) ### 🏠 Home Page (Protected) ![Home Page](https://i.ibb.co/LzfL4sXF/Screenshot-2025-06-19-173527.png) ## πŸš€ Features - πŸ”’ JWT-based authentication with HttpOnly cookies - πŸ“Έ Profile image upload using Cloudinary - βš™οΈ Protected routes (Home & Profile pages) - πŸ” Auto-redirect to Sign Up/Login based on auth state - 🧠 Zustand for global state management - πŸŒ™ Default dark theme UI - πŸ“± Fully responsive design for all devices - 🧭 Dynamic Navbar based on authentication