A React Native template to bootstrap your next app!
> git clone https://github.com/IronTony/react-native-starter-app
> cd react-native-starter-app
# Install dependencies
> yarn
# if needed, setup iOS development environment
yarn setup:ios
See environment
section for how to configure env variables.
See scripts
section for how to run the app.
React Native Starter App
environments variables management is based on a custom script and the app.json
config file.
Define your environment variables inside app.json
inside the environments
object under the desired
environment key (such as development
, staging
or production
) and then run the app for the required env
using one of the available run scripts (e.g. ios:dev
).
If you want to use IDEs such Xcode or Android Studio, you have to set up the ENV variables with these commands:
yarn env:dev
, to set the development ENV variablesyarn env:stage
, to set the staging ENV variablesyarn env:prod
, to set the production ENV variables
To run the app use one of the following scripts:
-
yarn android:dev
, to start the app on Android with thedevelopment
environment variables. -
yarn android:stage
, to start the app on Android with thestaging
environment variables. -
yarn android:prod
, to start the app on Android with theproduction
environment variables. -
yarn ios:dev
, to start the app on iOS with thedevelopment
environment variables. -
yarn ios:stage
, to start the app on iOS with thestaging
environment variables. -
yarn ios:prod
, to start the app on iOS with theproduction
environment variables.
To setup the app icons:
- create an image at least
1024x1024px
- place it under
/assets
folder asicon.png
- run
yarn assets:icons
To setup the app splashscreen:
- create an image at least
1242x2208px
- place it under
/assets
folder assplashscreen.png
- run
yarn assets:splashscreen
To setup the environment to run on iOS, run
yarn setup:ios
this will run cocoapods
to install all the required dependencies.
The use of Typescript in the project is not mandatory. You can just write all your code using plain Javascript. Our hint is to create all files as below:
- files with logic and Views with
tsx
extension - files with Stylesheet and others with
ts
extension
To enable full Typescript checks, just open the tsconfig.json
file and chage as below:
"noImplicitAny": true, // set to true to be explicit and declare all types now<br/>
"strict": true, // enable it to use fully Typescript set of invasive rules<br/>
REMEMBER: the entry point file in the root of the project MUST be index.js
✅ Initial Setup
✅ Add Splashscreen (https://github.com/crazycodeboy/react-native-splash-screen)
✅ Add Toolbox (https://github.com/panz3r/react-native-toolbox)
✅ Create tree folders structure
✅ Add redux
✅ Add redux-persist
(https://github.com/rt2zz/redux-persist)
✅ Add React Native Debugger
✅ Add reselect
✅ Add redux-saga
✅ Add i18next
✅ Add react-navigation
❤️
✅ Add UI Design System (NativeBase
)
✅ Add Env
variables selection experimental way ⚗️⚗️⚗️
✅ Add Typescript (optional use. Read the DOC above)
✅ Add Travis
🚫 Add DependaBot
Thanks goes to these wonderful people (emoji key):
IronTony 🤔 💻 📖 🐛 🚧 📦 💬 👀 |
Mattia Panzeri 🤔 📖 🔧 |
This project follows the all-contributors specification. Contributions of any kind welcome!
Licensed under Mozilla Public License Version 2.0