{"id":20498227,"url":"https://github.com/theankushshah/oibsip_taskno","last_synced_at":"2025-03-05T18:59:16.970Z","repository":{"id":232014789,"uuid":"783182463","full_name":"TheAnkushshah/oibsip_taskno","owner":"TheAnkushshah","description":"In this app we're unlocking the future, your ultimate next auth v5 adventure begins now!","archived":false,"fork":false,"pushed_at":"2025-01-24T22:24:00.000Z","size":11597,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-24T22:27:59.118Z","etag":null,"topics":["app","auth","auth-app","authentication","authentication-backend","clerk","expressjs","front-end","nodejs","npm","prisma","reactjs","website"],"latest_commit_sha":null,"homepage":"https://go-verify.vercel.app/","language":"TypeScript","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/TheAnkushshah.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-04-07T06:52:58.000Z","updated_at":"2025-01-24T22:24:04.000Z","dependencies_parsed_at":"2024-04-07T12:28:54.599Z","dependency_job_id":"6b55621c-4f74-485f-99fb-5bd4d3aa5216","html_url":"https://github.com/TheAnkushshah/oibsip_taskno","commit_stats":null,"previous_names":["theankushshah/oibsip_taskno"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheAnkushshah%2Foibsip_taskno","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheAnkushshah%2Foibsip_taskno/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheAnkushshah%2Foibsip_taskno/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheAnkushshah%2Foibsip_taskno/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheAnkushshah","download_url":"https://codeload.github.com/TheAnkushshah/oibsip_taskno/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242087919,"owners_count":20069722,"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":["app","auth","auth-app","authentication","authentication-backend","clerk","expressjs","front-end","nodejs","npm","prisma","reactjs","website"],"created_at":"2024-11-15T18:13:30.181Z","updated_at":"2025-03-05T18:59:16.964Z","avatar_url":"https://github.com/TheAnkushshah.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Go-Verify\n\nReplicates Clerk, a widely used authentication and user management tool. It enables users to securely signup \u0026 login, manage their accounts, and access advanced authentication features such as multi-factor authentication, social logins, session management, and more, ensuring a seamless and secure user experience.\n\n### Preview\n\n![image](public/Preview.png)\n\n### \u003ca name=\"table\"\u003eTable of Contents\u003c/a\u003e\n\n1. [Tech Stack](#tech-stack)\n2. [Features](#features)\n3. [Getting Started](#getting-started)\n4. [Feedback](#feedback)\n5. [Contributors](#contributors)\n\n### \u003ca name=\"tech-stack\"\u003eTech Stack\u003c/a\u003e\n\n- Next.js\n- React.js\n- HTML5\n- Prisma\n- NPX\n- CSS3\n- Typescript\n- Neon - PostgreSQL\n- Next Auth\n- Resend\n- O Auth - Github \u0026 Google\n- Neon\n- Node.js\n- NPM\n- Tailwind CSS\n\n### \u003ca name=\"features\"\u003eFeatures\u003c/a\u003e\n\n-  **Next-auth v5 (Auth.js)**\n-  **Next.js 14 with server actions**\n-  **Credentials Provider**\n-  **OAuth Provider (Social login with Google \u0026 GitHub)**\n-  **Forgot password functionality**\n-  **Email verification**\n-  **Two factor verification**\n-  **User roles (Admin \u0026 User)**\n-  **Login component (Opens in redirect or modal)**\n-  **Register component**\n-  **Forgot password component**\n-  **Verification component**\n-  **Error component**\n-  **Login button**\n-  **Logout button**\n-  **Role Gate**\n-  **Exploring next.js middleware**\n-  **Extending \u0026 Exploring next-auth session**\n-  **Exploring next-auth callbacks**\n-  **useCurrentUser hook**\n-  **useRole hook**\n-  **currentUser utility**\n-  **currentRole utility**\n-  **Example with server component**\n-  **Example with client component**\n-  **Render content for admins using RoleGate component**\n-  **Protect API Routes for admins only**\n-  **Protect Server Actions for admins only**\n-  **Change email with new verification in Settings page**\n-  **Change password with old password confirmation in Settings page**\n-  **Enable/disable two-factor auth in Settings page**\n-  **Change user role in Settings page (for development purposes only)**\n\n### Prerequisites\n\n- [Git](https://git-scm.com/)\n- [Node.js](https://nodejs.org/en)\n- [npm](https://www.npmjs.com/) (Node Package Manager)\n\n### Cloning\n\n1. **Cloning:** \n\n    Run the following command in your terminal or command prompt to clone the repository to your local machine:\n\n    ```bash\n    git clone https://github.com/theankushshah/oibsip_taskno.git\n    ```\n\n2. **Navigate to the Directory:** \n    \n    Once cloned, navigate into the project directory using the `cd` command:\n\n    ```bash\n    cd oibsip_taskno\n    ```\n\n### Download\n\n1. **Download ZIP Code folder:** \n\n    Unzip the folder in your machine.\n\n2. **Navigate to the Downloaded Directory:** \n\n    Open your code editor and open the unzipped folder in it then:\n\n    ```bash\n    cd /path/to/downloaded/folder\n    ```\n\n### Cloning \u0026 Download\n\n1. **Dependencies Installation:**\n\n    ```bash\n    npm install\n    ```\n\n2. **Environment Variables \u0026 Database Setup:** \n\n    Create a new file named `.env` in the root of your project and add the following content:\n\n    ```env\n    DATABASE_URL=\n    DIRECT_URL=\n\n    AUTH_SECRET=\"secret\"\n\n    GITHUB_CLIENT_ID=\n    GITHUB_CLIENT_SECRET=\n\n    GOOGLE_CLIENT_ID=\n    GOOGLE_CLIENT_SECRET=\n\n    RESEND_API_KEY=\n    ```\n\n    Replace the placeholder values with your actual O Auth, Resend \u0026 Database credentials. You can obtain these credentials by signing up on the [Google cloud website](https://console.cloud.google.com), [Github website](https://github.com/settings/developers), [Resend website](https://resend.com) and [Neon website](https://www.neon.tech)\n\n    If you're wondering why can't we use our custom email for deep email interactions is beacuse of the tech we used in the project \"Resend\" It is a software which allows you to send emails on any cutsom email only if you connect a domain with it otherwise a Big NO, So as we had used it without the domain So, we can only send emails i mean can do deep email interactions with the email we had registered on Resend which is - codetesterteam@gmail.com\n\n3. **Database Run:**\n\n    Run the following command to run the database:\n\n    ```bash\n    npx prisma generate\n    npx prisma db push\n    npx prisma studio\n    ```\n\n    Open the ORM in your browser to view the database.\n\n4. **Running:**\n\n    ```bash\n    npm run dev\n    ```\n\n    Open [http://localhost:3000](http://localhost:3000) in your browser to view the project.\n\n5. **Start Coding:** \n\n    Feel free to edit the code according to your requirements. \n\n6. **Testing**\n\n    ```bash\n    npm test\n    ```\n\n7. **Build for Production**\n\n    ```bash\n    npm run build\n    ```\n\n### Github\n\n1. **Initialize a New Git Repository:**\n\n    ```bash\n    git init\n    ```\n\n2. **Stage and Commit the Code:**\n\n    ```bash\n    git add .\n    git commit -m \"Initial commit\"\n    ```\n\n3. **Create a New Repository on GitHub:**\n\n    Do not initialize the new repository with a README, .gitignore, or license.\n\n4. **Link Local Repository to GitHub:**\n\n    ```bash\n    git remote add origin https://github.com/username/new-repo.git\n    ```\n\n    Replace https://github.com/username/new-repo.git with your actual repository URL.\n\n5. **Push Code to GitHub:**\n\n    ```bash\n    git branch -m main\n    git pull origin main\n    git push -u origin main\n    ```\n\n6. **Deployment:** \n    \n    Deploy the application to your preferred hosting platform to make it accessible online.\n\n### Forking\n\n1. **Forking:** \n\n    Run the following command in your terminal or command prompt to fork the repository to your local machine:\n\n    ```bash\n    git clone https://github.com/your-username/oibsip_taskno.git\n    ```\n\n2. **Navigate to the Directory:** \n\n    Once cloned, navigate into the project directory using the `cd` command:\n\n    ```bash\n    cd oibsip_taskno\n    ```\n\n3. **Start Coding:** \n\n    Make the additions \u0026 desired changes to the code.\n\n4. **Commit \u0026 Push Your Changes to Your Fork:** \n\n    Once cloned, navigate into the project directory using the `cd` command:\n\n    ```bash\n    git add .\n    git commit -m \"\"\n    git pull origin main\n    git push -u origin main\n    ```\n\n5. **Create a Pull Request:**\n\n- Go to your forked repository on GitHub\n- Click the \"Compare \u0026 pull request\" button.\n- Review your changes and write a clear description of your contribution.\n- Click \"Create pull request\"\n\n    **I will review your pull request and decide whether to merge your changes into my repository or not**\n\n### \u003ca name=\"feedback\"\u003eFeedback\u003c/a\u003e\n\nYou might encounter some bugs while using this app. You are more than welcome to contribute. Just submit changes via pull request and I will review them before merging. Make sure you follow community guidelines.\n\n### \u003ca name=\"contributors\"\u003eContributors \u0026 Main\u003c/a\u003e\n\n- Ankush Shah (ankushsahvlogs@gmail.com)\n- Haven Futures (support@havenfutures.com) (Main)\n\nHappy coding!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheankushshah%2Foibsip_taskno","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheankushshah%2Foibsip_taskno","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheankushshah%2Foibsip_taskno/lists"}