API integration
Pulls COUNTER R5 usage reports from vendor REST APIs on demand, with every endpoint tested in Postman first.
Usage data that loads itself.
A Node.js and Express service that pulls usage reports from vendor APIs, matches every row to the right record with a multi-tier engine and feeds a dashboard, replacing a spreadsheet rebuilt by hand with one button.
Pulls COUNTER R5 usage reports from vendor REST APIs on demand, with every endpoint tested in Postman first.
Matches on ISBN, title, year and publisher across four tiers, strongest evidence first. Anything ambiguous is flagged for a person, never guessed.
API keys stay off the client, a second sync is refused while one is running, and vendor errors become plain-English messages.
Feature branches and reviewed pull requests. It passed acceptance testing and went live.
The dashboard worked, but feeding it meant rebuilding a spreadsheet from several exports by hand every time.
A service between the browser and the vendor APIs that collects, matches, checks and shows: charts, a filterable table and a PDF report from the same data.
Deployed after passing acceptance testing. Fresh data is now one button.
Usage reports pulled from vendor APIs on demand, not exported by hand.
POST /api/syncEach row paired with a record by a four-tier engine, strongest evidence first.
ISBN · title · year · publisherAmbiguous matches flagged for a person. A second run is refused while one is going.
never a guessCharts, a filterable table and a PDF report, all from the same data.
Chart.js · jsPDF