{"id":13732931,"url":"https://github.com/vendure-ecommerce/storefront-remix-starter","last_synced_at":"2025-04-06T11:10:07.680Z","repository":{"id":36963315,"uuid":"452666422","full_name":"vendure-ecommerce/storefront-remix-starter","owner":"vendure-ecommerce","description":"A storefront starter kit for Vendure built with Remix","archived":false,"fork":false,"pushed_at":"2024-03-23T07:09:43.000Z","size":1236,"stargazers_count":193,"open_issues_count":21,"forks_count":106,"subscribers_count":12,"default_branch":"master","last_synced_at":"2024-10-29T20:26:07.756Z","etag":null,"topics":["commerce","ecommerce","headless","remix","storefront"],"latest_commit_sha":null,"homepage":"https://remix-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}},"created_at":"2022-01-27T12:04:40.000Z","updated_at":"2024-10-27T12:53:31.000Z","dependencies_parsed_at":"2024-01-13T19:34:47.093Z","dependency_job_id":"1f645963-f2d8-4deb-8bba-ee4103b81a78","html_url":"https://github.com/vendure-ecommerce/storefront-remix-starter","commit_stats":{"total_commits":172,"total_committers":15,"mean_commits":"11.466666666666667","dds":0.4476744186046512,"last_synced_commit":"c9ad0d6abd580d4f242f32eeeace7b569f05bb3f"},"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-remix-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vendure-ecommerce%2Fstorefront-remix-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vendure-ecommerce%2Fstorefront-remix-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vendure-ecommerce%2Fstorefront-remix-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vendure-ecommerce","download_url":"https://codeload.github.com/vendure-ecommerce/storefront-remix-starter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247471521,"owners_count":20944158,"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":["commerce","ecommerce","headless","remix","storefront"],"created_at":"2024-08-03T03:00:35.646Z","updated_at":"2025-04-06T11:10:07.649Z","avatar_url":"https://github.com/vendure-ecommerce.png","language":"TypeScript","funding_links":[],"categories":["Remix Boilerplate"],"sub_categories":[],"readme":"# Vendure Remix Storefront Starter\n\nAn e-commerce storefront for [Vendure](https://www.vendure.io) built with [Remix](https://remix.run).\n\n👉 [remix-storefront.vendure.io](https://remix-storefront.vendure.io/)\n\n![Screenshot](https://www.vendure.io/blog/2022/05/lightning-fast-headless-commerce-with-vendure-and-remix/lighthouse-score.webp)\n\n## To do\n\nMost Vendure features are already part of this starter. Notable missing Vendure features:\n- Default billing/shipping addresses\n   - This is part of the account page (https://github.com/vendure-ecommerce/storefront-remix-starter/pull/39) but not yet used in checkout\n- Separate billing address in checkout\n- Promotions\n- Localization\n- Multi channel support\n\nGeneral things missing:\n- Global input validation\n- Sitemap generation\n- Metadata\n\n**Contributions welcome!**\n\n## Development\n\n1. Clone this repo\n2. `yarn install`\n3. Create a `.env` file in the root dir with the following command and update it with your variables:\n   \n   ```bash\n   cp .env.template .env\n   ```\n   \n5. `yarn dev` - run the storefront with a local Remix server\n6. `yarn dev:cf` - runs locally with the Cloudflare Pages configuration\n\n### Vendure Server\n\nThis storefront requires a Vendure V2 server. You can either run a local instance, or use our public demo server.  \nIf you're looking for V1 support, [75eb880](https://github.com/vendure-ecommerce/storefront-remix-starter/tree/75eb880052d7f76b2026fc917cf545996012e3ac) is the last supported commit.\n\n#### Code Generation\n\nWhenever the Graphql documents (the constants using the `gql` tag) in the [./app/providers](./app/providers) dir changes,\nyou should run `yarn generate` to generate new sdk definitions.\n\nFor a more detailed guide on how to work with code generation, check the wiki about [querying custom fields](https://github.com/vendure-ecommerce/storefront-remix-starter/wiki/Querying-custom-fields).\n\n#### Local\n\nYou can set up a local instance, populated with test data by following the instructions in the Vendure [Getting Started guide](https://docs.vendure.io/getting-started/). Note that make sure you have enabled the `bearer` method for managing session tokens:\n\n```ts\n// vendure-config.ts\nexport const config: VendureConfig = {\n  authOptions: {\n    tokenMethod: ['bearer', 'cookie'], // or just 'bearer'\n    // ...\n  },\n  // ...\n};\n```\n\n## Payment Gateways\n\nCurrently, both Stripe and Braintree are supported out of the box, but only one of them can be used at the same time\n\n### Stripe integration\n\nThis repo has a built-in Stripe payment integration. To enable it, ensure that your Vendure server is set up with\nthe [StripePlugin](https://docs.vendure.io/reference/core-plugins/payments-plugin/stripe-plugin/).\n\nEnsure your new PaymentMethod uses the word `stripe` somewhere in its code, as that's how this integration will know\nto load the Stripe payment element.\n\nThen add your Stripe publishable key to the env file:\n\n```\nSTRIPE_PUBLISHABLE_KEY=pk_test_...\n```\n\n**Important note**: There's a race condition between Stripe redirecting a customer to the confirmation page and the webhook receiving the confirmation in the Vendure backend. As this condition is not very distinguishable from other potential issues, it is currently addressed by implementing a very simple retry system of 5 retries every 2.5s You can tweak these settings in the [CheckoutConfirmation route](./app/routes/checkout/confirmation.%24orderCode.tsx).\n\n### Braintree integration\n\nThis repo has built-in Braintree integration. To enable it, ensure that your Vendure server is set up with\nthe [BraintreePlugin](https://docs.vendure.io/reference/core-plugins/payments-plugin/braintree-plugin/).\n\nCurrently, `storeCustomersInBraintree` has to be set to `true` in plugin options.\n\n## Public demo\n\nThere is a publicly-available demo instance at https://readonlydemo.vendure.io/shop-api\n\n## Deployment\n\nThis repo is configured to deploy to either Netlify or Cloudflare Pages or to build locally with specialised build targets (`build(:nf/:cf)`).\n\nNo special setup should be needed, as the [remix.config.js](./remix.config.js) file contains a check for the `process.env.CF_PAGES` / `process.env.NETLIFY` environment variable to determine whether to use the Cloudflare Pages or Netlify server configuration.\n\nFollow the usual procedure for setting up a project in Netlify/CF Pages and point it to your clone of this repo on GitHub/Gitlab.\n\n**Be sure to change the cookie secret in [app/sessions.ts](./app/sessions.ts) for production use!**\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvendure-ecommerce%2Fstorefront-remix-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvendure-ecommerce%2Fstorefront-remix-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvendure-ecommerce%2Fstorefront-remix-starter/lists"}