Easy-to-manage touch screens
Free, open-source touch screens. Guided USB setup, a drag-and-drop editor and local control. Made for Home Assistant.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Farmer Markets is a Next.js application for discovering local farmers markets. It provides searchable market listings, map-based browsing, individual market detail pages, regional landing pages, SEO metadata, structured data, sitemap generation, and JSON API endpoints backed by local snapshots.
The app is built as a public consumer directory for people who want to find nearby markets, check available products, compare payment options, and get location details before visiting.
/markets/state/[state].Install dependencies:
npm install
Start the development server:
npm run dev
Open http://localhost:3000.
npm run dev
Starts the Next.js development server with Turbopack.
npm run build
Builds the production application.
npm run start
Starts the production server after a successful build.
npm run lint
Runs the configured lint command.
npm run data:update
Downloads enabled official sources, validates record counts and coordinates, preserves the last good records for a failed source, and atomically regenerates the official snapshot and manifest.
npm run data:update-legacy
Refreshes the legacy USDA source snapshot (data/sources/legacy_markets.json) against the live USDA AMS Local Food Directory, rebuilds the canonical market file, then pings the changed URLs to IndexNow. See Legacy USDA refresh.
Useful flags:
--dry-run — report what would change and write nothing.--limit N — only consider the first N records. A testing affordance: it bounds every kind of work, delistings included, so a partial pass never applies a whole-dataset conclusion.--fixture <path> — read a saved upstream payload instead of the network, for offline runs.npm run data:check
npm run test:data
npm run test:data-legacy
Validates the generated snapshot/checksum and runs the ingestion parser, failure-retention, and legacy-refresh tests.
npm run data:enrichment
npm run data:enrichment:check
npm run data:archives:check
npm run data:archives:restore
npm run data:enrichment:audit:prepare
npm run data:enrichment:audit:progress
npm run data:enrichment:audit:check
npm run data:enrichment:audit:compile
npm run data:website-audit:prepare
npm run data:website-audit:progress
npm run data:website-detail:progress
npm run data:website-audit:promote -- --verified-at=YYYY-MM-DD
Validates the independently researched batches in data/enrichment/ and builds
one canonical runtime file at public/data/farmers_markets.json. Every market
record carries its official websites, social profiles, exact schedules, Google
Maps link, visitor details, rich first-party facts, audit status, verification
dates, and field-level source citations. Refreshable upstream snapshots remain
under data/sources/ as lossless rebuild inputs; the application never joins
multiple market files at runtime.
The audit commands split the entire current corpus into three stable shards and
track one disposition per market. audit:progress reports checkpoint coverage
while research is running; audit:check fails until every current market ID has
exactly one valid result. A checked-no-update or ambiguous result remains in the
ledger so it can be retried instead of being mistaken for verified absence.
audit:compile turns only the source-backed verified_update rows into normal
research batches; ambiguous and no-result rows never leak into visitor-facing
facts.
The website audit inventories every trusted site candidate separately from the market-ID audit. It renders each unique page, follows a bounded set of same-site visitor/FAQ pages for exact identity matches, and conservatively promotes source-backed schedules, seasons, payments and food benefits, accessibility and transport, amenities, policies, products/vendors, programs, events, languages, newsletters, canonical socials, and FAQ-ready answers.
npm run indexnow:ping -- --dry-run https://www.farmermarkets.app/markets/some-market
Submits changed URLs to IndexNow. See Search engine setup.
npm run test:seo
Runs the SEO smoke tests (scripts/seo-smoke.mjs) against a running server. See Measurement.
npm run test:market-routes
npm run test:topic-routes
The other two server-dependent checks: sitemap and API route coverage, and the four topic pages' counts recomputed from the snapshots.
The app can run locally without required environment variables. Server-side API calls derive their base URL from the following optional variables:
This is the beginning of the README. Read the rest at the original. Read the full README ↗