- Node.js > 12 and npm (Recommended: Use nvm)
- Watchman
- Xcode 12
- Cocoapods 1.10.1
- JDK > 11
- Android Studio and Android SDK
- axios for networking.
- react-navigation navigation library.
- redux for state management.
- redux-persist as persistance layer.
- jest and react-test-renderer for testing.
- Go to your project's root folder and run
npm install
. - If you are using Xcode 12.5 or higher got to /ios and execute
pod install --
repo-update` - Run
npm run ios
ornpm run android
to start your application!
(Using yarn: yarn ios
or yarn android
)
This template follows a very simple project structure:
src
: This folder is the main container of all the code inside your application.services
: This folder contains all actions that can be dispatched to redux.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.navigation
: Folder to store the navigators.screens
: Folder that contains all your application screens.store
: Folder to put all redux middlewares and the store. and This folder should have all your reducers, and expose the combined result using itsindex.ts
utils
: Folder to store tests-related utilities and components.theme
: Folder to store all the styling concerns related to the application theme.
App.tsx
: Main component that starts your whole app.index.js
: Entry point of your application as per React-Native standards.