{"id":13796555,"url":"https://github.com/vendure-ecommerce/storefront-qwik-starter","last_synced_at":"2025-05-16T08:05:01.853Z","repository":{"id":47458818,"uuid":"510719066","full_name":"vendure-ecommerce/storefront-qwik-starter","owner":"vendure-ecommerce","description":"An e-commerce storefront starter built with Qwik and Vendure","archived":false,"fork":false,"pushed_at":"2025-04-04T11:13:54.000Z","size":4543,"stargazers_count":244,"open_issues_count":7,"forks_count":93,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-05-12T04:56:07.431Z","etag":null,"topics":["ecommerce","headless","qwik"],"latest_commit_sha":null,"homepage":"https://qwik-storefront.vendure.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vendure-ecommerce.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-07-05T12:06:05.000Z","updated_at":"2025-05-10T15:14:14.000Z","dependencies_parsed_at":"2023-11-14T10:27:41.290Z","dependency_job_id":"fcd67d8c-4965-4b39-a08f-8918cfea0964","html_url":"https://github.com/vendure-ecommerce/storefront-qwik-starter","commit_stats":{"total_commits":389,"total_committers":18,"mean_commits":21.61111111111111,"dds":"0.31105398457583544","last_synced_commit":"8e80b5a74f7747faa342de504412e923bc5a7f26"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vendure-ecommerce%2Fstorefront-qwik-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vendure-ecommerce%2Fstorefront-qwik-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vendure-ecommerce%2Fstorefront-qwik-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vendure-ecommerce%2Fstorefront-qwik-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vendure-ecommerce","download_url":"https://codeload.github.com/vendure-ecommerce/storefront-qwik-starter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254493378,"owners_count":22080126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ecommerce","headless","qwik"],"created_at":"2024-08-03T23:01:11.736Z","updated_at":"2025-05-16T08:05:01.787Z","avatar_url":"https://github.com/vendure-ecommerce.png","language":"TypeScript","funding_links":[],"categories":["Starters"],"sub_categories":[],"readme":"# Vendure Qwik Storefront Starter️\n\nAn e-commerce storefront for [Vendure](https://www.vendure.io) built with [Qwik](https://qwik.builder.io/) \u0026 [Qwik City](https://qwik.builder.io/qwikcity/overview).\n\n👉 [qwik-storefront.vendure.io](https://qwik-storefront.vendure.io)\n\n## Core Web Vitals\n\n\u003cbr/\u003e\n\n![pagespeed.web.dev](docs/metrics.png)\n\n\u003cbr/\u003e\n\n### 📑 [Guide: Spin up an e-commerce app in 60s with Vendure + Qwik](https://dev.to/prasmalla/in-2023-set-up-a-nodejs-e-commerce-app-in-1-minute-with-vendure-qwik-bl7)\n\n## Features\n\n- Cart ✅\n- Checkout flow ✅\n- Search facet filters ✅\n- Login ✅\n- Account creation ✅\n- Customer account management ✅\n- SPA-mode navigation ✅\n- Set up GraphQL code generation ✅\n\n**Contributions welcome!**\n\n## Frequently Asked Questions\n\n- [Can I deploy the application in different environment (e.g Netlify, Fastify, etc. etc)?](#can-i-host-the-application-in-my-environment-or-is-limited-to-cloudflare)\n- [Why can I not reach my remote server?](#why-can-i-not-reach-my-remote-server)\n- [Why does signup or login not work?](#why-does-signup-or-login-not-work)\n- [What payment systems are supported?](#what-payment-systems-are-supported)\n\n### Can I host the application in my environment or is limited to Cloudflare?\n\nWe are using Cloudflare, but there isn't a specific Cloudflare feature for this application.\nIf you want to deploy your application in a different environment, you can follow the [Qwik guide](https://qwik.builder.io/docs/deployments/#add-an-adapter) and customize the code base according to your needs.\n\n### Why can I not reach my remote server?\n\nWhen running the storefront make sure when in dev mode (ie: using vite) to attach it to the network by using `--host 0.0.0.0`\nFor example: `\"start\": \"vite --open --mode ssr --port 80 --host 0.0.0.0\",`\n\nAlso make sure your firewall allows traffic on your selected port.\nFor Ubuntu: `sudo ufw status` to see what is blocked or allowed.\n\n### Why does signup or login not work?\n\nhttps needs to be enabled, please confirm you are using ssl. You can use apache or nginx to forward ssl traffic to your selected port.\n\nMake sure that your vendure instance is accessible and not being blocked by a firewall for example.\n\nIf you see a message on signup \"Account registration is not supported by the demo Vendure instance. In order to use it, please connect to your own local / production instance.\" This is simply a static message, it is not doing any actual check. Simply remove this message. To connect to your vendure instance simply set the .env variables to point to your vendure setup.\n\n### What payment systems are supported?\n\nCurrently Braintree and Stripe are supported on the frontend, but not currently Mollie.\nFor Braintree make sure to name your payment method in your vendure admin \"braintree payment\" and specifically code \"braintree-payment\".\n\n## Development\n\nDevelopment mode uses [Vite's development server](https://vitejs.dev/). During development, the `dev` command will server-side render (SSR) the output.\n\n```shell\npnpm start\n```\n\n\u003e Note: during dev mode, Vite may request a significant number of `.js` files. This does not represent a Qwik production build.\n\n## Preview\n\nThe preview command will create a production build of the client modules, a production build of `src/entry.preview.tsx`, and run a local server. The preview server is only for convenience to locally preview a production build, and it should not be used as a production server.\n\n```shell\npnpm preview # or `yarn preview`\n```\n\n## Production\n\nThe production build will generate client and server modules by running both client and server build commands. Additionally, the build command will use Typescript to run a type check on the source code.\n\n```shell\npnpm build # or `yarn build`\n```\n\n## i18n\n\n### Marking string for translation\n\nAny string can be marked for translation by using the `$localize` template function like so:\n\n```typescript\nexport default component$((props: { name: string }) =\u003e {\n\treturn \u003cspan\u003e{$localize`Hello ${props.name}!`}\u003c/span\u003e;\n});\n```\n\n### Extracting string for translation\n\nThe first step in translation is to build the application. Once the artifacts are build the strings can be extracted for translation.\n\n```bash\npnpm build.client\npnpm i18n-extract\n```\n\nThe result of the commands is `src/locale/message.en.json`.\n\n### Translating strings\n\nTake the resulting string and send them for translation. Produce a file for each language. For example:\n\n```bash\nsrc/locale/message.en.json    # Original strings\nsrc/locale/message.es.json\n```\n\n### Sorting translations\n\nQwik hashes bundles based on the content of the files. This means that if a file changes, the order of i18n translations will be lost and can be difficult to manage manually.\n\n```bash\npnpm i18n-sort\n```\n\nThe `i18n-sort` script will sort by first appearance in the src folder to keep a consistent order.\n\n### Testing translations\n\nThe resulting language should match your browser language. You can also override the language by adding ?lang=es to the URL.\n\n---\n\n## Related\n\n- [Vendure Docs](https://vendure.io/docs)\n- [Vendure Github](https://github.com/vendure-ecommerce/vendure)\n- [Vendure Discord](https://vendure.io/community)\n- [Qwik Docs](https://qwik.builder.io/)\n- [Qwik Github](https://github.com/BuilderIO/qwik)\n- [@QwikDev](https://twitter.com/QwikDev)\n- [Qwik Discord](https://qwik.builder.io/chat)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvendure-ecommerce%2Fstorefront-qwik-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvendure-ecommerce%2Fstorefront-qwik-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvendure-ecommerce%2Fstorefront-qwik-starter/lists"}