{"id":24423311,"url":"https://github.com/limon00001/mern-auth","last_synced_at":"2026-04-21T08:32:29.713Z","repository":{"id":272807361,"uuid":"917820220","full_name":"Limon00001/mern-auth","owner":"Limon00001","description":"Live link","archived":false,"fork":false,"pushed_at":"2025-01-26T17:06:43.000Z","size":1189,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-27T19:25:10.030Z","etag":null,"topics":["authentication","expressjs","mongodb","nodesjs","reactjs"],"latest_commit_sha":null,"homepage":"https://mern-auth-client-cv0j.onrender.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Limon00001.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-16T17:51:56.000Z","updated_at":"2025-04-06T03:42:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"bede5fee-133f-44bf-834f-dfcc45cb133f","html_url":"https://github.com/Limon00001/mern-auth","commit_stats":null,"previous_names":["limon00001/mern-auth"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Limon00001/mern-auth","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Limon00001%2Fmern-auth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Limon00001%2Fmern-auth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Limon00001%2Fmern-auth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Limon00001%2Fmern-auth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Limon00001","download_url":"https://codeload.github.com/Limon00001/mern-auth/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Limon00001%2Fmern-auth/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32083714,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T06:27:27.065Z","status":"ssl_error","status_checked_at":"2026-04-21T06:27:21.250Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authentication","expressjs","mongodb","nodesjs","reactjs"],"created_at":"2025-01-20T10:17:36.218Z","updated_at":"2026-04-21T08:32:29.677Z","avatar_url":"https://github.com/Limon00001.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n![Contributor](https://img.shields.io/badge/Contributor-000?style=flat\u0026logo=c\u0026logoColor=whitesmoke) ![React](https://img.shields.io/badge/-React-61DAFB?style=flat\u0026logo=react\u0026logoColor=black) ![Node JS](https://img.shields.io/badge/Node-339933?style=flat\u0026logo=node.js\u0026logoColor=white) ![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?style=flat\u0026logo=javascript\u0026logoColor=black) ![MongoDB](https://img.shields.io/badge/-MongoDB-4DB33D?style=flat\u0026logo=mongodb\u0026logoColor=white) ![Express.js](https://img.shields.io/badge/-Express.js-000000?style=flat\u0026logo=express\u0026logoColor=white) ![NPM](https://img.shields.io/badge/Npm-CC342D?style=flat\u0026logo=npm\u0026logoColor=white)\n![GitHub](https://img.shields.io/badge/Github-000?style=flat\u0026logo=github\u0026logoColor=white) ![TailwindCSS](https://img.shields.io/badge/-TailwindCss-38BDF8?style=flat\u0026logo=tailwind-css\u0026logoColor=white) ![Axios](https://img.shields.io/badge/-Axios-000000?style=flat\u0026logo=axios\u0026logoColor=white) ![VS Code](https://img.shields.io/badge/-VS%20Code-007ACC?style=flat\u0026logo=vs-code\u0026logoColor=white) ![Toastify](https://img.shields.io/badge/-Toastify-F05032?style=flat\u0026logo=toastify\u0026logoColor=white) ![Git](https://img.shields.io/badge/-Git-F05032?style=flat\u0026logo=git\u0026logoColor=white)\n\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n\u003cdiv style='display: flex; align-items: center; gap: 4rem;'\u003e\n\u003cimg src=\"./client/public/favicon.png\" width=\"30\"/\u003e\n\n# MERN Authentication System\n\n\u003c/div\u003e\n\n## 📸 Project Screenshot\n\n\u003c!-- ![Project Screenshot](./client/public/banner.png) --\u003e\n\u003cimg src=\"./client/public/banner.png\" alt=\"Project Screenshot\" style=\"width: 50rem; height: auto;\"\u003e\n\n### 🔗 [Live Link](https://mern-auth-client-cv0j.onrender.com/)\n\n\u003cbr /\u003e\n\n## 📈 System Overview\n\nA full-stack authentication system built with the MERN stack (MongoDB, Express.js, React.js, Node.js) featuring email verification and password reset functionality.\n\n\n## 🚀 Features\n\n- 🪪 User Registration \u0026 Login\n- ✉️ Email Verification System\n- 🔑 Password Reset Functionality\n- 🔒 Protected Routes\n- 🛡️ JWT Authentication\n- 🎨 Modern UI with Tailwind CSS\n- 🚀 Responsive Design\n- 🍪 Cookie-based Authentication\n- 🔔 Toast Notification\n- ⚡ Fast and Lightweight\n\n## 🛠️ Technologies Used\n\n- **Frontend:**\n  - React.js with Vite\n  - Tailwind CSS\n  - Axios\n  - React Router DOM\n  - React Toastify\n\n- **Backend:**\n  - Node.js\n  - Express.js\n  - MongoDB with Mongoose\n  - JWT for authentication\n  - Nodemailer for email services\n  - bcrypt for password hashing\n\n## \u003c/\u003e API Endpoints\n\n- **Auth Routes:**\n  - POST `/api/auth/register` - Register a new user\n  - POST `/api/auth/login` - Login user\n  - POST `/api/auth/logout` - Logout user\n  - POST `/api/auth/verify-account` - Verify email account\n  - POST `/api/auth/send-verify-otp` - Send verification OTP\n  - POST `/api/auth/send-reset-otp` - Send password reset OTP\n  - POST `/api/auth/reset-password` - Reset password\n  - GET `/api/auth/is-auth` - Authenticate user\n\n- **User Routes:**\n  - GET `/api/users/get-user` - Get user profile\n\n## 🧩 Project Structure\n\n```\nmern-auth/\n├── client/               # Frontend React application\n│   ├── src/\n│   │   ├── assets/      # Static assets\n│   │   ├── components/  # Reusable components\n│   │   ├── context/     # Context providers\n│   │   └── pages/       # Page components\n│   └── ...\n└── server/              # Backend Node.js/Express application\n    ├── config/         # Configuration files\n    ├── controllers/    # Request handlers\n    ├── middleware/     # Custom middleware\n    ├── models/        # Database models\n    ├── routes/        # API routes\n    └── ...\n```\n\n## Prerequisites\n\n- Node.js (v14 or higher)\n- MongoDB\n- npm or yarn\n\n## Installation\n\n1. **Clone the repository:**\n   ```bash\n   git clone https://github.com/Limon00001/mern-auth.git\n   cd mern-auth\n   ```\n\n2. **Set up the backend:**\n   ```bash\n   cd server\n   npm install\n   ```\n   Create a `.env` file in the server directory:\n   ```env\n   PORT=\u003cyour-port\u003e\n   MONGODB_URI=\u003cyour-mongodb-uri\u003e\n   JWT_SECRET=\u003cyour-jwt-secret\u003e\n   SMTP_HOST=\u003csmtp-host\u003e\n   SMTP_PORT=\u003csmtp-port\u003e\n   SMTP_USER=\u003csmtp-username\u003e\n   SMTP_PASS=\u003csmtp-password\u003e\n   ```\n\n3. **Set up the frontend:**\n   ```bash\n   cd ../client\n   npm install\n   ```\n   Create a `.env` file in the client directory:\n   ```env\n   VITE_BACKEND_URI=\u003cbackend-url\u003e\n   ```\n\n4. **Run the application:**\n   \n   In the server directory:\n   ```bash\n   npm run dev\n   ```\n   \n   In the client directory:\n   ```bash\n   npm run dev\n   ```\n\n## 👨‍💻 Author\n\n[![LinkedIn][github-shield]][github-url]\n[![LinkedIn][linkedin-shield]][linkedin-url]\n\n[github-shield]: https://img.shields.io/badge/-GitHub-black.svg?style=flat-square\u0026logo=github\u0026color=555\u0026logoColor=white\n[github-url]: https://github.com/Limon00001\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=flat-square\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://www.linkedin.com/in/monayem-hossain-limon/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flimon00001%2Fmern-auth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flimon00001%2Fmern-auth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flimon00001%2Fmern-auth/lists"}