Initial commit: Price Hunter — self-hosted price comparison engine
Complete application scaffolding with: - Backend: Node.js + Fastify + sql.js (SQLite) - Frontend: SvelteKit + Tailwind CSS - Scraper engine with parallel fan-out, rate limiting, cheerio-based parsing - Store management with CSS selector config and per-store test pages - Docker setup for single-command deployment Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
34
tests/fixtures/sample-store.html
vendored
Normal file
34
tests/fixtures/sample-store.html
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
<div class="search-results">
|
||||
<div class="product-card">
|
||||
<a href="/products/sony-wh1000xm5" class="product-link">
|
||||
<img src="/images/xm5.jpg" alt="Sony WH-1000XM5" class="product-image" />
|
||||
<h3 class="product-title">Sony WH-1000XM5 Wireless Headphones</h3>
|
||||
<span class="product-price">€299,99</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="product-card">
|
||||
<a href="/products/sony-wh1000xm4" class="product-link">
|
||||
<img src="/images/xm4.jpg" alt="Sony WH-1000XM4" class="product-image" />
|
||||
<h3 class="product-title">Sony WH-1000XM4 Wireless Headphones</h3>
|
||||
<span class="product-price">€219,00</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="product-card">
|
||||
<a href="/products/airpods-max" class="product-link">
|
||||
<img src="/images/airpods.jpg" alt="Apple AirPods Max" class="product-image" />
|
||||
<h3 class="product-title">Apple AirPods Max</h3>
|
||||
<span class="product-price">€579,00</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="product-card">
|
||||
<a href="/products/bose-qc45" class="product-link">
|
||||
<h3 class="product-title">Bose QuietComfort 45</h3>
|
||||
<span class="product-price">$249.95</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user