@purrseus/react-native-template
v0.6.0
Published
Clean, efficient, and scalable React Native template with pre-configured common set of packages to quick-start a new app
Maintainers
Readme
:seedling: React Native Template
Clean, efficient, and scalable React Native template with pre-configured common set of packages to quick-start a new app.
:bookmark: Table Of Contents
:star2: Key Features
- Using Typescript
- Folder-by-feature structure
- Dark mode support
- A minimal UI kit built with tailwindcss
- Internationalization framework using I18next
- Lint commit messages using Commitlint
- Multiple environment configurations using React Native Config
- Client-state management using Zustand
- Server-state management using React Query
- Local storage using MMKV
- Routing and navigation using React Navigation
- API requests using Axios
- Debug tool using Flipper
- Schema validation using Zod
- OTA update using CodePush
- FlashList, React Native Reanimated, React Native Gesture Handler and more
:grey_exclamation: Requirements
Make sure that you have followed the environment setup instructions properly from the official React Native docs.
:zap: Usage
npx react-native init MyApp --template @purrseus/react-native-template:gear: Setup
Run setup command:
yarn setupCodePush Setup:
If you don't use CodePush, you can skip this setup guide.
Open up
scripts/utils.mjs, replaceappCenter.ownerNamevalue with your owner name, and replaceappCenter.appNamevalues with your app names.Add App Secret Key and Code Push Deployment Key into AppCenter variables in your
environments/.env.*files.Run this command to create AppCenter config file for both platform directories:
yarn setup:code-pushAndroid Setup:
- Go to
android/app, generate a keystore file:
sudo keytool -genkey -v -keystore development.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
# replace "development" for your environment, and replace "my-key-alias" for your aliasWarning If you build android app in a specific environment without corresponding keystore, you will get a error that you are missing a keystore.
- In
environments/.env.*files, editANDROID_STORE_PASSWORD,ANDROID_KEY_ALIASandANDROID_KEY_PASSWORDvalues to your selected values in the keystore file.
iOS Setup:
No additional steps are necessary.
:hammer_and_wrench: Troubleshooting
Once again, make sure that you have followed the environment setup instructions properly from the official docs.
Problems with Ruby versions
This error seems to originate from the CLI, it has problems comparing between the global Ruby version on your local machine and the Ruby version requested in the Gemfile file. To fix this error, try to reinstall the dependencies following the steps below:
cd <project-name>to navigate to your RN project.bundle installto install Bundlercd ios && bundle exec pod installto install the iOS dependencies.
:deciduous_tree: Project Structure
See Project Structure.
:page_with_curl: Scripts
See Available Scripts.
:page_facing_up: License
This project is MIT licensed.
