# Barzinmarket

A production-ready Persian grocery ecommerce application for `Barzinmarket.ir`, built with Vinext, Cloudflare D1, and R2.

The project includes a responsive storefront, product search and pagination, product pages, cart and checkout, customer accounts, orders, seller tools, and a comprehensive admin panel. Administrators can edit the brand, theme, navigation, homepage sections, product-card fields, labels, SEO, shipping, payment options, footer content, and operational settings without changing source code.

## Excel catalog imports

The admin panel accepts `.xlsx` and `.csv` catalogs with up to 5,000 products per routine import (the server guard allows 10,000 rows for headroom). Required columns are barcode, product name, and sale price. Existing barcodes are updated while manually uploaded images and descriptions remain intact. Batched D1 writes and server-side catalog pagination keep large catalogs responsive.

A compatible Persian Excel example is included in `sample-data/`.

## Local development

```bash
npm ci
npm run dev
```

Production build and tests:

```bash
npm run build
npm test
```

## External services

Cash on delivery works without third-party credentials. Production online payments, SMS, maps, shipping carriers, and transactional email require credentials from the chosen providers; secrets are intentionally not included in the source archive.
