Latest commit

History

22,906 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Spree Commerce

Gem VersionCircle CICode ClimateTest CoverageSlack Status

Spree is a complete open source e-commerce solution built with Ruby on Rails. It was started by Sean Schofield and is now developed by Spark Solutions. We're open to contributions.

Spree consists of several different gems (modules), each of which are maintained in a single repository and documented in a single set of online documentation.

  • spree_api (REST API v2 with JavaScript / TypeScript SDK and REST API v1)
  • spree_graphql (GraphQL API - coming soon)
  • spree_frontend (mobile-first, blazing fast and customizable storefront)
  • spree_backend (feature rich Admin Panel)
  • spree_cmd (command-line tools for developers)
  • spree_core (models, services & mailers, the basic components of Spree)
  • spree_sample (sample data for demo purposes)

Demo

Go to: https://demo.spreecommerce.org/ Explore demo features: https://spreecommerce.org/spree-commerce-demo-explainer/

Or fire up your own demo on Heroku:

Deploy

Admin panel credentials for your own Heroku demo:

  • login: spree@example.com
  • password: spree123

Local Installation

Option A - use Spree Starter with Docker

  1. Install Docker
  2. Download Spree Starter
  3. Unzip it
  4. Run bin/setup in spree_starter-main directory

Option B - add Spree to an existing application

  1. Please follow Add Spree to an existing Ruby on Rails application tutorial

Extensions

Spree Extensions provide additional features not present in the Core system.

ExtensionSpree 3.2+ supportDescription
spree_analytics_trackersBuild StatusAdds support for Analytics Trackers (Google Analytics & Segment)
spree_avatax_officialBuild StatusImprove your Spree store's sales tax decision automation with Avalara AvaTax
spree_auth_deviseBuild StatusProvides authentication services for Spree, using the Devise gem.
better_spree_paypal_expressBuild StatusThis is the official Paypal Express extension for Spree.
spree_braintree_vzeroBuild StatusOfficial Spree Braintree v.zero + PayPal extension
spree_contact_usBuild StatusAdds Contact Us form
spree_digitalBuild StatusA Spree extension to enable downloadable products
spree_gatewayBuild StatusPayment Gateways (Stripe, Apple Pay, Braintree, Authorize.net and many others)
spree_editorBuild StatusRich text editor for Spree with Image and File uploading in-place
spree_globalizeBuild StatusAdds support for model translations (multi-language stores)
spree_i18nBuild StatusI18n translation files for Spree Commerce
spree-mollie-gatewayBuild StatusOfficial Mollie payment gateway for Spree Commerce.
spree-multi-domainBuild StatusMultiple Spree stores on different domains - single unified backed for processing orders
spree_multi_vendorBuild StatusSpree Multi Vendor Marketplace extension
spree-product-assemblyBuild StatusProduct Bundles
spree_recently_viewedBuild StatusRecently viewed products in Spree
spree_related_productsBuild StatusRelated products extension for Spree
spree_socialBuild StatusBuilding block for spree social networking features (provides authentication and account linkage)
spree_sitemapBuild StatusSitemap Generator for Spree
spree_sharedBuild StatusMulti-tenancy for Spree using Apartment (per tenant databases)
spree_static_contentBuild StatusManage static pages for Spree
spree_volume_pricingBuild StatusIt determines the price for a particular product variant with predefined ranges of quantities
spree_wishlistBuild StatusWishlist extension for Spree

Developing Spree

Please follow this guide

Contributing

Spree is an open source project and we encourage contributions. Please review the contributing guidelines before contributing.

In the spirit of free software, everyone is encouraged to help improve this project.

Here are some ways you can contribute:

License

Spree is released under the New BSD License.

About Spark Solutions

Spark Solutions

Spark Solutions is a software development agency specialized in Ruby on Rails, Spree Commerce and Javascript development. We’ve been leading Spree open-source efforts since 2016 as its core team. We also do client work. Our project teams consist of UX and UI designers, Software Engineers, Testers and Project Managers practicing agile project delivery. We’ll integrate our team with yours to jointly architect, deliver, maintain and scale the software products you need. You drive the project with requirements and acceptance testing and we help you deliver faster using industry-standard project management and comms best practices.

We are passionate about open source software. We are available for hire.

About

Spree is a complete, modular & API-driven open source ecommerce solution for Ruby on Rails

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all \u003cpre\u003e\u003ccode\u003e blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks"); } } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); } })(); (function(){ try { var __m = "github.com"; var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

22,906 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Spree Commerce

Gem VersionCircle CICode ClimateTest CoverageSlack Status

Spree is a complete open source e-commerce solution built with Ruby on Rails. It was started by Sean Schofield and is now developed by Spark Solutions. We're open to contributions.

Spree consists of several different gems (modules), each of which are maintained in a single repository and documented in a single set of online documentation.

  • spree_api (REST API v2 with JavaScript / TypeScript SDK and REST API v1)
  • spree_graphql (GraphQL API - coming soon)
  • spree_frontend (mobile-first, blazing fast and customizable storefront)
  • spree_backend (feature rich Admin Panel)
  • spree_cmd (command-line tools for developers)
  • spree_core (models, services & mailers, the basic components of Spree)
  • spree_sample (sample data for demo purposes)

Demo

Go to: https://demo.spreecommerce.org/ Explore demo features: https://spreecommerce.org/spree-commerce-demo-explainer/

Or fire up your own demo on Heroku:

Deploy

Admin panel credentials for your own Heroku demo:

  • login: spree@example.com
  • password: spree123

Local Installation

Option A - use Spree Starter with Docker

  1. Install Docker
  2. Download Spree Starter
  3. Unzip it
  4. Run bin/setup in spree_starter-main directory

Option B - add Spree to an existing application

  1. Please follow Add Spree to an existing Ruby on Rails application tutorial

Extensions

Spree Extensions provide additional features not present in the Core system.

ExtensionSpree 3.2+ supportDescription
spree_analytics_trackersBuild StatusAdds support for Analytics Trackers (Google Analytics & Segment)
spree_avatax_officialBuild StatusImprove your Spree store's sales tax decision automation with Avalara AvaTax
spree_auth_deviseBuild StatusProvides authentication services for Spree, using the Devise gem.
better_spree_paypal_expressBuild StatusThis is the official Paypal Express extension for Spree.
spree_braintree_vzeroBuild StatusOfficial Spree Braintree v.zero + PayPal extension
spree_contact_usBuild StatusAdds Contact Us form
spree_digitalBuild StatusA Spree extension to enable downloadable products
spree_gatewayBuild StatusPayment Gateways (Stripe, Apple Pay, Braintree, Authorize.net and many others)
spree_editorBuild StatusRich text editor for Spree with Image and File uploading in-place
spree_globalizeBuild StatusAdds support for model translations (multi-language stores)
spree_i18nBuild StatusI18n translation files for Spree Commerce
spree-mollie-gatewayBuild StatusOfficial Mollie payment gateway for Spree Commerce.
spree-multi-domainBuild StatusMultiple Spree stores on different domains - single unified backed for processing orders
spree_multi_vendorBuild StatusSpree Multi Vendor Marketplace extension
spree-product-assemblyBuild StatusProduct Bundles
spree_recently_viewedBuild StatusRecently viewed products in Spree
spree_related_productsBuild StatusRelated products extension for Spree
spree_socialBuild StatusBuilding block for spree social networking features (provides authentication and account linkage)
spree_sitemapBuild StatusSitemap Generator for Spree
spree_sharedBuild StatusMulti-tenancy for Spree using Apartment (per tenant databases)
spree_static_contentBuild StatusManage static pages for Spree
spree_volume_pricingBuild StatusIt determines the price for a particular product variant with predefined ranges of quantities
spree_wishlistBuild StatusWishlist extension for Spree

Developing Spree

Please follow this guide

Contributing

Spree is an open source project and we encourage contributions. Please review the contributing guidelines before contributing.

In the spirit of free software, everyone is encouraged to help improve this project.

Here are some ways you can contribute:

License

Spree is released under the New BSD License.

About Spark Solutions

Spark Solutions

Spark Solutions is a software development agency specialized in Ruby on Rails, Spree Commerce and Javascript development. We’ve been leading Spree open-source efforts since 2016 as its core team. We also do client work. Our project teams consist of UX and UI designers, Software Engineers, Testers and Project Managers practicing agile project delivery. We’ll integrate our team with yours to jointly architect, deliver, maintain and scale the software products you need. You drive the project with requirements and acceptance testing and we help you deliver faster using industry-standard project management and comms best practices.

We are passionate about open source software. We are available for hire.

About

Spree is a complete, modular & API-driven open source ecommerce solution for Ruby on Rails

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

22,906 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Spree Commerce

Gem VersionCircle CICode ClimateTest CoverageSlack Status

Spree is a complete open source e-commerce solution built with Ruby on Rails. It was started by Sean Schofield and is now developed by Spark Solutions. We're open to contributions.

Spree consists of several different gems (modules), each of which are maintained in a single repository and documented in a single set of online documentation.

  • spree_api (REST API v2 with JavaScript / TypeScript SDK and REST API v1)
  • spree_graphql (GraphQL API - coming soon)
  • spree_frontend (mobile-first, blazing fast and customizable storefront)
  • spree_backend (feature rich Admin Panel)
  • spree_cmd (command-line tools for developers)
  • spree_core (models, services & mailers, the basic components of Spree)
  • spree_sample (sample data for demo purposes)

Demo

Go to: https://demo.spreecommerce.org/ Explore demo features: https://spreecommerce.org/spree-commerce-demo-explainer/

Or fire up your own demo on Heroku:

Deploy

Admin panel credentials for your own Heroku demo:

  • login: spree@example.com
  • password: spree123

Local Installation

Option A - use Spree Starter with Docker

  1. Install Docker
  2. Download Spree Starter
  3. Unzip it
  4. Run bin/setup in spree_starter-main directory

Option B - add Spree to an existing application

  1. Please follow Add Spree to an existing Ruby on Rails application tutorial

Extensions

Spree Extensions provide additional features not present in the Core system.

ExtensionSpree 3.2+ supportDescription
spree_analytics_trackersBuild StatusAdds support for Analytics Trackers (Google Analytics & Segment)
spree_avatax_officialBuild StatusImprove your Spree store's sales tax decision automation with Avalara AvaTax
spree_auth_deviseBuild StatusProvides authentication services for Spree, using the Devise gem.
better_spree_paypal_expressBuild StatusThis is the official Paypal Express extension for Spree.
spree_braintree_vzeroBuild StatusOfficial Spree Braintree v.zero + PayPal extension
spree_contact_usBuild StatusAdds Contact Us form
spree_digitalBuild StatusA Spree extension to enable downloadable products
spree_gatewayBuild StatusPayment Gateways (Stripe, Apple Pay, Braintree, Authorize.net and many others)
spree_editorBuild StatusRich text editor for Spree with Image and File uploading in-place
spree_globalizeBuild StatusAdds support for model translations (multi-language stores)
spree_i18nBuild StatusI18n translation files for Spree Commerce
spree-mollie-gatewayBuild StatusOfficial Mollie payment gateway for Spree Commerce.
spree-multi-domainBuild StatusMultiple Spree stores on different domains - single unified backed for processing orders
spree_multi_vendorBuild StatusSpree Multi Vendor Marketplace extension
spree-product-assemblyBuild StatusProduct Bundles
spree_recently_viewedBuild StatusRecently viewed products in Spree
spree_related_productsBuild StatusRelated products extension for Spree
spree_socialBuild StatusBuilding block for spree social networking features (provides authentication and account linkage)
spree_sitemapBuild StatusSitemap Generator for Spree
spree_sharedBuild StatusMulti-tenancy for Spree using Apartment (per tenant databases)
spree_static_contentBuild StatusManage static pages for Spree
spree_volume_pricingBuild StatusIt determines the price for a particular product variant with predefined ranges of quantities
spree_wishlistBuild StatusWishlist extension for Spree

Developing Spree

Please follow this guide

Contributing

Spree is an open source project and we encourage contributions. Please review the contributing guidelines before contributing.

In the spirit of free software, everyone is encouraged to help improve this project.

Here are some ways you can contribute:

License

Spree is released under the New BSD License.

About Spark Solutions

Spark Solutions

Spark Solutions is a software development agency specialized in Ruby on Rails, Spree Commerce and Javascript development. We’ve been leading Spree open-source efforts since 2016 as its core team. We also do client work. Our project teams consist of UX and UI designers, Software Engineers, Testers and Project Managers practicing agile project delivery. We’ll integrate our team with yours to jointly architect, deliver, maintain and scale the software products you need. You drive the project with requirements and acceptance testing and we help you deliver faster using industry-standard project management and comms best practices.

We are passionate about open source software. We are available for hire.

About

Spree is a complete, modular & API-driven open source ecommerce solution for Ruby on Rails

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length \u003e 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

22,906 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Spree Commerce

Gem VersionCircle CICode ClimateTest CoverageSlack Status

Spree is a complete open source e-commerce solution built with Ruby on Rails. It was started by Sean Schofield and is now developed by Spark Solutions. We're open to contributions.

Spree consists of several different gems (modules), each of which are maintained in a single repository and documented in a single set of online documentation.

  • spree_api (REST API v2 with JavaScript / TypeScript SDK and REST API v1)
  • spree_graphql (GraphQL API - coming soon)
  • spree_frontend (mobile-first, blazing fast and customizable storefront)
  • spree_backend (feature rich Admin Panel)
  • spree_cmd (command-line tools for developers)
  • spree_core (models, services & mailers, the basic components of Spree)
  • spree_sample (sample data for demo purposes)

Demo

Go to: https://demo.spreecommerce.org/ Explore demo features: https://spreecommerce.org/spree-commerce-demo-explainer/

Or fire up your own demo on Heroku:

Deploy

Admin panel credentials for your own Heroku demo:

  • login: spree@example.com
  • password: spree123

Local Installation

Option A - use Spree Starter with Docker

  1. Install Docker
  2. Download Spree Starter
  3. Unzip it
  4. Run bin/setup in spree_starter-main directory

Option B - add Spree to an existing application

  1. Please follow Add Spree to an existing Ruby on Rails application tutorial

Extensions

Spree Extensions provide additional features not present in the Core system.

ExtensionSpree 3.2+ supportDescription
spree_analytics_trackersBuild StatusAdds support for Analytics Trackers (Google Analytics & Segment)
spree_avatax_officialBuild StatusImprove your Spree store's sales tax decision automation with Avalara AvaTax
spree_auth_deviseBuild StatusProvides authentication services for Spree, using the Devise gem.
better_spree_paypal_expressBuild StatusThis is the official Paypal Express extension for Spree.
spree_braintree_vzeroBuild StatusOfficial Spree Braintree v.zero + PayPal extension
spree_contact_usBuild StatusAdds Contact Us form
spree_digitalBuild StatusA Spree extension to enable downloadable products
spree_gatewayBuild StatusPayment Gateways (Stripe, Apple Pay, Braintree, Authorize.net and many others)
spree_editorBuild StatusRich text editor for Spree with Image and File uploading in-place
spree_globalizeBuild StatusAdds support for model translations (multi-language stores)
spree_i18nBuild StatusI18n translation files for Spree Commerce
spree-mollie-gatewayBuild StatusOfficial Mollie payment gateway for Spree Commerce.
spree-multi-domainBuild StatusMultiple Spree stores on different domains - single unified backed for processing orders
spree_multi_vendorBuild StatusSpree Multi Vendor Marketplace extension
spree-product-assemblyBuild StatusProduct Bundles
spree_recently_viewedBuild StatusRecently viewed products in Spree
spree_related_productsBuild StatusRelated products extension for Spree
spree_socialBuild StatusBuilding block for spree social networking features (provides authentication and account linkage)
spree_sitemapBuild StatusSitemap Generator for Spree
spree_sharedBuild StatusMulti-tenancy for Spree using Apartment (per tenant databases)
spree_static_contentBuild StatusManage static pages for Spree
spree_volume_pricingBuild StatusIt determines the price for a particular product variant with predefined ranges of quantities
spree_wishlistBuild StatusWishlist extension for Spree

Developing Spree

Please follow this guide

Contributing

Spree is an open source project and we encourage contributions. Please review the contributing guidelines before contributing.

In the spirit of free software, everyone is encouraged to help improve this project.

Here are some ways you can contribute:

License

Spree is released under the New BSD License.

About Spark Solutions

Spark Solutions

Spark Solutions is a software development agency specialized in Ruby on Rails, Spree Commerce and Javascript development. We’ve been leading Spree open-source efforts since 2016 as its core team. We also do client work. Our project teams consist of UX and UI designers, Software Engineers, Testers and Project Managers practicing agile project delivery. We’ll integrate our team with yours to jointly architect, deliver, maintain and scale the software products you need. You drive the project with requirements and acceptance testing and we help you deliver faster using industry-standard project management and comms best practices.

We are passionate about open source software. We are available for hire.

About

Spree is a complete, modular & API-driven open source ecommerce solution for Ruby on Rails

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

22,906 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Spree Commerce

Gem VersionCircle CICode ClimateTest CoverageSlack Status

Spree is a complete open source e-commerce solution built with Ruby on Rails. It was started by Sean Schofield and is now developed by Spark Solutions. We're open to contributions.

Spree consists of several different gems (modules), each of which are maintained in a single repository and documented in a single set of online documentation.

  • spree_api (REST API v2 with JavaScript / TypeScript SDK and REST API v1)
  • spree_graphql (GraphQL API - coming soon)
  • spree_frontend (mobile-first, blazing fast and customizable storefront)
  • spree_backend (feature rich Admin Panel)
  • spree_cmd (command-line tools for developers)
  • spree_core (models, services & mailers, the basic components of Spree)
  • spree_sample (sample data for demo purposes)

Demo

Go to: https://demo.spreecommerce.org/ Explore demo features: https://spreecommerce.org/spree-commerce-demo-explainer/

Or fire up your own demo on Heroku:

Deploy

Admin panel credentials for your own Heroku demo:

  • login: spree@example.com
  • password: spree123

Local Installation

Option A - use Spree Starter with Docker

  1. Install Docker
  2. Download Spree Starter
  3. Unzip it
  4. Run bin/setup in spree_starter-main directory

Option B - add Spree to an existing application

  1. Please follow Add Spree to an existing Ruby on Rails application tutorial

Extensions

Spree Extensions provide additional features not present in the Core system.

ExtensionSpree 3.2+ supportDescription
spree_analytics_trackersBuild StatusAdds support for Analytics Trackers (Google Analytics & Segment)
spree_avatax_officialBuild StatusImprove your Spree store's sales tax decision automation with Avalara AvaTax
spree_auth_deviseBuild StatusProvides authentication services for Spree, using the Devise gem.
better_spree_paypal_expressBuild StatusThis is the official Paypal Express extension for Spree.
spree_braintree_vzeroBuild StatusOfficial Spree Braintree v.zero + PayPal extension
spree_contact_usBuild StatusAdds Contact Us form
spree_digitalBuild StatusA Spree extension to enable downloadable products
spree_gatewayBuild StatusPayment Gateways (Stripe, Apple Pay, Braintree, Authorize.net and many others)
spree_editorBuild StatusRich text editor for Spree with Image and File uploading in-place
spree_globalizeBuild StatusAdds support for model translations (multi-language stores)
spree_i18nBuild StatusI18n translation files for Spree Commerce
spree-mollie-gatewayBuild StatusOfficial Mollie payment gateway for Spree Commerce.
spree-multi-domainBuild StatusMultiple Spree stores on different domains - single unified backed for processing orders
spree_multi_vendorBuild StatusSpree Multi Vendor Marketplace extension
spree-product-assemblyBuild StatusProduct Bundles
spree_recently_viewedBuild StatusRecently viewed products in Spree
spree_related_productsBuild StatusRelated products extension for Spree
spree_socialBuild StatusBuilding block for spree social networking features (provides authentication and account linkage)
spree_sitemapBuild StatusSitemap Generator for Spree
spree_sharedBuild StatusMulti-tenancy for Spree using Apartment (per tenant databases)
spree_static_contentBuild StatusManage static pages for Spree
spree_volume_pricingBuild StatusIt determines the price for a particular product variant with predefined ranges of quantities
spree_wishlistBuild StatusWishlist extension for Spree

Developing Spree

Please follow this guide

Contributing

Spree is an open source project and we encourage contributions. Please review the contributing guidelines before contributing.

In the spirit of free software, everyone is encouraged to help improve this project.

Here are some ways you can contribute:

License

Spree is released under the New BSD License.

About Spark Solutions

Spark Solutions

Spark Solutions is a software development agency specialized in Ruby on Rails, Spree Commerce and Javascript development. We’ve been leading Spree open-source efforts since 2016 as its core team. We also do client work. Our project teams consist of UX and UI designers, Software Engineers, Testers and Project Managers practicing agile project delivery. We’ll integrate our team with yours to jointly architect, deliver, maintain and scale the software products you need. You drive the project with requirements and acceptance testing and we help you deliver faster using industry-standard project management and comms best practices.

We are passionate about open source software. We are available for hire.

About

Spree is a complete, modular & API-driven open source ecommerce solution for Ruby on Rails

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

22,906 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Spree Commerce

Gem VersionCircle CICode ClimateTest CoverageSlack Status

Spree is a complete open source e-commerce solution built with Ruby on Rails. It was started by Sean Schofield and is now developed by Spark Solutions. We're open to contributions.

Spree consists of several different gems (modules), each of which are maintained in a single repository and documented in a single set of online documentation.

  • spree_api (REST API v2 with JavaScript / TypeScript SDK and REST API v1)
  • spree_graphql (GraphQL API - coming soon)
  • spree_frontend (mobile-first, blazing fast and customizable storefront)
  • spree_backend (feature rich Admin Panel)
  • spree_cmd (command-line tools for developers)
  • spree_core (models, services & mailers, the basic components of Spree)
  • spree_sample (sample data for demo purposes)

Demo

Go to: https://demo.spreecommerce.org/ Explore demo features: https://spreecommerce.org/spree-commerce-demo-explainer/

Or fire up your own demo on Heroku:

Deploy

Admin panel credentials for your own Heroku demo:

  • login: spree@example.com
  • password: spree123

Local Installation

Option A - use Spree Starter with Docker

  1. Install Docker
  2. Download Spree Starter
  3. Unzip it
  4. Run bin/setup in spree_starter-main directory

Option B - add Spree to an existing application

  1. Please follow Add Spree to an existing Ruby on Rails application tutorial

Extensions

Spree Extensions provide additional features not present in the Core system.

ExtensionSpree 3.2+ supportDescription
spree_analytics_trackersBuild StatusAdds support for Analytics Trackers (Google Analytics & Segment)
spree_avatax_officialBuild StatusImprove your Spree store's sales tax decision automation with Avalara AvaTax
spree_auth_deviseBuild StatusProvides authentication services for Spree, using the Devise gem.
better_spree_paypal_expressBuild StatusThis is the official Paypal Express extension for Spree.
spree_braintree_vzeroBuild StatusOfficial Spree Braintree v.zero + PayPal extension
spree_contact_usBuild StatusAdds Contact Us form
spree_digitalBuild StatusA Spree extension to enable downloadable products
spree_gatewayBuild StatusPayment Gateways (Stripe, Apple Pay, Braintree, Authorize.net and many others)
spree_editorBuild StatusRich text editor for Spree with Image and File uploading in-place
spree_globalizeBuild StatusAdds support for model translations (multi-language stores)
spree_i18nBuild StatusI18n translation files for Spree Commerce
spree-mollie-gatewayBuild StatusOfficial Mollie payment gateway for Spree Commerce.
spree-multi-domainBuild StatusMultiple Spree stores on different domains - single unified backed for processing orders
spree_multi_vendorBuild StatusSpree Multi Vendor Marketplace extension
spree-product-assemblyBuild StatusProduct Bundles
spree_recently_viewedBuild StatusRecently viewed products in Spree
spree_related_productsBuild StatusRelated products extension for Spree
spree_socialBuild StatusBuilding block for spree social networking features (provides authentication and account linkage)
spree_sitemapBuild StatusSitemap Generator for Spree
spree_sharedBuild StatusMulti-tenancy for Spree using Apartment (per tenant databases)
spree_static_contentBuild StatusManage static pages for Spree
spree_volume_pricingBuild StatusIt determines the price for a particular product variant with predefined ranges of quantities
spree_wishlistBuild StatusWishlist extension for Spree

Developing Spree

Please follow this guide

Contributing

Spree is an open source project and we encourage contributions. Please review the contributing guidelines before contributing.

In the spirit of free software, everyone is encouraged to help improve this project.

Here are some ways you can contribute:

License

Spree is released under the New BSD License.

About Spark Solutions

Spark Solutions

Spark Solutions is a software development agency specialized in Ruby on Rails, Spree Commerce and Javascript development. We’ve been leading Spree open-source efforts since 2016 as its core team. We also do client work. Our project teams consist of UX and UI designers, Software Engineers, Testers and Project Managers practicing agile project delivery. We’ll integrate our team with yours to jointly architect, deliver, maintain and scale the software products you need. You drive the project with requirements and acceptance testing and we help you deliver faster using industry-standard project management and comms best practices.

We are passionate about open source software. We are available for hire.

About

Spree is a complete, modular & API-driven open source ecommerce solution for Ruby on Rails

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

22,906 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Spree Commerce

Gem VersionCircle CICode ClimateTest CoverageSlack Status

Spree is a complete open source e-commerce solution built with Ruby on Rails. It was started by Sean Schofield and is now developed by Spark Solutions. We're open to contributions.

Spree consists of several different gems (modules), each of which are maintained in a single repository and documented in a single set of online documentation.

  • spree_api (REST API v2 with JavaScript / TypeScript SDK and REST API v1)
  • spree_graphql (GraphQL API - coming soon)
  • spree_frontend (mobile-first, blazing fast and customizable storefront)
  • spree_backend (feature rich Admin Panel)
  • spree_cmd (command-line tools for developers)
  • spree_core (models, services & mailers, the basic components of Spree)
  • spree_sample (sample data for demo purposes)

Demo

Go to: https://demo.spreecommerce.org/ Explore demo features: https://spreecommerce.org/spree-commerce-demo-explainer/

Or fire up your own demo on Heroku:

Deploy

Admin panel credentials for your own Heroku demo:

  • login: spree@example.com
  • password: spree123

Local Installation

Option A - use Spree Starter with Docker

  1. Install Docker
  2. Download Spree Starter
  3. Unzip it
  4. Run bin/setup in spree_starter-main directory

Option B - add Spree to an existing application

  1. Please follow Add Spree to an existing Ruby on Rails application tutorial

Extensions

Spree Extensions provide additional features not present in the Core system.

ExtensionSpree 3.2+ supportDescription
spree_analytics_trackersBuild StatusAdds support for Analytics Trackers (Google Analytics & Segment)
spree_avatax_officialBuild StatusImprove your Spree store's sales tax decision automation with Avalara AvaTax
spree_auth_deviseBuild StatusProvides authentication services for Spree, using the Devise gem.
better_spree_paypal_expressBuild StatusThis is the official Paypal Express extension for Spree.
spree_braintree_vzeroBuild StatusOfficial Spree Braintree v.zero + PayPal extension
spree_contact_usBuild StatusAdds Contact Us form
spree_digitalBuild StatusA Spree extension to enable downloadable products
spree_gatewayBuild StatusPayment Gateways (Stripe, Apple Pay, Braintree, Authorize.net and many others)
spree_editorBuild StatusRich text editor for Spree with Image and File uploading in-place
spree_globalizeBuild StatusAdds support for model translations (multi-language stores)
spree_i18nBuild StatusI18n translation files for Spree Commerce
spree-mollie-gatewayBuild StatusOfficial Mollie payment gateway for Spree Commerce.
spree-multi-domainBuild StatusMultiple Spree stores on different domains - single unified backed for processing orders
spree_multi_vendorBuild StatusSpree Multi Vendor Marketplace extension
spree-product-assemblyBuild StatusProduct Bundles
spree_recently_viewedBuild StatusRecently viewed products in Spree
spree_related_productsBuild StatusRelated products extension for Spree
spree_socialBuild StatusBuilding block for spree social networking features (provides authentication and account linkage)
spree_sitemapBuild StatusSitemap Generator for Spree
spree_sharedBuild StatusMulti-tenancy for Spree using Apartment (per tenant databases)
spree_static_contentBuild StatusManage static pages for Spree
spree_volume_pricingBuild StatusIt determines the price for a particular product variant with predefined ranges of quantities
spree_wishlistBuild StatusWishlist extension for Spree

Developing Spree

Please follow this guide

Contributing

Spree is an open source project and we encourage contributions. Please review the contributing guidelines before contributing.

In the spirit of free software, everyone is encouraged to help improve this project.

Here are some ways you can contribute:

License

Spree is released under the New BSD License.

About Spark Solutions

Spark Solutions

Spark Solutions is a software development agency specialized in Ruby on Rails, Spree Commerce and Javascript development. We’ve been leading Spree open-source efforts since 2016 as its core team. We also do client work. Our project teams consist of UX and UI designers, Software Engineers, Testers and Project Managers practicing agile project delivery. We’ll integrate our team with yours to jointly architect, deliver, maintain and scale the software products you need. You drive the project with requirements and acceptance testing and we help you deliver faster using industry-standard project management and comms best practices.

We are passionate about open source software. We are available for hire.

About

Spree is a complete, modular & API-driven open source ecommerce solution for Ruby on Rails

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

22,906 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Spree Commerce

Gem VersionCircle CICode ClimateTest CoverageSlack Status

Spree is a complete open source e-commerce solution built with Ruby on Rails. It was started by Sean Schofield and is now developed by Spark Solutions. We're open to contributions.

Spree consists of several different gems (modules), each of which are maintained in a single repository and documented in a single set of online documentation.

  • spree_api (REST API v2 with JavaScript / TypeScript SDK and REST API v1)
  • spree_graphql (GraphQL API - coming soon)
  • spree_frontend (mobile-first, blazing fast and customizable storefront)
  • spree_backend (feature rich Admin Panel)
  • spree_cmd (command-line tools for developers)
  • spree_core (models, services & mailers, the basic components of Spree)
  • spree_sample (sample data for demo purposes)

Demo

Go to: https://demo.spreecommerce.org/ Explore demo features: https://spreecommerce.org/spree-commerce-demo-explainer/

Or fire up your own demo on Heroku:

Deploy

Admin panel credentials for your own Heroku demo:

  • login: spree@example.com
  • password: spree123

Local Installation

Option A - use Spree Starter with Docker

  1. Install Docker
  2. Download Spree Starter
  3. Unzip it
  4. Run bin/setup in spree_starter-main directory

Option B - add Spree to an existing application

  1. Please follow Add Spree to an existing Ruby on Rails application tutorial

Extensions

Spree Extensions provide additional features not present in the Core system.

ExtensionSpree 3.2+ supportDescription
spree_analytics_trackersBuild StatusAdds support for Analytics Trackers (Google Analytics & Segment)
spree_avatax_officialBuild StatusImprove your Spree store's sales tax decision automation with Avalara AvaTax
spree_auth_deviseBuild StatusProvides authentication services for Spree, using the Devise gem.
better_spree_paypal_expressBuild StatusThis is the official Paypal Express extension for Spree.
spree_braintree_vzeroBuild StatusOfficial Spree Braintree v.zero + PayPal extension
spree_contact_usBuild StatusAdds Contact Us form
spree_digitalBuild StatusA Spree extension to enable downloadable products
spree_gatewayBuild StatusPayment Gateways (Stripe, Apple Pay, Braintree, Authorize.net and many others)
spree_editorBuild StatusRich text editor for Spree with Image and File uploading in-place
spree_globalizeBuild StatusAdds support for model translations (multi-language stores)
spree_i18nBuild StatusI18n translation files for Spree Commerce
spree-mollie-gatewayBuild StatusOfficial Mollie payment gateway for Spree Commerce.
spree-multi-domainBuild StatusMultiple Spree stores on different domains - single unified backed for processing orders
spree_multi_vendorBuild StatusSpree Multi Vendor Marketplace extension
spree-product-assemblyBuild StatusProduct Bundles
spree_recently_viewedBuild StatusRecently viewed products in Spree
spree_related_productsBuild StatusRelated products extension for Spree
spree_socialBuild StatusBuilding block for spree social networking features (provides authentication and account linkage)
spree_sitemapBuild StatusSitemap Generator for Spree
spree_sharedBuild StatusMulti-tenancy for Spree using Apartment (per tenant databases)
spree_static_contentBuild StatusManage static pages for Spree
spree_volume_pricingBuild StatusIt determines the price for a particular product variant with predefined ranges of quantities
spree_wishlistBuild StatusWishlist extension for Spree

Developing Spree

Please follow this guide

Contributing

Spree is an open source project and we encourage contributions. Please review the contributing guidelines before contributing.

In the spirit of free software, everyone is encouraged to help improve this project.

Here are some ways you can contribute:

License

Spree is released under the New BSD License.

About Spark Solutions

Spark Solutions

Spark Solutions is a software development agency specialized in Ruby on Rails, Spree Commerce and Javascript development. We’ve been leading Spree open-source efforts since 2016 as its core team. We also do client work. Our project teams consist of UX and UI designers, Software Engineers, Testers and Project Managers practicing agile project delivery. We’ll integrate our team with yours to jointly architect, deliver, maintain and scale the software products you need. You drive the project with requirements and acceptance testing and we help you deliver faster using industry-standard project management and comms best practices.

We are passionate about open source software. We are available for hire.

About

Spree is a complete, modular & API-driven open source ecommerce solution for Ruby on Rails

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages