Skip to content
AdamJeddyPublic

About

Tool to keep track of prices

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Qeemat

Qeemat social preview

Qeemat is an Android-first, local-first price tracker for UAE shopping sites and selected Amazon regional domains. It is built with React Native and TypeScript, stores data in AsyncStorage, and uses Android WorkManager and local notifications for best-effort background checks.

Current MVP

  • Add a supported product URL, confirm its parsed details, and track it locally with price snapshots.
  • Clean tracking URLs before saving and fetching. Recognised Amazon links are normalized to a stable /dp/<ASIN> URL.
  • Show watchlist cards, price history, activity events, price-change indicators, and out-of-stock status while preserving the last known price.
  • Check a product or all products manually; choose daily, every-three-days, or weekly checking and price-drop, any-change, or target-price alerts.
  • Set a minimum AED price-drop threshold, receive back-in-stock alerts, and choose both controls per tracker.
  • Open or copy a cleaned product link from product detail.
  • Share a product URL from an Android browser directly to Qeemat; the add flow identifies and loads it automatically.
  • Select and save an exact in-stock, source-defined variant when a product page reliably provides one. Stores without that evidence remain page-level.
  • Centrepoint size controls and current color-only products retain their source identifiers and exact product URL for later checks.
  • Namshi size selections, The Deal color and size combinations, and Sharaf DG linked configurations retain the source URL needed to recheck the exact saved option.
  • Organize products with local folders, archive inactive items, and filter a multi-store watchlist by store or folder. Sort it by recency, price, drop, target proximity, or name.
  • Select products in bulk to move them to a folder, pause/resume tracking, archive/restore, or delete them.
  • Review local price insights including recorded low, high, average, and distance from the historical high; tap the chart to inspect individual snapshots.
  • Discover products in the opening For you feed, personalize by interests/brands/category budgets, filter without leaving the page, and track with verified product options. Source URLs, coverage and limits.
  • Run best-effort Android background checks with local alerts, notification/battery-optimization guidance, and run diagnostics.
  • Reflow cards, previews, details, and settings controls on compact phone widths and when large system text reduces available space.

Supported stores:

  • Carrefour UAE (seller-specific tracking and discovery across grocery and non-food departments)
  • Noon UAE
  • Nike UAE
  • Sun & Sand Sports UAE
  • Level Shoes
  • AYM Accessories
  • Ounass UAE
  • Amazon (selected regions)
  • Adidas UAE
  • PUMA UAE
  • Decathlon UAE
  • Salomon GCC
  • Sephora UAE
  • Faces UAE
  • Centrepoint UAE
  • Namshi UAE
  • The Deal UAE
  • Sharaf DG UAE

Brands For Less is an experimental integration and remains hidden from the supported-store UI because Cloudflare blocks reliable fetching. See BFL integration.

Documentation

Start with docs/current-state.md for the current implementation and limitations.

Development

npm install
npm run start
npm run android:device

Useful checks:

npm run typecheck
npm run lint
npm test -- --runInBand

Android Notes

Open android/ in Android Studio to sync, build, and run on a device or emulator. Terminal builds require JDK 17+ (Android Studio's bundled JBR is acceptable) and adb from Android SDK platform-tools.

Android 13+ requires runtime notification permission before local alerts can appear. Background timing is controlled by WorkManager and the device, so Qeemat does not promise an exact run time.

About

Tool to keep track of prices

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages