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:
mariosemes
2026-03-26 20:54:52 +01:00
commit e0f67d0835
47 changed files with 9181 additions and 0 deletions

35
package.json Normal file
View File

@@ -0,0 +1,35 @@
{
"name": "pricehunter",
"version": "0.1.0",
"private": true,
"type": "module",
"scripts": {
"dev:server": "tsx watch src/server/index.ts",
"dev:client": "cd src/client && npm run dev",
"dev": "concurrently \"npm run dev:server\" \"npm run dev:client\"",
"build:client": "cd src/client && npm run build",
"build:server": "tsc",
"build": "npm run build:client && npm run build:server",
"start": "node dist/server/index.js",
"test": "vitest run",
"test:watch": "vitest"
},
"dependencies": {
"@fastify/cors": "^10.0.1",
"@fastify/static": "^8.0.3",
"bottleneck": "^2.19.5",
"cheerio": "^1.0.0",
"dotenv": "^16.4.7",
"fastify": "^5.2.1",
"p-limit": "^6.2.0",
"sql.js": "^1.11.0"
},
"devDependencies": {
"@types/node": "^22.10.0",
"concurrently": "^9.1.2",
"pino-pretty": "^13.1.3",
"tsx": "^4.19.2",
"typescript": "^5.7.2",
"vitest": "^2.1.8"
}
}