diff --git a/framework/spree/README.md b/framework/spree/README.md index 1d2f12f87..1fc5a46fe 100644 --- a/framework/spree/README.md +++ b/framework/spree/README.md @@ -1,2 +1,49 @@ -TODO: Base README on other Framework READMEs. -TODO: Link to demo site running NextJS Commerce communicating with Spree. +# [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