{"id":19792523,"url":"https://github.com/ravikantsingh12/nodejs-authentication-system","last_synced_at":"2026-04-08T12:34:19.289Z","repository":{"id":248878132,"uuid":"830026646","full_name":"ravikantsingh12/NodeJS-Authentication-System","owner":"ravikantsingh12","description":"This project contains a complete authentication system using Node.js, Express, and MongoDB. It includes features like sign up, sign in, sign out, password reset, and social authentication (Google).","archived":false,"fork":false,"pushed_at":"2024-07-20T13:01:41.000Z","size":109,"stargazers_count":4,"open_issues_count":0,"forks_count":122,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-03T14:28:12.105Z","etag":null,"topics":["bootstrap","coding-ninjas","css","express","express-ejs-layouts","express-session","html","javascript","mongodb","mongoose","nodejs","nodejs-authentication","nodemailer","passportjs"],"latest_commit_sha":null,"homepage":"https://nodejs-authentication-system-l2pu.onrender.com/user/signin","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/ravikantsingh12.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}},"created_at":"2024-07-17T13:05:11.000Z","updated_at":"2025-06-21T07:44:47.000Z","dependencies_parsed_at":"2025-01-18T03:17:06.356Z","dependency_job_id":null,"html_url":"https://github.com/ravikantsingh12/NodeJS-Authentication-System","commit_stats":null,"previous_names":["ravikantsingh12/nodejs-authentication-app","ravikantsingh12/nodejs-authentication-system"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ravikantsingh12/NodeJS-Authentication-System","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravikantsingh12%2FNodeJS-Authentication-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravikantsingh12%2FNodeJS-Authentication-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravikantsingh12%2FNodeJS-Authentication-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravikantsingh12%2FNodeJS-Authentication-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ravikantsingh12","download_url":"https://codeload.github.com/ravikantsingh12/NodeJS-Authentication-System/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravikantsingh12%2FNodeJS-Authentication-System/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31556235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T10:21:54.569Z","status":"ssl_error","status_checked_at":"2026-04-08T10:21:38.171Z","response_time":54,"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":["bootstrap","coding-ninjas","css","express","express-ejs-layouts","express-session","html","javascript","mongodb","mongoose","nodejs","nodejs-authentication","nodemailer","passportjs"],"created_at":"2024-11-12T07:07:14.958Z","updated_at":"2026-04-08T12:34:19.250Z","avatar_url":"https://github.com/ravikantsingh12.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Node.js Authentication System\n\nThis project contains a complete authentication system using Node.js, Express, and MongoDB. It includes features like sign up, sign in, sign out, password reset, and social authentication (Google). The project is structured to be scalable with separate components for models, controllers, and routes.\n\n## Live Site\n[Click here](https://nodejs-authentication-system-l2pu.onrender.com/user/signin) to visit the live site.\n\n## Features Implemented\n- **Sign-up with Email**: Create an account using your email and password.\n- **Sign-in**: Log into your account securely.\n- **Sign Out**: Log out of your session.\n- **Reset Password**: You can reset your passwords after signing in.\n- **Encrypted Passwords**: Passwords are securely stored using encryption.\n- **Google Login/Signup**: Sign in or sign up using your Google account.\n- **Forgot Password**: Reset your password via email.\n- **Password Strength Validation**: Notifications are displayed for unmatching passwords during sign up and incorrect passwords during sign in.\n- **reCAPTCHA Integration**: Protects against bot traffic on sign up and login pages.\n\n## Environment Variables\n\nBefore running the application locally, ensure you have set up the following environment variables in a .env file located at the root of your project:\n\n1. **PORT**: Specifies the port number the application listens on.\n2. **DB_URL**: MongoDB database connection URL.\n3. **CLIENT_ID**: Google OAuth client ID.\n4. **CLIENT_SECRET**: Google OAuth client secret (sign in with Google).\n5. **EMAIL**: Email address for sending emails.\n6. **PASSWORD**: App-specific password or regular password for the Gmail account.\n7. **RECAPTCHA_SECRET_KEY**: Google reCAPTCHA secret key.\n8. **CLIENT_URL**: URL to redirect after signing in with Google, e.g., \"http://localhost:3000/auth/login/success\".\n\nEnsure that you have the appropriate values for each variable before running the application.\n\nExample `.env` file:\n\n```plaintext\nPORT=3000\nDB_URL=mongodb://localhost:27017/authdatabase\nCLIENT_ID=your_client_id\nCLIENT_SECRET=your_client_secret\nEMAIL=your_email@gmail.com\nPASSWORD=your_gmail_password\nRECAPTCHA_SECRET_KEY=your_recaptcha_secret_key\nCLIENT_URL=http://localhost:3000/auth/login/success\n```\n\n## Folder\n  ```csharp\nnode-authentication/\n├── config/                  # Configuration files\n│   └── mongodb.js           # MongoDB configuration\n│\n├── controllers/             # Controller logic\n├── models/                  # Database models\n├── routes/                  # Route definitions\n├── views/                   # EJS views\n├── app.js                   # Express application setup\n│\n├── public/                  # Static assets\n│\n├── package.json             # NPM package configuration\n├── README.md                # Project README file\n├── .gitignore               # Git ignore configuration\n└── .env                     # Environment variables file\n\n```\n\n## Installation and Setup\n\nFollow these steps to run the project locally:\n\n\n1. Clone the repository to your local machine:\n\n   ```bash\n   git clone https://github.com/your-username/nodejs-authentication-system.git\n  \n2. Navigate into the project directory:\n   ```bash\n   cd node-authentication-system\n    ```\n3. Install dependencies:\n   ```bash\n   npm install\n\n4. Start the server:\n   ```bash\n   npm start\n5. Open your web browser and visit http://localhost:3000 to access the application.\n\n## Dependencies required\n\n- Express.js\n- MongoDB\n- Passport.js\n- bcrypt\n- express-session\n- express-ejs-layouts\n- dotenv\n- nodemailer\n\n## Credits\n\nThis project was created by [Ravikant Singh](https://github.com/ravikantsingh12). Contributions via issues or pull requests are welcome!\n\n## Follow me on\n\n- [LinkedIn](https://www.linkedin.com/in/ravikant-singh-327a98241)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravikantsingh12%2Fnodejs-authentication-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fravikantsingh12%2Fnodejs-authentication-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravikantsingh12%2Fnodejs-authentication-system/lists"}