- How to run
- run "npm install" in terminal
- for iOS, in terminal, run npm run ios or the following commands, cd ios && pod install && cd .. , then "react-native run-ios"
- for Android, a. copy the provided .keystore file into $root/android/app/ b. in terminal, run npm run android or react-native run-android
- Choice of Technical stack:
-
The project is using React Native version 0.60.5
-
"axios": for making remote HTTP request. Chose it over fetch is for axios': a. easier JSON parsing, b. better error handling, c. and build-in Cross Site Forgery (XSRF) protection.
-
"react-native-image-zoom-viewer": this package is used for the Multi-Image viewer which opens up when the main image is clicked on the PropertyDetailsSceen
-
"react-native-webview": this one is for the inline WebView on PropertyDetailsSceen.
-
"react-navigation": main navigator for the App
- Didn't use Redux, or even Context, because the App's structure is not complex enough to justify the overhead of introducing them.