The boilerplate contains:
- React Native (v0.63.2)
- Clear directory layout to provide a base architecture for your application
- Redux (v4.0.5) to help manage state
- Redux Persist (v6.0.0) to persist the Redux state
- Redux Sagas (v1.1.3) to separate side-effects and logic from state and UI logic
- React Navigation 5 with a
NavigationService
to handle routing and navigation in the boilerplate - i18Next (v11.3.5) to facilitate the more than one language in the App
- Push Notifications integrated in the boilerplate
- Code-Push (v6.2.0) This plugin provides client-side integration for the CodePush service, allowing you to easily add a dynamic update experience to your React Native app(s).
- react-native-splash-screen (v3.2.0) setup by default
- axios to make API calls (v0.19.2)
- TypeScript configured for React Native
- prettier and eslint pre configured for React Native
Note: Custom Drawer and Custom Bottom Tabs are also part of the boilerplate.
app/components
: Presentational componentsapp/screens
: The application's screensapp/assets
: Assets (image, audio files) used by the applicationapp/i18next
: Language setup and localize used by the applicationapp/navigation
: React-Navigation settingapp/redux/store
: Redux storeapp/redux/sagas
: Redux sagasapp/redux/actions
: Redux actionsapp/redux/reducers
: Redux reducersapp/redux/connects
: Redux data connectorsapp/redux/types
: Redux action typesapp/redux/api
: application services, e.g. API clientsapp/Utils
: Styles helpers for the applicationapp/config
: Routes and Screen configurationsapp/constants
: Colors, images and common stylesapp/helpers
: Colors, images and common styles
Assuming you have all the requirements installed, you can setup and run the project by running:
yarn
ornpm install
to install the dependencies- Run the following steps for your platform
- Only the first time you run the project, you need to generate a debug key with:
cd android/app
keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000
cd ../..
to come back to the root folder
yarn start
ornpm install
to start the metro bundler, in a dedicated terminalyarn run android:debug-release
ornpm run android:debug-release
to run the Android application (remember to start a simulator or connect an Android phone)
cd ios
pod install
to install pod dependenciescd ..
to come back to the root folderreact-native run-ios
to run the iOS application (remember to start a simulator or connect an iPhone phone)
I18next is an internationalization-framework written in and for JavaScript. But it's much more than that.
i18next goes beyond just providing the standard i18n features such as (plurals, context, interpolation, format). It provides you with a complete solution to localize your product from web to mobile and desktop.
I looked into existing boilerplates before starting this project, and while many of them are awesome, But every boilerplate was lacking something, so I come up with a boilerplate that has all the features that modern app needed. For example
React Native Latest Stable Version (v0.63.2)
Great Architecture
React Navigation 5 Integrated
Redux Integrated
Redux Saga Integrated
Redux Persist Integrated
Code-Push SDK Integrated
Push Notifications Integratd
Theme Integrated
Multilingual Integrated
Splash Screen Integrated
Vector Icons Integrated
TypeScript Support