@pxblue/react-native-template-authentication-typescript

A template with pre-configured login workflow and routing for React Native projects created with the PX Blue CLI.

Usage no npm install needed!

<script type="module">
  import pxblueReactNativeTemplateAuthenticationTypescript from 'https://cdn.skypack.dev/@pxblue/react-native-template-authentication-typescript';
</script>

README

Authentication Template (TypeScript)

npm (scoped)

This is an official PX Blue template used internally by the PX Blue CLI.

This template installs and configures the PX Blue react-native-auth-workflow package to automatically wrap your main application with functions and screens for Login, Registration, Change Password, etc. This uses the same configurations as the sample project for that package — you will need to replace the API integrations with implementations specific to your API. This template also includes the installation and initial setup of routing using React Navigation. It includes several placeholder routes/screens and a Drawer navigator from the PX Blue React Native Component Library.

Usage

This template can be used with the PX Blue CLI:

npx -p @pxblue/cli pxb new react-native --name=myapp --cli=rnc --language=ts --template=authentication

Project Structure

Projects created using this template will start out with the following file structure:

|── /ios                              // ios project folder
|── /android                          // android project folder
|── /actions                          
|   |── AuthUIActions.tsx             // handles the implementation of the authentication related actions (such as login and forgot password)
|   └── RegistrationUIActions.tsx     // handles the implementation of the registration related actions (such as loading the EULA and registration by invitation)
|── /assets                           // fonts and images used by the application
|── App.tsx                           // app entry point
|── /constants                          
|   |── index.ts                      // application constants
|   └── sampleEula.ts                 // sample Eula
|── /pages                            // sample application pages
|── /router                             
|   |── index.tsx                     // sets up routing
|   |── DeepLinking.ts                // sets up deep linking
|   └── navigation-drawer.tsx         // sets up Drawer
└── /store                             
    └── local-storage.ts              // mock implementation for storing/retrieving user authentication session data