50 lines
1.4 KiB
Markdown

# [Spree Commerce][1] 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][2].
Next, setup Spree. The easiest way to run Spree locally is to follow the installation tutorial available at [the Spree Starter GitHub repository][3].
You may have to adjust Spree Starter to allow `localhost` and [CORS][4] requests. Run `docker-compose run web bundle add rack-cors` and:
```ruby
# 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`:
```json
// In package.json, modify two scripts:
{
"scripts": {
"dev": "NODE_OPTIONS='--inspect' next dev -p 4000",
"start": "next start -p 4000",
...
}
...
}
```
[1]: https://spreecommerce.org/
[2]: https://github.com/vercel/commerce
[3]: https://github.com/spree/spree_starter
[4]: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS