This template follows a very simple project structure:
src
: This folder is the main container of all the code inside your application.assets
: Asset folder to store all images, vectors, etc.components
: Folder to store any common component that you use through your app (such as a generic button)constants
: Folder to store any kind of constant that you have.localization
: Folder to store the languages files.navigation
: Folder to store the navigators.reducers
: This folder should have all your reducers, and expose the combined result using itsindex.js
screens
: Folder that contains all your application screens/features.Screen
: Each screen should be stored inside its folder and inside it a file for its code and a separate one for the styles and tests.Screen.js
Screen.styles.js
Screen.test.js
storage
: Folder that contains the application storage logic.theme
: Folder to store all the styling concerns related to the application theme.App.js
: Main component that starts your whole app.index.js
: Entry point of your application as per React-Native standards.
These are the steps to generate .apk
, .aab
and .ipa
files
- Generate an upload key
- Setting up gradle variables
- Go to the android folder
- Execute
./gradlew assemble[Env][BuildType]
Note: You have three options to execute the project
assemble:
Generates an apk that you can share with others.
install:
When you want to test a release build on a connected device.
bundle:
When you are uploading the app to the Play Store.
For more info please go to https://reactnative.dev/docs/signed-apk-android
- Go to the Xcode
- Select the schema
- Select 'Any iOS device' as target
- Product -> Archive
For more info please go to https://reactnative.dev/docs/publishing-to-app-store
For coding styling, we decided to go with ESLint and React Native community's styleguide.