- Updated `.gitignore` to exclude scraper intermediate data. - Enhanced `justfile` with new scrape commands for raw data and LLM processing. - Added OpenAI dependency in `scraper/package.json`. - Modified `config.ts` to include OpenRouter API key and model. - Expanded `extract.ts` to capture additional product details such as discount percentage, frost resistance, and size options. - Updated `import.ts` to handle new product attributes during import. - Enhanced `index.ts` to support raw scraping mode and improved product extraction logic. - Updated `payload-types.ts` and `Products.ts` to include new product fields. - Enhanced frontend components to display new product attributes and filters for availability and frost resistance. - Improved error handling and logging in scraper functions. - Added new features for managing product variants and specifications in the admin interface.
ADVdoors
Modern product catalog for Finnish doors (KASKI, SWEDOOR/JELD-WEN, ALAVUS, ABLOY).
Built with Next.js 15, Payload CMS 3, PostgreSQL 16, and MinIO, managed as a Turborepo + pnpm monorepo.
Quick Start (Development)
just setup # services + deps + .env
just dev # start Next.js dev server
Or do it all at once:
just up # services + dev server
- Storefront: http://localhost:3000
- Admin panel: http://localhost:3000/admin (create first user on first visit)
- MinIO console: http://localhost:9001 (minioadmin / minioadmin)
- Payload API: http://localhost:3000/api
Project Structure
apps/web/ — Next.js + Payload CMS (storefront + admin)
apps/scraper/ — Migration scraper CLI
packages/shared — Shared types and constants
docker/ — Docker Compose configs, Caddy, backups
Production Deployment
cp docker/.env.example docker/.env # edit with real secrets
just prod-up
Caddy handles SSL automatically.
Migration (Scraper)
just scrape
All Commands
Run just to see the full list. Key ones:
| Command | Description |
|---|---|
just setup |
Full dev setup (services + deps + .env) |
just up |
Start services + dev server |
just dev |
Dev server only (services must be running) |
just build |
Build all packages |
just scrape |
Run migration scraper |
just db-reset |
Wipe dev database and MinIO |
just prod-up |
Production build + start |
just prod-logs -f |
Tail production logs |
See docs/PLAN.md for the full architecture plan.
Description
Languages
TypeScript
97.1%
Just
1.6%
Dockerfile
0.7%
JavaScript
0.4%
Shell
0.2%