From 8ce5ba62dc77762f93d0bc17a394d8973a5cf210 Mon Sep 17 00:00:00 2001 From: mariosemes Date: Thu, 26 Mar 2026 20:57:24 +0100 Subject: [PATCH] Add README with project overview and quick start guide Co-Authored-By: Claude Opus 4.6 (1M context) --- README.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..52e97a4 --- /dev/null +++ b/README.md @@ -0,0 +1,51 @@ +# Price Hunter + +A self-hosted price comparison engine. Search across multiple online stores simultaneously, compare prices, and find the cheapest option — all from a single, clean interface. + +## Features + +- **Unified search** — One search bar, all your stores, results sorted by price +- **Store management** — Add stores with CSS selector configs, organize by category +- **Store testing** — Per-store test pages to verify scraping before going live +- **Categories & groups** — Filter searches by category or custom store groups +- **Scrape health** — Monitor success rates, response times, and error logs per store +- **Self-hosted** — All data stays local. No ads, no tracking, no external dependencies. + +## Quick Start + +### Development + +```bash +npm install +cd src/client && npm install && cd ../.. +npm run dev +``` + +Open http://localhost:5173 (frontend) — API runs on http://localhost:3000. + +### Docker + +```bash +docker compose up +``` + +Open http://localhost:3000. + +## Tech Stack + +- **Backend:** Node.js, Fastify, sql.js (SQLite) +- **Frontend:** SvelteKit, Tailwind CSS +- **Scraping:** Cheerio (CSS selectors) +- **Deployment:** Docker + +## Adding a Store + +1. Go to **Stores** > **Add Store** +2. Fill in the store name, base URL, and search URL (use `{query}` as the search term placeholder) +3. Define CSS selectors for: product container, name, price, link, and optionally image +4. Save and use the **Test** page to verify results +5. Enable the store to include it in searches + +## License + +MIT