{"id":24411301,"url":"https://github.com/shahriaras/expressjs-auth-starter","last_synced_at":"2025-07-02T20:08:02.543Z","repository":{"id":149576106,"uuid":"509940385","full_name":"shahriarAS/expressjs-auth-starter","owner":"shahriarAS","description":"Expressjs Starter Project for user register, login, email verify, reset password, change password.","archived":false,"fork":false,"pushed_at":"2022-07-03T16:22:07.000Z","size":51,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T02:54:18.849Z","etag":null,"topics":["authentication","bcrypt","expressjs","mongodb","nodejs","nodemailer"],"latest_commit_sha":null,"homepage":"","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/shahriarAS.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}},"created_at":"2022-07-03T06:19:49.000Z","updated_at":"2024-03-20T02:55:53.000Z","dependencies_parsed_at":"2024-01-29T14:08:15.042Z","dependency_job_id":null,"html_url":"https://github.com/shahriarAS/expressjs-auth-starter","commit_stats":null,"previous_names":["shahriaras/expressjs-auth-starter"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/shahriarAS/expressjs-auth-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shahriarAS%2Fexpressjs-auth-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shahriarAS%2Fexpressjs-auth-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shahriarAS%2Fexpressjs-auth-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shahriarAS%2Fexpressjs-auth-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shahriarAS","download_url":"https://codeload.github.com/shahriarAS/expressjs-auth-starter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shahriarAS%2Fexpressjs-auth-starter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263208050,"owners_count":23430676,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","bcrypt","expressjs","mongodb","nodejs","nodemailer"],"created_at":"2025-01-20T06:34:30.847Z","updated_at":"2025-07-02T20:08:02.510Z","avatar_url":"https://github.com/shahriarAS.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Expressjs-auth-starter\n\nFor almost every backend app or API I have to implement complete Auth functionalities. Creating DB Schema, making routes, implementing login and etc takes a long time of my whole project. That's why I though that why not I make a starter project with all auth features and just clone it when I need? From this thought I build this starter project.\n\n**Auth Features:**\n\n 1. Sign Up\n 2. Login\n 3. Email Verification ( Gmail )\n 4. Reset Password\n 5. Change Password\n 6. **Test Included ( Jest + Supertest )**\n\n**User Schema Field**\n 1. Username\n 2. Email\n 3. Password\n 4. User Role ( Admin/Customer )\n 5. Active ( True/False )\n 6. Verified ( True/False )\n 7. Random String ( For Verification Purpose )\n 8. Created At\n 9. Updated At\n\n**Tech Stack** \n 1. NodeJs\n 2. ExpressJs\n 3. MongoDB\n\n**Packages** \n 1. bcrypt\n 2. cors\n 3. dotenv\n 4. googleapis\n 5. jsonwebtoken\n 6. mongodb\n 7. mongoose\n 8. nodemailer\n 9. nodemon\n10. jest\n11. supertest\n\n## **How to use?**\n\n 1. Clone this repo.\n 2. Go to the directory.\n 3. Make a .env file.\n 4. Open .env.example file and copy everything from this file.\n 5. Paste copied text to just created .env file\n 6. Fill necessary variable. ( How to get CLIENT_ID, CLEINT_SECRET etc ?? Follow this [link](https://docs.google.com/document/d/e/2PACX-1vSC-d9T5kRDn-J8iem57OXC5fK5KU1m8SZNinxPcU4b4qBTET7PWhWaN6lSTvdAKYPiP81oIudvEraB/pub) )\n 8. Use `yarn install` or `npm install` command\n 9. Use `yarn dev` or `npm dev` command.\n\n**N.B: Your test may fail, take a look and change necessary value to pass.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshahriaras%2Fexpressjs-auth-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshahriaras%2Fexpressjs-auth-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshahriaras%2Fexpressjs-auth-starter/lists"}