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
NavigationServiceto 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:
yarnornpm installto 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/appkeytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000cd ../..to come back to the root folder
yarn startornpm installto start the metro bundler, in a dedicated terminalyarn run android:debug-releaseornpm run android:debug-releaseto run the Android application (remember to start a simulator or connect an Android phone)
cd iospod installto install pod dependenciescd ..to come back to the root folderreact-native run-iosto 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 ArchitectureReact Navigation 5 IntegratedRedux IntegratedRedux Saga IntegratedRedux Persist IntegratedCode-Push SDK IntegratedPush Notifications IntegratdTheme IntegratedMultilingual IntegratedSplash Screen IntegratedVector Icons IntegratedTypeScript Support