Price tracker monitors of products and alerts you when prices drop. Supported tiki.vn, shopee, lotte.vn, ... Built with firebase https://pricetrack.web.app
Auto collect, visualize and alert for product items.
Live: https://pricetrack.web.app or https://tracker.duyet.net
Support
Set up Node.js and the Firebase CLI You'll need a Node.js environment. This project is written with Nodejs 8.x. After that, install the Firebase CLI via npm:
npm install -g firebase-tools
To initialize project: Run firebase login
to log in via the browser and authenticate the firebase tool.
Setup packages: cd functions/ && npm install
Go to https://console.firebase.google.com and create new project.
Setup env variables, copy and modify env.example.sh
to env.local.sh
firebase functions:config:set pricetrack.sentry_dsn=https://[email protected]/1362210
firebase functions:config:set pricetrack.cronjob_key=696969
firebase functions:config:set pricetrack.api_key=xxxxxxooooooKMgWKRhUdY91
firebase functions:config:set pricetrack.admin_token=xxxxxxxxxx
firebase functions:config:set [email protected]
firebase functions:config:set pricetrack.gmail_password=xxxxxxxxxx
firebase functions:config:set pricetrack.hosting_url=https://tracker.duyet.net
firebase functions:config:set pricetrack.accesstrade_deeplink_base=https://fast.accesstrade.com.vn/deep_link/4557459014401077484
firebase functions:config:set [email protected]
firebase functions:config:set pricetrack.worker_custom_domain=
Run: bash ./env.local.sh
Test in local: https://firebase.google.com/docs/functions/local-emulator
firebase functions:config:get > functions/.runtimeconfig.json
firebase serve
cd hosting && npm run develop
Deploy serverless functions and hosting to Firebase
firebase deploy
You can also start this project locally via: firebase serve
All functions will be list at Firebase Dashboard:
Test your API
Add new URL: https://<your-project>.cloudfunctions.net/addUrl?url=<your-url>
List: https://<your-project>.cloudfunctions.net/listUrls
Pull data: https://<your-project>.cloudfunctions.net/pullData?url=<your-url>
Query in raw data: https://<your-project>.cloudfunctions.net/query?url=<your-url>&fields=datetime,price&limit=100
Check out the UI: https://tracker.duyet.net
pullData
to another services (worker.dev
, Google App Scripts, ...) to reduce cost.BUY
, Add to cart
, ...