- Switch to node version 5><9 (e.g. v8.1.3).
yarn
cd ios && pod install
mkdir env
--> copy keys.json file into./env
(ask admin for file, not in repo)- Add signing certificate in Xcode UI --> splash.xcworkspace --> general
- To start the project:
react-native run-ios
If it fails due to anfsevents
error, runnpm r -g watchman brew install watchman
. It should fix it.
Description and locations of relevant files
- Configuration of app icons and launch image assets
- integration of native packages with RN
- App facing settings
- animations (JSON Lottie animations)
- fonts
- icons
- images
each screen in the app is in the components folder. most are folders with the presentational component (named after the screen name) and an index.js file which defines the redux properties and data that flows into the presentational component (see https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0)
organized by flow...
-
Landing
-
ChooseSplashtag
-
EnterPhoneNumber
-
VerifyPhoneNumber
-
EnterAmount
-
SendTo
-
ScanQrCode.js
- SwipeApp
Container view for Account, Home, and Wallet screens. The shared header is defined in this folder.
-
Account
-
Home
-
Wallet
- Modals
Defines modal containers and ModalRoot.js which allows for the modals to be called in a redux action.
- ApproveCardModal
- ApproveTransactionModal
- ViewTransactionModal
-
Unlock
-
SetPasscode
-
UpdateUsername
- universal
Contains smaller components used across a variety of screens.
- colors.js
- cryptos.js
- styles.js
Each folder in redux has two files: reducer.js and actions.js. The latter utilizes to apis in combination with various states to call the appropriate redux action. The reducer file specifies an initial state and dictates the specific updates to state an action will fire.
- crypto
- onboarding
- transactions
- user
- modal.js
- payflow.js
- configures redux state tracking as well
- Sentry middleware
- interface for calling information from Splash database
- Includes all bitcoin related api functions
- Includes all ethereum related api functions
- configures code push and sentry
- contains the router
- provides logic for login
- defines routing structure of the app
- configures screen transitions and options