{"id":21401131,"url":"https://github.com/massdriver-cloud/spree_starter","last_synced_at":"2025-07-03T02:05:29.470Z","repository":{"id":104128337,"uuid":"590306869","full_name":"massdriver-cloud/spree_starter","owner":"massdriver-cloud","description":"Spree start app for demos","archived":false,"fork":false,"pushed_at":"2023-01-18T10:40:07.000Z","size":56,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-16T16:14:26.543Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/massdriver-cloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2023-01-18T05:13:56.000Z","updated_at":"2023-01-18T05:14:04.000Z","dependencies_parsed_at":"2023-07-09T15:00:44.946Z","dependency_job_id":null,"html_url":"https://github.com/massdriver-cloud/spree_starter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"spree/spree_starter","purl":"pkg:github/massdriver-cloud/spree_starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/massdriver-cloud%2Fspree_starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/massdriver-cloud%2Fspree_starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/massdriver-cloud%2Fspree_starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/massdriver-cloud%2Fspree_starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/massdriver-cloud","download_url":"https://codeload.github.com/massdriver-cloud/spree_starter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/massdriver-cloud%2Fspree_starter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263245254,"owners_count":23436511,"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":[],"created_at":"2024-11-22T15:26:15.352Z","updated_at":"2025-07-03T02:05:29.390Z","avatar_url":"https://github.com/massdriver-cloud.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spree Starter\n\nThis a dockerized [Spree Commerce](https://spreecommerce.org) application template ready to for local development and deployment to cloud providers.\n\n## Deploy in the cloud\n\n### Using Heroku\n[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)\n\n### Using Render\n\u003ca href=\"https://render.com/deploy?repo=https://github.com/spree/spree_starter/tree/main\"\u003e\n  \u003cimg src=\"https://render.com/images/deploy-to-render-button.svg\" alt=\"Deploy to Render\" height=32\u003e\n\u003c/a\u003e\n\nNote that sample data does not automatically get loaded when deploying to Render with the default configuration. In order to add sample data, run the following commands in the web service shell:\n```shell\nbundle exec rails db:seed\nbundle exec rake spree_sample:load\n```\n\n#### Deploying to Render with Spree Legacy Frontend\nTo deploy to render with the Spree Legacy Frontend, first follow the instructions in the [legacy frontend ReadMe](https://github.com/spree/spree_legacy_frontend#installation) on adding the appropriate gems to your gemfile, and update the web service build command to use `bin/render-build-legacy-frontend.sh`, like so:\n```yaml\nservices:\n  - type: web\n    name: spree\n    env: ruby\n    buildCommand: \"./bin/render-build-legacy-frontend.sh\"\n```\n\nAfter that, you'll be ready to deploy to render.\n\n## Local Installation\n\n### Using Docker (Recommended)\n#### Install required tools and dependencies:\n\n* [Docker](https://www.docker.com/community-edition#/download)\n\n#### Run setup script\n\n```bash\nbin/start-docker\n```\n\nThis will automatically launch the application at `http://localhost:4000/admin`\n\n#### (Optional) Import sample data such as products, categories, etc\n\n```bash\ndocker-compose run web rake spree_sample:load\n```\n\n#### Launching local server\n\n```bash\ndocker-compose up\n```\n\n### Using Hybrid installation\n#### Install required tools and dependencies:\n\n* [Docker](https://www.docker.com/community-edition#/download)\n* Ruby 3.0.3\n* [libvips](https://www.libvips.org/install.html)\n\n#### Run setup script\n\n```bash\nbin/start-hybrid\n```\n\nAfter loading all docker dependencies launch local server with:\n\n```bash\nbin/rails s\n```\n\n#### (Optional) Import sample data such as products, categories, etc\n\n```bash\ndocker-compose run web rake spree_sample:load\n```\n\n### Without Docker (not recommended for beginners)\n\n#### Install required tools and dependencies\n\n1. HomeBrew - https://brew.sh/\n2. Install required packages: GPG, PostgreSQL, Redis, ImageMagick, and VIPS\n\n      ```bash\n      brew install gpg postgresql redis imagemagick vips\n      createuser -P -d postgres\n      ```\n\n3. RVM - https://rvm.io/\n4. NVM - https://github.com/nvm-sh/nvm\n5. Ruby - `rvm install 3.0.3`\n6. Node - `nvm install`\n7. Yarn - `npm -g install yarn`\n\n#### Run setup script\n\n```bash\nbin/setup-no-docker\n```\n\n## Adding Storefront\n\nSpree is a [headless e-commerce platform](https://dev-docs.spreecommerce.org/getting-started/headless-commerce) which you can use with any storefront you like. We have pre-built integrations with:\n\n* [Next.js Commerce](https://dev-docs.spreecommerce.org/storefronts/next.js-commerce)\n* [Vue Storefront](https://dev-docs.spreecommerce.org/storefronts/vue-storefront)\n\n## Updating\n\n### Connect to the docker container\n```bash\ndocker-compose run web bash\n```\n\n### Run update commands\n\n```\nbundle update\nbin/rails spree:install:migrations\nbin/rails db:migrate\n```\n\nFor additional instructions please visit [Spree Upgrade Guides](https://dev-docs.spreecommerce.org/upgrades)\n\n## Development\n\n### Launching rails console\n\n```bash\ndocker-compose run web rails c\n```\n\n### Launching bash console\n\n```bash\ndocker-compose run web bash\n```\n\n## Customization\n### Adding new gems\n\nUpdate `Gemfile` and run\n\n```bash\nbundle install\ndocker-compose build\n```\n\nYou will need to restart the server if running:\n\n```bash\ndocker-compose restart\n```\n\n## Environment variables\n\n| variable | description | default value |\n|---|---|---|\n| DEBUG_ASSETS | Enables/disables [asset debugging in development](https://guides.rubyonrails.org/asset_pipeline.html#turning-debugging-off) | false |\n| DB_POOL | database connection pool | 5 |\n| MEMCACHED_POOL_SIZE | memcache connection pool | 5 |\n| SENDGRID_API_KEY | API key to interface Sendgrid API | |\n\n## Troubleshooting\n\n### libvips error\n\nIf you are building the application using the latest code, you may encounter the following libvips error:\n```\nLoadError: Could not open library 'vips.so.42'\n```\nThis error is usually an indication that you do not have libvips installed locally on your machine. Check that libvips is installed with `vips -v`, and if it is not installed, follow [installation instructions here](https://www.libvips.org/install.html).\n\n### disabled 'Add to Cart' button\n\nThis issue is specific to running with [spree_legacy_frontend](https://github.com/spree/spree_legacy_frontend).\n\nIf you notice that the 'Add to Cart' button is disabled on product pages, try the [troubleshooting instructions](https://github.com/spree/spree_legacy_frontend#disabled-add-to-cart-button-issue) found in the spree_legacy_frontend ReadMe.\n\n### uninitialized constant Spree::Preference (NameError)\n\nIf upgrading your spree app to Rails 7, you may run into the following error:\n```shell\n/lib/spree/core/preferences/store.rb:96:in `should_persist?': \nuninitialized constant Spree::Preference (NameError)\n```\nTo fix this error, you'll need to update your spree config initializer. In `config/initializers/spree.rb`, wrap the `Spree.config` block in a `Rails.application.config.after_initialize` block, like so:\n```ruby\nRails.application.config.after_initialize do\n  Spree.config do |config|\n    # config settings initialized here\n  end\nend\n```\n\n## License\n\nSpree Starter (formerly Spark Starter Kit) is copyright © 2015-2021\n[Spark Solutions Sp. z o.o.][spark]. It is free software,\nand may be redistributed under the terms specified in the\n[LICENSE](LICENSE.md) file.\n\n## About Spark Solutions\n\n[![Spark Solutions](http://sparksolutions.co/wp-content/uploads/2015/01/logo-ss-tr-221x100.png)][spark]\n\nSpree Starter is maintained and funded by [Spark Solutions Sp. z o.o.](http://sparksolutions.co?utm_source=github)\nThe names and logos are trademarks of Spark Solutions Sp. z o.o.\n\nWe are passionate about open source software.\nWe are [available for hire][spark].\n\n[spark]:http://sparksolutions.co?utm_source=github\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmassdriver-cloud%2Fspree_starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmassdriver-cloud%2Fspree_starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmassdriver-cloud%2Fspree_starter/lists"}