{"id":13533307,"url":"https://github.com/youneshenniwrites/ReactNativeAuth","last_synced_at":"2025-04-01T21:32:12.837Z","repository":{"id":123712213,"uuid":"164239755","full_name":"youneshenniwrites/ReactNativeAuth","owner":"youneshenniwrites","description":"Mobile user authentication flow with React Native, Expo, and AWS Amplify: Sign In, Sign Up, Confirm Sign Up, Forget Password, Reset Password.","archived":false,"fork":false,"pushed_at":"2020-02-21T21:28:19.000Z","size":638,"stargazers_count":126,"open_issues_count":0,"forks_count":39,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-05-21T13:58:49.297Z","etag":null,"topics":["appsync","asyncstorage","authentication-flow","aws-amplify","aws-amplify-react-native","aws-cloudformation","aws-cognito","aws-lambda","expo","javascript","mobile-development","native-base","nativebase","react-native","react-navigation","serverless","signing","signup","web-application"],"latest_commit_sha":null,"homepage":"","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/youneshenniwrites.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}},"created_at":"2019-01-05T18:12:11.000Z","updated_at":"2024-01-30T09:14:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"fadfbb16-646f-49d4-b1ca-4123cacb178e","html_url":"https://github.com/youneshenniwrites/ReactNativeAuth","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youneshenniwrites%2FReactNativeAuth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youneshenniwrites%2FReactNativeAuth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youneshenniwrites%2FReactNativeAuth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youneshenniwrites%2FReactNativeAuth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/youneshenniwrites","download_url":"https://codeload.github.com/youneshenniwrites/ReactNativeAuth/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246713344,"owners_count":20821875,"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":["appsync","asyncstorage","authentication-flow","aws-amplify","aws-amplify-react-native","aws-cloudformation","aws-cognito","aws-lambda","expo","javascript","mobile-development","native-base","nativebase","react-native","react-navigation","serverless","signing","signup","web-application"],"created_at":"2024-08-01T07:01:18.556Z","updated_at":"2025-04-01T21:32:12.320Z","avatar_url":"https://github.com/youneshenniwrites.png","language":"JavaScript","funding_links":[],"categories":["Example Projects","JavaScript"],"sub_categories":["Other blogs \u0026 tutorials"],"readme":"# React Native Authentication App\n\n![overview](https://user-images.githubusercontent.com/26605247/54226053-e23f0280-44f4-11e9-9289-8cff19a18850.png)\n\nComplete user authentication flow for mobile applications with React Native, Expo, AWS Amplify, react-navigation, and native-base.\n\n## Overview\n\nThe technologies used in this app are the following:\n\n* Navigation is done with: [react-navigation](https://reactnavigation.org/).\n\n* Front end: [Expo](https://docs.expo.io/versions/latest/workflow/expo-cli/).\n\n* Layout: [native-base](https://docs.nativebase.io/).\n\n* Back end: [AWS Amplify](https://aws-amplify.github.io/).\n\n## Authentication flow\n\n* Users are taken to the welcome screen.\n\n* Users can sign up, sign in, request a password change, navigate between screens.\n\n* International phone input is included in the sign up screen.\n\n* Users are redirected to the home screen after log in. \n\n* Users can navigate between screens using the bottom tab navigator or the drawer navigator.\n\n* Users are kept logged in until they sign out from the app.\n\n## Prerequisites\n\n* [Expo CLI](https://docs.expo.io/versions/latest/workflow/expo-cli/)\n  * `npm install -g expo-cli`\n  \n* [AWS account](https://aws.amazon.com/amplify/)\n\n* [Node JS](https://nodejs.org/en/download/) with [NPM](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)\n\n* [AWS Amplify CLI](https://aws-amplify.github.io/)\n  * `npm install -g @aws-amplify/cli`\n  * `amplify configure` ([link](https://www.youtube.com/watch?v=fWbM5DLh25U) for a step by step video).\n\n## Configuring the project\n\n1. Clone this repo to your local machine.\n\n```\ngit clone https://github.com/yhenni1989/ReactNativeAuth.git\n\ncd ReactNativeAuth\n```\n\n2. Initialise the AWS Amplify project.\n\n```\namplify init\n```\n\nFollow the same instructions as below.\n\n\u003cimg width=\"725\" alt=\"init\" src=\"https://user-images.githubusercontent.com/26605247/54290045-2f2ce280-45a2-11e9-9fe2-3e77b0a29977.png\"\u003e\n\n3. Configure an Amazon Cognito User Pool to store users credentials.\n\n```\namplify add auth\n\n# When prompt, choose: Yes, use the default configuration.\n```\n\n4. Time to deploy your project to AWS.\n\n```\namplify push\n\nAre you sure you want to continue? Yes\n```\n\nAfter few minutes of automated operations, the Amplify CLI will create an Amazon Cognito User Pool and Identity Pool to store users crendentials.\n\n## Running the application\n\n1. Install client dependencies.\n\n```\nyarn\n\n# or\n\nnpm install\n```\n\n2. Launch the React Native app in your simulator under your project directory.\n\n```\nexpo start --ios\n\n# or\n\nexpo start --android\n```\n\n## Step by step tutorial\n\n* A full series of articles detailing the building process of this app can be found [here.](https://bit.ly/2RTv0ok)\n\n* A demo video of the authentication flow is found [here.](https://bit.ly/2ubL8Et)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyouneshenniwrites%2FReactNativeAuth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyouneshenniwrites%2FReactNativeAuth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyouneshenniwrites%2FReactNativeAuth/lists"}