This project focuses on giving a clearer picture on what items are available in the My Nintendo Rewards Store, as well as gives users the option to opt-in to Notifications whenever a new item is available or old item is restocked. Rewards are shown based on the selected region.
- ReactJS
- Google Firebase
- Hosting
- Firestore
- Cloud Functions
- Cloud Messaging
- Bootstrap and react-bootstrap
- Additional Libraries
- Ensure your project is properly setup with Firebase
- Rename
.env.template
to.env
and update it with your Firebase project details - In
src/common/constants.ts
updateSITE_URL
to your site URL - Run for Development:
firebase deploy --only functions,firestore
to deploy all required cloud functions and Firestore settings- TODO: Use the
Firebase Emulator
instead
- TODO: Use the
yarn
to install all dependenciesyarn start
to start the local UI development environment
- Run for Production:
yarn && yarn build
to install all dependencies and build the UIfirebase deploy
to deploy all hosting, functions, and firestore settings
- Cloud Functions
- Each Cloud Function instance is given the minimum specs needed to properly run. One improment that would greatly recuce the function bandwidth needed for each "sync" is to find the actual My Nintendo Rewards Store API endpoint rather than just scraping the webpage
- Further teseting needs to be done to get other region stores to properly sync. Testing has been done using other regions (
europe-west2
,australia-southeast1
,northamerica-northeast1
), however changing these regions did not seem to change the item results. Note: Using different regions may come with different pricing.