Jo eh.
Go to file
2023-05-18 18:13:55 +02:00
.vscode Refactoring. 2023-05-17 16:17:45 +02:00
docker Remove elasticsearch. 2023-05-15 13:59:53 +02:00
site Fix hofer article link 2023-05-18 15:56:26 +02:00
.gitignore Lower-case search field. 2023-05-15 15:31:14 +02:00
analysis.js Generate Hofer access token 2023-05-18 14:18:52 +02:00
index.js Refactoring. 2023-05-17 16:17:45 +02:00
LICENSE Initial commit 2023-05-08 16:51:43 +02:00
package-lock.json Remove node-cron dependency. 2023-05-15 15:19:22 +02:00
package.json Remove node-cron dependency. 2023-05-15 15:19:22 +02:00
README.md Updated README.md 2023-05-15 15:21:40 +02:00

Heisse Preise

A terrible grocery price search "app". Fetches data from big Austrian grocery chains daily and lets you search them. See https://heisse-preise.io.

You can also get the raw data. The raw data is returned as a JSON array of items. An item has the following fields:

  • store: either billa or spar.
  • name: the product name.
  • price: the current price in €.
  • priceHistory: an array of { date: "yyyy-mm-dd", price: number } objects, sorted in descending order of date.
  • unit: unit the product is sold at. May be undefined.

To run this terrible project locally, you'll need to install Docker.

The project consists of a trivial NodeJS Express server responsible for fetching the product data, massaging it, and serving it to the front end (see index.js). The front end is a least-effort vanilla HTML/JS search form (see sources in site/).

For development, run docker/control.sh startdev. You can connect to both the NodeJS server and the client for debugging in Visual Studio code via the client-server launch configuration (found in .vscode/launch.json).

For production, run docker/control.sh start.