{"id":13745847,"url":"https://github.com/vuestorefront-community/spree","last_synced_at":"2025-08-04T18:08:45.304Z","repository":{"id":39968828,"uuid":"348833844","full_name":"vuestorefront-community/spree","owner":"vuestorefront-community","description":"Vue Storefront 2 Integration for Spree","archived":false,"fork":false,"pushed_at":"2023-05-30T17:25:35.000Z","size":5901,"stargazers_count":60,"open_issues_count":24,"forks_count":35,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-07-19T03:35:29.150Z","etag":null,"topics":["ecommerce","javascript","spree","spreecommerce","vue","vuejs"],"latest_commit_sha":null,"homepage":"https://docs.vuestorefront.io/spree","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vuestorefront-community.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-03-17T19:49:54.000Z","updated_at":"2024-12-02T18:51:54.000Z","dependencies_parsed_at":"2024-01-13T01:39:03.065Z","dependency_job_id":"e3594e78-46a6-4a98-b999-3564c41b2bb3","html_url":"https://github.com/vuestorefront-community/spree","commit_stats":null,"previous_names":["vuestorefront/spree"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/vuestorefront-community/spree","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuestorefront-community%2Fspree","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuestorefront-community%2Fspree/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuestorefront-community%2Fspree/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuestorefront-community%2Fspree/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vuestorefront-community","download_url":"https://codeload.github.com/vuestorefront-community/spree/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuestorefront-community%2Fspree/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268739372,"owners_count":24299645,"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","status":"online","status_checked_at":"2025-08-04T02:00:09.867Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","javascript","spree","spreecommerce","vue","vuejs"],"created_at":"2024-08-03T06:00:39.181Z","updated_at":"2025-08-04T18:08:45.233Z","avatar_url":"https://github.com/vuestorefront-community.png","language":"Vue","funding_links":[],"categories":["Resources for Vue Storefront 2"],"sub_categories":["Open Source - v2"],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/1626923/137092657-fb398d20-b592-4661-a1f9-4135db0b61d5.png\" alt=\"Vue Storefront\" height=\"80px\" /\u003e\n\u003c/div\u003e\n\n### Stay connected\n\n[![GitHub Repo stars](https://img.shields.io/github/stars/vuestorefront/vue-storefront?style=social)](https://github.com/vuestorefront/vue-storefront)\n[![Twitter Follow](https://img.shields.io/twitter/follow/vuestorefront?style=social)](https://twitter.com/vuestorefront)\n[![YouTube Channel Subscribers](https://img.shields.io/youtube/channel/subscribers/UCkm1F3Cglty3CE1QwKQUhhg?style=social)](https://www.youtube.com/c/VueStorefront)\n[![Discord](https://img.shields.io/discord/770285988244750366?label=join%20discord\u0026logo=Discord\u0026logoColor=white)](https://discord.vuestorefront.io)\n\n# Vue Storefront 2 integration for Spree Commerce\n\nSee it action: [Vue Storefront - Spree demo](https://vuestorefront-spree.upsidelab.io)\n\n## Overview\n\nThis repository contains an Spree integration for [Vue Storefront 2](https://github.com/vuestorefront/vue-storefront/).\n\nThis integration is being developed and maintained by [Upside](https://upsidelab.io)\n\n\u003ca href=\"https://upsidelab.io\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/6420475/141106487-333774a5-04b2-46a4-8367-7cb11e46906e.png\" height=\"100px\" /\u003e\u003c/a\u003e\n\n## Requirements\n\n- Node 14.15+\n- Spree 4.3+\n\n## Deploy in the cloud\n\n[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)\n## Getting Started\n\nThe easiest way to setup a new Spree + Vue Storefront setup, is to follow out [Quick Start Guide](https://dev-docs.spreecommerce.org/getting-started/quick-start-guide).\n\nSimply run the Spree CLI and follow the instructions:\n\n```sh\nnpx @spree/cli new app\n```\n\n## Manually adding Vue Storefront to an existing Spree project\n\n1. Clone this repository\n```sh\ngit clone https://github.com/vuestorefront/spree.git\n```\n\n2. Set backend URL via env variable\n```sh\nexport BACKEND_URL=https://demo.spreecommerce.org\n```\nOr via `.env.development` file:\n```\nBACKEND_URL=https://demo.spreecommerce.org\n```\n\n3. Then install dependencies and build the required packages\n\n```sh\nbin/setup\n```\n\n5. If everything built properly, you can start working on your new frontend with:\n\n```sh\nbin/start\n```\n\nChanging some parts of the code (notably the `api-client`) will trigger a re-build but the change will not be hot-reloaded. To ensure that the app sees you changes, re-run either `yarn build` or `yarn dev`.\n\n## Enabling optional features\n\nSome features that are either provided by Spree's extensions or that are only available in newer versions, need to be manually enabled in the configuration file. To do that, open the `packages/theme/middleware.config.js` and update the configuration to desired state\n\n```\nmodule.exports = {\n  integrations: {\n    spree: {\n      location: '@vue-storefront/spree-api/server',\n      configuration: {\n        backendUrl: process.env.BACKEND_URL,\n        assetsUrl: process.env.ASSETS_URL,\n        spreeFeatures: {\n          // Associate guest cart after the customer logs in. Requires Spree 4.3+\n          associateGuestCart: false,\n          // Fetch basic information about products from the `primary_variant` relationship. Requires Spree 4.3+\n          fetchPrimaryVariant: false,\n          // Wishlist for authenticated users.\n          // Accepted values: 'enabled' (Spree 4.4+), 'legacy' (Spree with `spree_wishlist` gem), 'disabled'.\n          wishlist:  'disabled'\n        }\n      }\n    }\n  }\n};\n\n```\n\n## Serving under a subpath\n\nYou might want to serve your store under a subpath (for example: `https://example.com/shop/`). In order to do that, you just have to add a `BASE_URL` environment variable to the `.env.production` file containing a full url.\n\nNote that in development it will still be served on the root path (`http://localhost:3000` by default) unless you change the `.env.development` file too.\n\n## Repository structure\n\nThe monorepo contains three submodules:\n- api-client - low level backend API connector, utilizing Spree's v2 Storefront API\n- composables - reusable business logic\n- theme - Nuxt.js-based frontend application\n\nFor more details, refer to the official [project structure](https://docs.vuestorefront.io/v2/getting-started/project-structure.html).\n\n\n## Resources\n\n- [Vue Storefront Documentation](https://docs.vuestorefront.io/v2/)\n- [Spree Storefront API Documentation](https://api.spreecommerce.org/docs/api-v2/api/docs/v2/storefront/index.yaml)\n\n## Demo\n\n- [Vue Storefront - Spree demo](https://vuestorefront-spree.upsidelab.io) - demo instance connected to [https://demo.spreecommerce.org](https://demo.spreecommerce.org) APIs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvuestorefront-community%2Fspree","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvuestorefront-community%2Fspree","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvuestorefront-community%2Fspree/lists"}