A sample React Native app to demonstrate my skills.
- Sample folder structure
- Basic Authentication screens(Login, Signup, Forgot Password) and flow
- Reusable common components, utility functions and constants
- Logger to log data more clearly using coloured logs in Chrome Debugger
- Navigation using react-navigation (v6)
- State management using redux
- Redux middleware redux-saga
- Git hooks using husky
- Staging and Production environment configurations using react-native-config
- TDD(Test-Driven Development) using jest
- (Unsecured) local data storage using AsyncStorage
- Splash screen using react-native-bootsplash
- API requests using axios
- Localization using react-native-localization
- Responsive UI using flexbox and react-native-size-matters
- Clone the repo
git clone https://github.com/ajaykumar97/sample-app-react-native.git
- Install
node_modules
if using yarn
:
yarn install
if using npm
:
npm install
- Install
pods
(if running on MacOS)
An automation script runPostInstallUninstallTasks is added into the project which will run after every npm dependency install
or uninstall
. Using this, the step 2 will automatically install the pods for iOS if you are using the MacOS. For some reason, if the step 2 will fail to install the pods, then you can mannually install the pods using:
cd ios && pod install
- Running the app
- To run Android Staging Debug:
yarn androidStagingDebug
ornpm run androidStagingDebug
- To run iOS Staging Debug:
yarn iosStagingDebug
ornpm run iosStagingDebug
- To run Android Production Debug:
yarn androidStagingDebug
ornpm run androidProductionDebug
- To run iOS Production Debug:
yarn androidStagingDebug
ornpm run iosProductionDebug
This project is created using my open-sourced react-native-template. Feel free to use it in your project or to create your own template using my this blog post. Happy coding 😃.