1.4 KiB

Spree Commerce Provider

A preview integration of Spree Commerce within NextJS Commerce. It supports browsing and searching Spree products and adding products to the cart as a guest user.

Installation

Start by following the instructions for setting up NextJS Commerce.

Next, setup Spree. The easiest way to run Spree locally is to follow the installation tutorial available at the Spree Starter GitHub repository.

You may have to adjust Spree Starter to allow localhost and CORS requests. Run docker-compose run web bundle add rack-cors and:

# In config/application.rb add a configuration for CORS:

module SpreeStarter
  class Application < Rails::Application
    config.middleware.insert_before 0, Rack::Cors do
      allow do
        origins '*'
        resource '*', headers: :any, methods: :any
      end
    end
  end
end

# In config/environments/development.rb add 'localhost':

config.hosts << 'localhost'

By default, Spree Starter and NextJS Commerce both run on port 3000. Avoid collisions by running NextJS Commerce on port 4000:

// In package.json, modify two scripts:
{
  "scripts": {
    "dev": "NODE_OPTIONS='--inspect' next dev -p 4000",
    "start": "next start -p 4000",
    ...
  }
  ...
}