@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
Downloads
18
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 setup
CodePush Setup:
If you don't use CodePush, you can skip this setup guide.
Open up
scripts/utils.mjs
, replaceappCenter.ownerName
value with your owner name, and replaceappCenter.appName
values 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-push
Android 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 alias
Warning 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_ALIAS
andANDROID_KEY_PASSWORD
values 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 install
to install Bundlercd ios && bundle exec pod install
to 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.