The mobile app is built on:
- a React Native (v0.60.5) application (in "ejected" mode to allow using dependencies that rely on native code)
- a clear directory layout to provide a base architecture for your application
- Redux (v4.0.1) to help manage state
- Redux Persist (v5.10.0) to persist the Redux state
- Redux Sagas (v1.0.2) to separate side-effects and logic from state and UI logic
- React Navigation (v3.11.2) with a
NavigationService
to handle routing and navigation in the app, with a splash screen setup by default - reduxsauce (v1.0.1) to facilitate using Redux
- axios to make API calls (v0.19.0)
- prettier and eslint preconfigured for React Native
App/Components
: presentational componentsApp/Config
: configuration of the applicationApp/Containers
: container components, i.e. the application's screensApp/Assets
: assets (image, audio files, ...) used by the applicationApp/Navigators
: react navigation navigatorsApp/Sagas
: redux sagasApp/Services
: application services, e.g. API clientsApp/Stores
: redux actions, reducers and storesApp/Theme
: base styles for the application
Node 8 or greater is required. Development for iOS requires a Mac and Xcode 9 or up, and will target iOS 9 and up.
Need to install the dependencies required by React Native:
- for Android development
- for iOS development
You can setup and run the project by running:
yarn install
to install the dependencies- create your configuration file
App/Config/index.js
fromindex.dev.js
(in you are in dev environment) and fill the missing values - 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
react-native run-android
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 folderyarn start
to start the metro bundler, in a dedicated terminalreact-native run-ios
to run the iOS application (remember to start a simulator or connect an iPhone phone)
This project is released under the MIT License.