{"id":25188632,"url":"https://github.com/montasim/authentication-microservice","last_synced_at":"2025-10-27T22:13:43.994Z","repository":{"id":255834805,"uuid":"849517981","full_name":"montasim/authentication-microservice","owner":"montasim","description":null,"archived":false,"fork":false,"pushed_at":"2024-09-18T06:45:32.000Z","size":1522,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T20:36:44.557Z","etag":null,"topics":["authentication","authentication-backend","login","logout","request-new-password","resend-email-verification","reset-password","signup","verify"],"latest_commit_sha":null,"homepage":"https://authentication-mocha-three.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/montasim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-29T18:23:02.000Z","updated_at":"2024-09-09T16:44:45.000Z","dependencies_parsed_at":"2024-09-09T18:07:01.830Z","dependency_job_id":null,"html_url":"https://github.com/montasim/authentication-microservice","commit_stats":null,"previous_names":["montasim/authentication","montasim/authentication-microservice"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/montasim%2Fauthentication-microservice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/montasim%2Fauthentication-microservice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/montasim%2Fauthentication-microservice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/montasim%2Fauthentication-microservice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/montasim","download_url":"https://codeload.github.com/montasim/authentication-microservice/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247157276,"owners_count":20893221,"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","authentication-backend","login","logout","request-new-password","resend-email-verification","reset-password","signup","verify"],"created_at":"2025-02-09T20:29:33.924Z","updated_at":"2025-10-27T22:13:43.888Z","avatar_url":"https://github.com/montasim.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[//]: # 'AUTHENTICATION MICROSERVICE'\r\n\r\n# \u003cimg loading=\"lazy\" src=\"https://readme-typing-svg.demolab.com?font=Poppins\u0026weight=700\u0026size=24\u0026duration=1\u0026pause=1\u0026color=EB008B\u0026center=true\u0026vCenter=true\u0026repeat=false\u0026width=400\u0026height=40\u0026lines=AUTHENTICATION+MICROSERVICE\" alt=\"AUTHENTICATION MICROSERVICE\" /\u003e\r\n\r\n[//]: # '\u003c!-- GitHub actions badges start --\u003e'\r\n[//]: # '\u003cdiv\u003e'\r\n[//]: # '    \u003cimg loading=\"lazy\" alt=\"Continuous Integration\" src=\"https://github.com/montasim/authentication-microservice/actions/workflows/ci.yml/badge.svg?labelColor=EB008B\u0026color=00B8B5\"\u003e'\r\n[//]: # '    \u003cimg loading=\"lazy\" alt=\"Build on Merge\" src=\"https://github.com/montasim/authentication-microservice/actions/workflows/build-on-merge.yml/badge.svg?labelColor=EB008B\u0026color=00B8B5\"\u003e'\r\n[//]: # '    \u003cimg loading=\"lazy\" alt=\"Automated Release Workflow for PR Merges\" src=\"https://github.com/montasim/authentication-microservice/actions/workflows/create-release.yml/badge.svg?labelColor=EB008B\u0026color=00B8B5\"\u003e'\r\n[//]: # '\u003c/div\u003e'\r\n[//]: # '\u003c!-- GitHub actions badges end --\u003e'\r\n\r\n\u003c!-- repository summary badges start --\u003e\r\n\u003cdiv\u003e\r\n    \u003cimg alt=\"Wakatime coding time badge\" src=\"https://wakatime.com/badge/user/bb224c90-7cb7-4c45-953e-a9e26c1cb06c/project/018e21fa-6cc2-477a-be0c-b5e44ca67f1c.svg?labelColor=EB008B\u0026color=00B8B5\"\u003e\r\n    \u003cimg alt=\"GitHub release\" src=\"https://img.shields.io/github/release/montasim/authentication-microservice?labelColor=EB008B\u0026color=00B8B5\"\u003e\r\n    \u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/montasim/authentication-microservice?labelColor=EB008B\u0026color=00B8B5\"\u003e\r\n    \u003cimg alt=\"GitHub commit activity\" src=\"https://img.shields.io/github/commit-activity/w/montasim/authentication-microservice?labelColor=EB008B\u0026color=00B8B5\"\u003e\r\n    \u003cimg alt=\"GitHub contributors\" src=\"https://img.shields.io/github/contributors/montasim/authentication-microservice?labelColor=EB008B\u0026color=00B8B5\"\u003e\r\n    \u003cimg alt=\"GitHub repo file count\" src=\"https://img.shields.io/github/directory-file-count/montasim/authentication-microservice?labelColor=EB008B\u0026color=00B8B5\"\u003e\r\n    \u003cimg alt=\"GitHub repo size\" src=\"https://img.shields.io/github/repo-size/montasim/authentication-microservice?labelColor=EB008B\u0026color=00B8B5\"\u003e\r\n    \u003cimg alt=\"GitHub license\" src=\"https://img.shields.io/github/license/montasim/authentication-microservice?labelColor=EB008B\u0026color=00B8B5\"\u003e\r\n\u003c/div\u003e\r\n\u003c!-- repository summary badges end --\u003e\r\n\r\n\u003cbr/\u003e\r\n\r\n[//]: # 'CONTENTS'\r\n\r\n## \u003cimg loading=\"lazy\" src=\"https://readme-typing-svg.demolab.com?font=Poppins\u0026weight=700\u0026size=20\u0026duration=1\u0026pause=1\u0026color=00B8B5\u0026center=true\u0026vCenter=true\u0026repeat=false\u0026width=120\u0026height=40\u0026lines=CONTENTS:\" alt=\"CONTENTS:\" /\u003e\r\n\r\n1. [FEATURES](#1-features)\r\n2. [PREREQUISITES](#2-prerequisites)\r\n3. [SETUP](#3-setup)\r\n4. [RUNNING THE SCRIPT](#4-running-the-script)\r\n5. [ERROR HANDLING](#5-error-handling)\r\n6. [HOSTING](#6-hosting)\r\n7. [USED PACKAGES](#7-used-packages)\r\n8. [TOOLS](#8-tools)\r\n9. [ARTICLES](#9-articles)\r\n10. [DO NOT FORGET TO DO](#10-do-not-forget-to-do)\r\n11. [TUTORIALS](#11-tutorials)\r\n12. [INSPIRATIONS](#12-inspirations)\r\n13. [CONTRIBUTE](#13-contribute)\r\n14. [CONTRIBUTORS](#14-contributors)\r\n15. [SPECIAL THANKS](#15-special-thanks)\r\n16. [LICENSE](#16-license)\r\n17. [CONTACT](#17-contact)\r\n\r\n\u003cbr/\u003e\r\n\r\n[//]: # '1. FEATURES'\r\n\r\n## \u003cimg loading=\"lazy\" src=\"https://readme-typing-svg.demolab.com?font=Poppins\u0026weight=700\u0026size=20\u0026duration=1\u0026pause=1\u0026color=00B8B5\u0026center=true\u0026vCenter=true\u0026repeat=false\u0026width=120\u0026height=40\u0026lines=1.+FEATURES\" alt=\"1. FEATURES\" id=\"1-features\" /\u003e\r\n\r\n1. Signup\r\n2. Verify email\r\n3. Resend email verification\r\n4. Request new password\r\n5. Reset password\r\n6. Login\r\n7. Logout\r\n\r\n\u003cbr/\u003e\r\n\r\n[//]: # '2. PREREQUISITES'\r\n\r\n## \u003cimg loading=\"lazy\" src=\"https://readme-typing-svg.demolab.com?font=Poppins\u0026weight=700\u0026size=20\u0026duration=1\u0026pause=1\u0026color=00B8B5\u0026center=true\u0026vCenter=true\u0026repeat=false\u0026width=168\u0026height=40\u0026lines=2.+PREREQUISITES\" alt=\"2. PREREQUISITES\" id=\"2-prerequisites\" /\u003e\r\n\r\n\u003cbr/\u003e\r\n\r\n[//]: # '3. SETUP'\r\n\r\n## \u003cimg loading=\"lazy\" src=\"https://readme-typing-svg.demolab.com?font=Poppins\u0026weight=700\u0026size=20\u0026duration=1\u0026pause=1\u0026color=00B8B5\u0026center=true\u0026vCenter=true\u0026repeat=false\u0026width=80\u0026height=40\u0026lines=3.+SETUP\" alt=\"3. SETUP\" id=\"3-setup\" /\u003e\r\n\r\n1. **Clone the repository and navigate to the directory:**\r\n\r\n    ```bash\r\n    git clone https://github.com/montasim/authentication-microservice.git\r\n    cd authentication\r\n    ```\r\n\r\n2. **Install the dependencies:**\r\n\r\n    ```bash\r\n    yarn install\r\n    ```\r\n\r\n3. **Configuring the Environment:**\r\n\r\n    Create a `.env.development` or `.env.staging` or `.env.production` file in the root directory of the project and populate it with the necessary environment variables. See the [.env.example](.env.example) file for an example.\r\n\r\n\u003cbr/\u003e\r\n\r\n[//]: # '4. RUNNING THE SCRIPT'\r\n\r\n## \u003cimg loading=\"lazy\" src=\"https://readme-typing-svg.demolab.com?font=Poppins\u0026weight=700\u0026size=20\u0026duration=1\u0026pause=1\u0026color=00B8B5\u0026center=true\u0026vCenter=true\u0026repeat=false\u0026width=230\u0026height=40\u0026lines=4.+RUNNING+THE+SCRIPT\" alt=\"4. RUNNING THE SCRIPT\" id=\"4-running-the-script\" /\u003e\r\n\r\n1. **Running the Application:**\r\n\r\n    To start the application in development mode, use:\r\n\r\n    ```bash\r\n    yarn dev\r\n    ```\r\n\r\n    This will run the server with nodemon, automatically restarting when any changes are made.\r\n\r\n2. **To build and run the application in production mode, use:**\r\n\r\n    ```bash\r\n    yarn start\r\n    ```\r\n\r\n    This will build the application and start the server using the built files.\r\n\r\n    This script first builds the project by linting the code, fixing lint issues, running prettier, and then starts the application with pm2.\r\n\r\n3. **Testing:**\r\n\r\n    To run the tests configured with Jest, use:\r\n\r\n    ```bash\r\n    yarn test\r\n    ```\r\n\r\n    This will build the project and then run all the Jest tests.\r\n\r\n4. **Linting and Code Formatting:**\r\n\r\n    - To check for linting errors:\r\n\r\n        ```bash\r\n        yarn lint:check\r\n        ```\r\n\r\n    - To fix linting errors:\r\n\r\n        ```bash\r\n        yarn lint:fix\r\n        ```\r\n\r\n    - To check if files are formatted correctly:\r\n\r\n        ```bash\r\n        yarn prettier:check\r\n        ```\r\n\r\n    - To format files:\r\n\r\n        ```bash\r\n        yarn prettier:fix\r\n        ```\r\n\r\n5. **Generating Documentation:**\r\n\r\n    To generate code documentation with JSDoc, run:\r\n\r\n    ```bash\r\n    yarn generate-docs\r\n    ```\r\n\r\n    This will create documentation based on your JSDoc comments.\r\n\r\n6. **Release Management:**\r\n\r\n    To create a new release, you can use:\r\n\r\n    ```bash\r\n    yarn release\r\n    ```\r\n\r\n    This will automatically bump the version, update the CHANGELOG, and create a commit and a tag.\r\n\r\n    For minor or major releases:\r\n\r\n    ```bash\r\n    yarn release:minor\r\n    yarn release:major\r\n    ```\r\n\r\n7. **Cleanup:**\r\n\r\n    To clean up dependencies and rebuild the project:\r\n\r\n    ```bash\r\n    yarn clean\r\n    ```\r\n\r\n    This command initializes the auto cleanup process and then forces a rebuild.\r\n    \u003cbr/\u003e\r\n\r\n### Docker\r\n\r\n1. **Build the Docker Compose Services:**\r\n\r\n    ```bash\r\n    yarn docker:build-dev\r\n    ```\r\n\r\n2. **Run the Docker Compose Services:**\r\n\r\n    ```bash\r\n    yarn docker:run-dev\r\n    ```\r\n\r\n3. **Stop the Containers:**\r\n\r\n    ```bash\r\n    yarn docker:stop-dev\r\n    ```\r\n\r\n4. **Rebuild the Containers:**\r\n\r\n    ```bash\r\n    yarn docker:rebuild-dev\r\n    ```\r\n\r\n[//]: # '5. ERROR HANDLING'\r\n\r\n## \u003cimg loading=\"lazy\" src=\"https://readme-typing-svg.demolab.com?font=Poppins\u0026weight=700\u0026size=20\u0026duration=1\u0026pause=1\u0026color=00B8B5\u0026center=true\u0026vCenter=true\u0026repeat=false\u0026width=195\u0026height=40\u0026lines=5.+ERROR+HANDLING\" alt=\"5. ERROR HANDLING\" id=\"5-error-handling\" /\u003e\r\n\r\n\u003cbr/\u003e\r\n\r\n[//]: # '6. HOSTING'\r\n\r\n## \u003cimg loading=\"lazy\" src=\"https://readme-typing-svg.demolab.com?font=Poppins\u0026weight=700\u0026size=20\u0026duration=1\u0026pause=1\u0026color=00B8B5\u0026center=true\u0026vCenter=true\u0026repeat=false\u0026width=112\u0026height=40\u0026lines=6.+HOSTING\" alt=\"6. HOSTING\" id=\"6-hosting\" /\u003e\r\n\r\n[![Deploy to Vercel](https://vercel.com/button)](https://vercel.com/import/project?template=https://github.com/montasim/authentication-microservice)\r\n\r\n\u003cdetails\u003e\r\n    \u003csummary\u003e\r\n        Step-by-step guide on setting up your own Vercel instance:\r\n    \u003c/summary\u003e\r\n\r\nVercel is the recommended option for hosting the files since it is free and easy to set up.\r\n\r\n1.  Go to [vercel.com](https://vercel.com/).\r\n2.  Click on `Log in`.\r\n    ![Login page](https://files.catbox.moe/qwqrjn.png)\r\n3.  Sign in with GitHub by pressing `Continue with GitHub`.\r\n    ![Sign in with GitHub](https://files.catbox.moe/18vwjq.png)\r\n4.  Sign in to GitHub and allow access to all repositories if prompted.\r\n5.  [Fork this repo.](https://github.com/montasim/authentication-microservice/fork)\r\n6.  Go back to your [Vercel dashboard](https://vercel.com/dashboard).\r\n7.  To import a project, click the `Add New...` button and select the `Project` option.\r\n    ![Add new project](https://files.catbox.moe/h1a87z.png)\r\n8.  Click the `Continue with GitHub` button, search for the required Git Repository and import it by clicking the `Import` button. Alternatively, you can import a Third-Party Git Repository using the `Import Third-Party Git Repository -\u003e` link at the bottom of the page.\r\n    ![Select GitHub project](https://files.catbox.moe/9ubkss.png)\r\n9.  Create a personal access token (PAT) [here](https://github.com/settings/tokens/new) and enable the `repo` and `user` permissions (this allows access to see private repo and user stats).\r\n10. Copy all the .env.development file as environment variables in the Vercel dashboard.\r\n11. Click deploy, and you're good to go. See your domains to use the API!\r\n\u003c/details\u003e\r\n\r\n\u003cbr/\u003e\r\n\r\n[//]: # '7. USED PACKAGES'\r\n\r\n## \u003cimg loading=\"lazy\" src=\"https://readme-typing-svg.demolab.com?font=Poppins\u0026weight=700\u0026size=20\u0026duration=1\u0026pause=1\u0026color=00B8B5\u0026center=true\u0026vCenter=true\u0026repeat=false\u0026width=185\u0026height=40\u0026lines=7.+USED+PACKAGES\" alt=\"7. USED PACKAGES\" id=\"7-used-packages\" /\u003e\r\n\r\n\u003cbr/\u003e\r\n\r\n[//]: # '8. TOOLS'\r\n\r\n## \u003cimg loading=\"lazy\" src=\"https://readme-typing-svg.demolab.com?font=Poppins\u0026weight=700\u0026size=20\u0026duration=1\u0026pause=1\u0026color=00B8B5\u0026center=true\u0026vCenter=true\u0026repeat=false\u0026width=85\u0026height=40\u0026lines=8.+TOOLS\" alt=\"8. TOOLS\" id=\"8-tools\" /\u003e\r\n\r\n1. [WebStorm](https://www.jetbrains.com/webstorm/)\r\n2. [Postman](https://www.postman.com/)\r\n3. [Swagify.io](https://swagify.io/convert/)\r\n\r\n\u003cbr/\u003e\r\n\r\n[//]: # '9. ARTICLES'\r\n\r\n## \u003cimg loading=\"lazy\" src=\"https://readme-typing-svg.demolab.com?font=Poppins\u0026weight=700\u0026size=20\u0026duration=1\u0026pause=1\u0026color=00B8B5\u0026center=true\u0026vCenter=true\u0026repeat=false\u0026width=115\u0026height=40\u0026lines=9.+ARTICLES\" alt=\"9. ARTICLES\" id=\"9-articles\" /\u003e\r\n\r\n1. [StackOverflow answer on file upload to Google Drive](https://stackoverflow.com/questions/65181932/how-i-can-upload-file-to-google-drive-with-google-drive-api).\r\n\r\n\u003cbr/\u003e\r\n\r\n[//]: # '10. DO NOT FORGET TO DO'\r\n\r\n## \u003cimg loading=\"lazy\" src=\"https://readme-typing-svg.demolab.com?font=Poppins\u0026weight=700\u0026size=20\u0026duration=1\u0026pause=1\u0026color=00B8B5\u0026center=true\u0026vCenter=true\u0026repeat=false\u0026width=255\u0026height=40\u0026lines=10.+DO+NOT+FORGET+TO+DO\" alt=\"10. DO NOT FORGET TO DO\" id=\"10-do-not-forget-to-do\" /\u003e\r\n\r\n\u003cbr/\u003e\r\n\r\n[//]: # '11. TUTORIALS'\r\n\r\n## \u003cimg loading=\"lazy\" src=\"https://readme-typing-svg.demolab.com?font=Poppins\u0026weight=700\u0026size=20\u0026duration=1\u0026pause=1\u0026color=00B8B5\u0026center=true\u0026vCenter=true\u0026repeat=false\u0026width=135\u0026height=40\u0026lines=11.+TUTORIALS\" alt=\"11. TUTORIALS\" id=\"11-tutorials\" /\u003e\r\n\r\n1. [Google Drive file upload tutorial](https://www.youtube.com/watch?v=bkaQTLCBBeo\u0026t=600s).\r\n\r\n\u003cbr/\u003e\r\n\r\n[//]: # '12. INSPIRATIONS'\r\n\r\n\u003cbr/\u003e\r\n\r\n[//]: # '13. CONTRIBUTE'\r\n\r\n## \u003cimg loading=\"lazy\" src=\"https://readme-typing-svg.demolab.com?font=Poppins\u0026weight=700\u0026size=20\u0026duration=1\u0026pause=1\u0026color=00B8B5\u0026center=true\u0026vCenter=true\u0026repeat=false\u0026width=155\u0026height=40\u0026lines=13.+CONTRIBUTE\" alt=\"13. CONTRIBUTE\" id=\"13-contribute\" /\u003e\r\n\r\nContributions are always welcome!\r\nPlease read the [contribution guidelines](CONTRIBUTION.md) and [contributor license agreement](CLA.md).\r\n\r\n\u003cbr/\u003e\r\n\r\n[//]: # '14. CONTRIBUTORS'\r\n\r\n## \u003cimg loading=\"lazy\" src=\"https://readme-typing-svg.demolab.com?font=Poppins\u0026weight=700\u0026size=20\u0026duration=1\u0026pause=1\u0026color=00B8B5\u0026center=true\u0026vCenter=true\u0026repeat=false\u0026width=185\u0026height=40\u0026lines=14.+CONTRIBUTORS\" alt=\"14. CONTRIBUTORS\" id=\"14-contributors\" /\u003e\r\n\r\n\u003cimg loading=\"lazy\" src=\"https://badges.pufler.dev/contributors/montasim/authentication-microservice?size=50\u0026padding=5\u0026perRow=10\u0026bots=true\" alt=\"contributors\" /\u003e\r\n\r\n\u003cbr/\u003e\r\n\r\n[//]: # '15. SPECIAL THANKS'\r\n\r\n## \u003cimg loading=\"lazy\" src=\"https://readme-typing-svg.demolab.com?font=Poppins\u0026weight=700\u0026size=20\u0026duration=1\u0026pause=1\u0026color=00B8B5\u0026center=true\u0026vCenter=true\u0026repeat=false\u0026width=195\u0026height=40\u0026lines=15.+SPECIAL+THANKS\" alt=\"15. SPECIAL THANKS\" id=\"15-special-thanks\" /\u003e\r\n\r\n\u003cbr/\u003e\r\n\r\n[//]: # '16. LICENSE'\r\n\r\n## \u003cimg loading=\"lazy\" src=\"https://readme-typing-svg.demolab.com?font=Poppins\u0026weight=700\u0026size=20\u0026duration=1\u0026pause=1\u0026color=00B8B5\u0026center=true\u0026vCenter=true\u0026repeat=false\u0026width=108\u0026height=40\u0026lines=16.+LICENSE\" alt=\"16. LICENSE\" id=\"16-license\" /\u003e\r\n\r\n[![Licence](https://img.shields.io/github/license/Ileriayo/markdown-badges?style=for-the-badge)](./LICENSE)\r\n\r\n\u003cbr/\u003e\r\n\r\n[//]: # '17. CONTACT'\r\n\r\n## \u003cimg loading=\"lazy\" src=\"https://readme-typing-svg.demolab.com?font=Poppins\u0026weight=700\u0026size=20\u0026duration=1\u0026pause=1\u0026color=00B8B5\u0026center=true\u0026vCenter=true\u0026repeat=false\u0026width=130\u0026height=40\u0026lines=17.+CONTACT\" alt=\"17. CONTACT\" id=\"17-contact\" /\u003e\r\n\r\n\u003c!-- social media links start --\u003e\r\n\u003ctable align=\"center\"\u003e\r\n    \u003cthead align=\"center\"\u003e\r\n        \u003ctr\u003e\r\n            \u003cth\u003e\r\n                \u003ca href=\"https://www.linkedin.com/in/montasim\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"linkedin.com/in/montasim\"\u003e\r\n                    \u003cimg loading=\"lazy\" alt=\"linkedin icon\" src=\"https://cdn.simpleicons.org/linkedin/EB008B\" width=\"35px\"\u003e\r\n                \u003c/a\u003e\r\n            \u003c/th\u003e\r\n            \u003cth\u003e\r\n                \u003ca href=\"https://www.github.com/montasim\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"github.com/montasim\"\u003e\r\n                    \u003cimg loading=\"lazy\" alt=\"github icon\" src=\"https://cdn.simpleicons.org/github/EB008B\" width=\"35px\"\u003e\r\n                \u003c/a\u003e\r\n            \u003c/th\u003e\r\n            \u003cth\u003e\r\n                \u003ca href=\"https://stackoverflow.com/users/20348607/montasim\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"stackoverflow.com/users/20348607/montasim\"\u003e\r\n                    \u003cimg loading=\"lazy\" alt=\"github icon\" src=\"https://cdn.simpleicons.org/stackoverflow/EB008B\" width=\"35px\"\u003e\r\n                \u003c/a\u003e\r\n            \u003c/th\u003e\r\n            \u003cth\u003e\r\n                \u003ca href=\"https://montasim-dev.web.app/\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"montasim-dev.web.app\"\u003e\r\n                    \u003cimg loading=\"lazy\" alt=\"web icon\" src=\"https://cdn.simpleicons.org/googlechrome/EB008B\" width=\"35px\"\u003e\r\n                \u003c/a\u003e\r\n            \u003c/th\u003e\r\n            \u003cth\u003e\r\n                \u003ca href=\"mailto:montasimmamun@gmail.com\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"montasimmamun@gmail.com\"\u003e\r\n                    \u003cimg loading=\"lazy\" alt=\"gmail icon\" src=\"https://cdn.simpleicons.org/gmail/EB008B\" width=\"35px\"\u003e\r\n                \u003c/a\u003e\r\n            \u003c/th\u003e\r\n            \u003cth\u003e\r\n                \u003ca href=\"https://www.facebook.com/montasimmamun/\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"facebook.com/montasimmamun\"\u003e\r\n                    \u003cimg loading=\"lazy\" alt=\"facebook icon\" src=\"https://cdn.simpleicons.org/facebook/EB008B\" width=\"35px\"\u003e\r\n                \u003c/a\u003e\r\n            \u003c/th\u003e\r\n            \u003cth\u003e\r\n                \u003ca href=\"https://x.com/montasimmamun\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"https://x.com/montasimmamun\"\u003e\r\n                    \u003cimg loading=\"lazy\" alt=\"x icon\" src=\"https://cdn.simpleicons.org/x/EB008B\" width=\"35px\"\u003e\r\n                \u003c/a\u003e\r\n            \u003c/th\u003e\r\n        \u003c/tr\u003e\r\n    \u003c/thead\u003e\r\n\u003c/table\u003e\r\n\u003c!-- social media links end --\u003e\r\n\r\n\u003cbr/\u003e\r\n\u003cbr/\u003e\r\n\u003cbr/\u003e\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmontasim%2Fauthentication-microservice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmontasim%2Fauthentication-microservice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmontasim%2Fauthentication-microservice/lists"}