{"id":23784940,"url":"https://github.com/samyak2403/firebase-otp-verifaction","last_synced_at":"2025-08-20T04:22:13.437Z","repository":{"id":253526155,"uuid":"843767807","full_name":"samyak2403/Firebase-OTP-Verifaction","owner":"samyak2403","description":"Firebase OTP Verification in Android using Kotlin","archived":false,"fork":false,"pushed_at":"2024-09-17T14:43:24.000Z","size":455,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-12T23:52:16.135Z","etag":null,"topics":["android","authentication","auto-otp","firbase-database","firebase","firebase-auth","firebase-authentication","firebase-realtime-database","firestore","kotlin","mobile-app","mvvm","otp","otp-applications","otp-generator","otp-verification","phone-verification","secure-login","sms"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","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/samyak2403.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":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-08-17T11:06:50.000Z","updated_at":"2025-04-11T06:53:52.000Z","dependencies_parsed_at":"2024-08-17T12:43:20.378Z","dependency_job_id":"9d53f70f-f1d6-4539-8a95-e91d6ffd66b9","html_url":"https://github.com/samyak2403/Firebase-OTP-Verifaction","commit_stats":null,"previous_names":["samyak2403/firebase-otp-verifaction"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/samyak2403/Firebase-OTP-Verifaction","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samyak2403%2FFirebase-OTP-Verifaction","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samyak2403%2FFirebase-OTP-Verifaction/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samyak2403%2FFirebase-OTP-Verifaction/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samyak2403%2FFirebase-OTP-Verifaction/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samyak2403","download_url":"https://codeload.github.com/samyak2403/Firebase-OTP-Verifaction/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samyak2403%2FFirebase-OTP-Verifaction/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268866869,"owners_count":24320281,"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","status":"online","status_checked_at":"2025-08-05T02:00:12.334Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["android","authentication","auto-otp","firbase-database","firebase","firebase-auth","firebase-authentication","firebase-realtime-database","firestore","kotlin","mobile-app","mvvm","otp","otp-applications","otp-generator","otp-verification","phone-verification","secure-login","sms"],"created_at":"2025-01-01T13:13:27.947Z","updated_at":"2025-08-05T09:07:57.827Z","avatar_url":"https://github.com/samyak2403.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Firebase OTP Verification in Android using Kotlin\n\nA robust Android application that integrates Firebase for OTP (One-Time Password) verification. This project provides a seamless experience for phone number authentication with auto-retrieval of OTP, resend functionality, and a user-friendly interface.\n\n## Features\n\n- **Phone Number Authentication:** Secure user authentication via OTP sent to their phone number.\n- **Auto OTP Retrieval:** Automatically retrieves the OTP from SMS for a smoother user experience.\n- **Resend OTP:** Option to resend OTP in case the original message is missed.\n- **Firebase Integration:** Utilizes Firebase Authentication for managing phone number verification.\n- **Kotlin Implementation:** Entire app built using Kotlin, following best practices and clean code architecture.\n\n## Screenshots\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"1.png\" width=\"250px\"/\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"2.png\" width=\"250px\"/\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"3.png\" width=\"250px\"/\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"4.png\" width=\"250px\"/\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd colspan=\"2\"\u003e\u003cimg src=\"5.png\" width=\"250px\"/\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n\n\n## Prerequisites\n\n- **Android Studio:** Latest version recommended.\n- **Firebase Project:** You need to have a Firebase project set up.\n- **Google Play Services:** Ensure that Google Play Services is updated on the device.\n\n## Getting Started\n\nFollow these steps to set up the project locally:\n\n### 1. Clone the Repository\n\n```bash\nhttps://github.com/samyak2403/Firebase-OTP-Verifaction.git\ncd Firebase-OTP-Verifaction-repository\n```\n\n\n# Firebase OTP Verification in Android (Kotlin)\n\nThis project demonstrates how to implement OTP (One-Time Password) verification in an Android application using Firebase Authentication.\n\n## Table of Contents\n- [Prerequisites](#prerequisites)\n- [Setup Firebase in Your Project](#setup-firebase-in-your-project)\n- [Add Required Dependencies](#add-required-dependencies)\n- [Implement OTP Verification](#implement-otp-verification)\n- [Project Structure](#project-structure)\n- [License](#license)\n\n## Prerequisites\n- Android Studio (latest version)\n- A Firebase account\n- Basic knowledge of Kotlin and Android development\n\n\n## Setup Firebase in Your Project\n\n1. **Create a Firebase Project:**\n   - Go to the [Firebase Console](https://console.firebase.google.com/).\n   - Click on **Add Project** and follow the instructions to create a new project.\n\n2. **Add Your Android App to Firebase:**\n   - In the Firebase Console, select your project and click on **Add App**.\n   - Choose **Android** and enter your app's package name.\n   - Download the `google-services.json` file and place it in the `app/` directory of your Android project.\n\n3. **Generate SHA-256 Key:**\n   - Open a terminal and run the following command:\n     ```bash\n     keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore\n     ```\n   - If prompted for a password, use `android` (default password).\n   - Copy the SHA-256 key from the output.\n   - In the Firebase Console, navigate to `Project Settings \u003e General`. Under the **Your apps** section, click on **Add Fingerprint** and paste the SHA-256 key.\n\n4. **Enable Phone Authentication:**\n   - In the Firebase Console, go to `Authentication \u003e Sign-in method`.\n   - Enable the **Phone** sign-in provider.\n\n## Add Required Dependencies\n\n1. **Add Google services classpath:**\n   - In your project-level `build.gradle` file, add the following:\n\n     ```groovy\n     buildscript {\n         repositories {\n             google()\n             mavenCentral()\n         }\n         dependencies {\n             classpath 'com.google.gms:google-services:4.3.15' // Check for the latest version\n         }\n     }\n     ```\n\n2. **Add Firebase dependencies:**\n   - In your app-level `build.gradle` file, add the Firebase dependencies:\n\n     ```groovy\n     plugins {\n         id 'com.android.application'\n         id 'kotlin-android'\n         id 'com.google.gms.google-services'\n     }\n\n     dependencies {\n         implementation platform('com.google.firebase:firebase-bom:32.0.0') // Check for the latest version\n         implementation 'com.google.firebase:firebase-auth-ktx'\n     }\n     ```\n\n   ##  Modify AndroidManifest.xml\n     Add the following permissions and receivers:\n    ```xml                     \n   \u003cuses-permission android:name=\"android.permission.RECEIVE_SMS\"/\u003e\n\u003cuses-permission android:name=\"android.permission.READ_SMS\"/\u003e\n\n\u003capplication\u003e\n    ...\n    \u003creceiver\n        android:name=\".OTP_Receiver\"\n        android:exported=\"true\"\n        android:permission=\"com.google.android.gms.auth.api.phone.permission.SEND\"/\u003e\n\u003c/application\u003e\n ``` \n\n4. **Sync your project:** After adding the dependencies, sync your project in Android Studio.\n\n\n\n## Implement OTP Verification\n\nFollow the steps below to implement OTP verification in your Android app:\n\n1. **Request OTP:**\n   - Use Firebase Authentication to send an OTP to the user's phone number.\n\n2. **Verify OTP:**\n   - Allow the user to input the OTP and verify it using Firebase Authentication.\n\nFor detailed code examples, refer to the official Firebase documentation or the project’s source code.\n\n## Project Structure:\n ```app\napp/\n├── src/main/java/app/my/otpverification/\n│   ├── OtpSendActivity.kt       # Handles sending OTP\n│   ├── OtpVerifyActivity.kt     # Handles OTP verification\n│   ├── OTP_Receiver.kt          # BroadcastReceiver for SMS retrieval\n│   └── MainActivity.kt          # Post-authentication main screen\n└── src/main/res/layout/         # XML layouts for activities\n ```\n\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamyak2403%2Ffirebase-otp-verifaction","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamyak2403%2Ffirebase-otp-verifaction","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamyak2403%2Ffirebase-otp-verifaction/lists"}