# Spree Starter This is a starter kit for [Spree Commerce](https://spreecommerce.org) - the open-source e-commerce platform for Rails. It is a great starting point for any Rails developer to quickly build an e-commerce store. This starter uses: * Spree Commerce 4.8 which includes Admin Dashboard, API and Storefront * Ruby 3.3 and Ruby on Rails 7.1 * Solid Queue with Mission Control UI (access only to Spree admins) for background jobs * Solid Cache for excellent caching and performance You don't need to install any additional tools or libraries to start developing with Spree Starter. Everything is already set up for you. ## Installation Make sure you have the following installed: * Docker with Docker Compose - [installation instructions](https://docs.docker.com/get-docker/) * Ruby 3.3 - [installation instructions](https://www.ruby-lang.org/en/documentation/installation/) * Vips - [installation instructions](https://libvips.github.io/libvips/install.html) ```bash bin/setup ``` If you want to use sample data (products, categories), you can load it using the following command: ```bash bin/rake spree_sample:load ``` #### Full docker setup If you're having trouble with Ruby/etc setup and just want to get everything up and running, you can use the following command to start the docker containers. ```bash docker pull vendoconnect/spree_starter docker run -p 3000:3000 vendoconnect/spree_starter ``` This will start the docker containers and automatically start the rails server. To sign in into the admin dashboard go to `https://localhost:3000/admin` and use the following credentials: ```bash Email: spree@example.com Password: spree123 ``` ### Switching to PostgreSQL ```bash bin/rails db:system:change --to=postgresql ``` ### Switching to MySQL By default, Spree Starter uses PostgreSQL. If you want to switch to MySQL, you can do so by running the following command: ```bash bin/rails db:system:change --to=mysql ``` You will also need to run `bin/setup` again to install the MySQL adapter and create the database. ### Launch local server ```bash bin/rails s ``` ## Deployment ### Using Render Deploy to Render Note 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: ```bash bin/rake spree_sample:load ``` ### Using Heroku [![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy) ### Other platforms Spree Starter is a standard Rails application, so you can deploy it to any platform that supports Ruby on Rails applications. You can also use Docker to deploy it to any container-based platform. Please check [Spree Guides](https://guides.spreecommerce.org/developer/deployment.html) for more information. ## Troubleshooting ### libvips error If you encounter an error like the following: ```bash LoadError: Could not open library 'vips.so.42' ``` Please check that libvips is installed with `vips -v`, and if it is not installed, follow [installation instructions here](https://www.libvips.org/install.html).