Overview
Automated daily price checks for dental suppliers. For each supplier, at 20:00 in that supplier's timezone, the service loads internal prices, fetches live prices through an API or a Playwright scraper, normalises GST, writes an Excel diff, stores the run in PostgreSQL and emails the team when the mismatch rate crosses a threshold or a fetch fails. A React dashboard reads the same API.
01
SchedulerRuns at 20:00 in each supplier's timezone
02
Load internal catalogueCurrent internal prices per supplier
03
Fetch live pricesRegistered API or Playwright connector
04
Normalise & compareGST normalisation, discount handling, Excel diff
05
Persist the runComparison runs & alert history in PostgreSQL
06
AlertEmail when mismatch rate crosses a threshold or a fetch fails
My contribution
- Reviewed pull requests for the FastAPI pricing-verification service that compares internal catalogue prices with live supplier prices and alerts on mismatch thresholds.
- Contributed to backend structure: service-layer refactors, connector registration for API and Playwright suppliers, and consistent schema and formatting standards.
- Contributed to the PostgreSQL schema and migrations for suppliers, products, comparison runs, discounts, users and alert history.