diff --git a/README.md b/README.md new file mode 100644 index 0000000..b2a2c3d --- /dev/null +++ b/README.md @@ -0,0 +1,37 @@ +# Korting — prijstracker + +Houdt een lijst productpagina's dagelijks in de gaten en mailt wanneer +de prijs verandert. + +## Lokaal draaien + +```bash +npm install +cp .env.example .env # env vars invullen +npm test +npm start +``` + +De UI staat achter basic auth (`BASIC_AUTH_USER` / `BASIC_AUTH_PASS`) op +`http://localhost:3000`. + +## Environment variables + +| Variabele | Omschrijving | +|---|---| +| `PORT` | HTTP-poort (default `3000`) | +| `DB_PATH` | Pad naar het SQLite-bestand (default `./data/korting.db`) | +| `BASIC_AUTH_USER` / `BASIC_AUTH_PASS` | Login voor de web-UI | +| `SMTP_HOST` / `SMTP_PORT` / `SMTP_USER` / `SMTP_PASS` | SMTP-server (Postal op `mail.sjoerd.app`) | +| `SMTP_FROM` | Afzenderadres van de notificatiemails | +| `NOTIFY_EMAIL` | Ontvangeradres van de notificatiemails | + +## Hoe het werkt + +Elke dag om 08:00 (Europe/Amsterdam) doorloopt de app alle producten, +haalt de huidige prijs op (JSON-LD → meta tags → regex-fallback), en +stuurt een email als de prijs is veranderd sinds de vorige geslaagde +check. Een mislukte poging (pagina onbereikbaar, geen prijs gevonden, +of de mail kon niet verstuurd worden) verandert de opgeslagen prijs +niet, zodat de volgende dag opnieuw wordt geprobeerd. Via de "Nu +controleren"-knop in de UI kan dit ook handmatig getriggerd worden.