Tooling for automating parts of an e-commerce catalog workflow.
apps/web Next.js (App Router) — UI, API routes, background jobs
services/scraper Isolated worker service
services/ml Python service (feature build + estimator)
packages/shared Shared TS types
packages/config Static catalogs and tunables
supabase/ SQL migrations: schema, RLS, DB roles
- Node ≥ 20 (developed on 24)
- pnpm 9 — driven here via
corepack pnpm …(corepack ships with Node). Ifcorepack enableworks on your machine, plainpnpmis fine. - Python 3.11+ for
services/ml - A Supabase project
corepack pnpm install
cp apps/web/.env.example apps/web/.env
cp services/scraper/.env.example services/scraper/.env
cp services/ml/.env.example services/ml/.env
# fill the envs, then:
corepack pnpm devEach service reads its own .env and only its own — the credential boundaries between them
are deliberate. Don't consolidate them.
Database setup: supabase/README.md.
corepack pnpm build # all workspaces via Turborepo
corepack pnpm --filter @wallart/web test # unit tests
corepack pnpm exec tsc --noEmit # typecheck (per workspace)