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
NavigationServiceto 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 installto install the dependencies- create your configuration file
App/Config/index.jsfromindex.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/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
react-native run-androidto 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 folderyarn startto start the metro bundler, in a dedicated terminalreact-native run-iosto run the iOS application (remember to start a simulator or connect an iPhone phone)
This project is released under the MIT License.