![](https://private-user-images.githubusercontent.com/63868702/354927459-0710890e-f119-4d1a-888a-46499cb1fe6c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM4NzYyMzMsIm5iZiI6MTcyMzg3NTkzMywicGF0aCI6Ii82Mzg2ODcwMi8zNTQ5Mjc0NTktMDcxMDg5MGUtZjExOS00ZDFhLTg4OGEtNDY0OTljYjFmZTZjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE3VDA2MjUzM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWIyMDVjODY3ZjQwMzhjOWE2ZmQwYWI2M2UwY2Y1ODgyY2YzYTgwNjMzY2NkZGEyZTdjMjA4NzYyNThiMWRjODUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.VqeSAqyHOxaFHEMgcJfJLuqgFg5wKM7uwMdUVOJE0EA)
![](https://private-user-images.githubusercontent.com/63868702/354927488-ea92e168-0884-4b9a-8fbd-ff69a0e2e324.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM4NzYyMzMsIm5iZiI6MTcyMzg3NTkzMywicGF0aCI6Ii82Mzg2ODcwMi8zNTQ5Mjc0ODgtZWE5MmUxNjgtMDg4NC00YjlhLThmYmQtZmY2OWEwZTJlMzI0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE3VDA2MjUzM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTZkZDQwNGUyMTEzMTJiNTMwMTY4YWMxMzFjMWM2YzFkYjVhMzQ2N2JlNjljMzJmM2ViYTViM2I1YjBjY2I0NTgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.rvbNn1W6JSf-hREz9HXihjY4iH7WatjBh0loQb72DoQ)
![](https://private-user-images.githubusercontent.com/63868702/354927492-4fabd90b-6ae6-4a5b-a038-75358837a011.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM4NzYyMzMsIm5iZiI6MTcyMzg3NTkzMywicGF0aCI6Ii82Mzg2ODcwMi8zNTQ5Mjc0OTItNGZhYmQ5MGItNmFlNi00YTViLWEwMzgtNzUzNTg4MzdhMDExLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE3VDA2MjUzM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNjOTljODllOWM1M2VlNjlkZTg0NGI0ZDE5MTgwYzgyZmI1N2Y3OWRmZjBlMjdkZTg4NjUzMTAyYzQwMDRlMjMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.mHK_UozEhPhILgF_1uO7Z43k9NaIQvbhuC0OJBYC22s)
![](https://private-user-images.githubusercontent.com/63868702/354927515-8d4651d4-49b4-436d-b144-24fd3fe681ed.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM4NzYyMzMsIm5iZiI6MTcyMzg3NTkzMywicGF0aCI6Ii82Mzg2ODcwMi8zNTQ5Mjc1MTUtOGQ0NjUxZDQtNDliNC00MzZkLWIxNDQtMjRmZDNmZTY4MWVkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE3VDA2MjUzM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk5MjIxZTQ0N2VjNTIyMDY5MmI5NjM0ZjJlNTgzNDQ0MTgwZWNjZjE1MGJjMjY0ODg0NjQ1YjkxYzA0ZGU1NGMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.j7TqNOa-yh_CrltaUZvkVGJfZ_9YeU1JkIVYQTnmGO0)
Note : For API to call, API_KEY was required but it had limit of 25 requests per day which got exhausted and new api-key is not getting generated by the platform (message : Success success - redundant origins.)
Hence api-key = 'demo' has been used in the project to make it work with the api response. But Implemented proper caching to cache API responses and avoid extra API calls.
I even tried generating new API key next day, but on the very first request it gave me 25 requests exhausted.
If you wish to run the code using your own API key, please change the API key in the API calls in following files:
- AppNavigator.tsx
- DetailScreen.tsx
Note: Make sure you have completed the React Native - Environment Setup instructions till "Creating a new application" step, before proceeding.
First, you will need to start Metro, the JavaScript bundler that ships with React Native.
To start Metro, run the following command from the root of your React Native project:
# using npm
npm start
# OR using Yarn
yarn start
Let Metro Bundler run in its own terminal. Open a new terminal from the root of your React Native project. Run the following command to start your Android or iOS app:
# using npm
npm run android
# OR using Yarn
yarn android
# using npm
npm run ios
# OR using Yarn
yarn ios
If everything is set up correctly, you should see your new app running in your Android Emulator or iOS Simulator shortly provided you have set up your emulator/simulator correctly.
This is one way to run your app โ you can also run it directly from within Android Studio and Xcode respectively.
To learn more about React Native, take a look at the following resources:
- React Native Website - learn more about React Native.
- Getting Started - an overview of React Native and how setup your environment.
- Learn the Basics - a guided tour of the React Native basics.
- Blog - read the latest official React Native Blog posts.
@facebook/react-native
- the Open Source; GitHub repository for React Native.