MCPSERV.CLUB
Spree Commerce

Spree Commerce

Self-Hosted

Open‑source eCommerce platform for custom storefronts

Active(100)
15.0kstars
0views
Updated 20 hours ago
Spree Commerce screenshot

Overview

Discover what makes Spree Commerce powerful

Spree Commerce is a modular, open‑source e‑commerce platform built on **Ruby on Rails**. It exposes a rich RESTful API and a set of well‑structured Ruby gems that allow developers to spin up fully functional storefronts or headless services in minutes. The core architecture follows Rails’ MVC pattern but is intentionally decoupled: each feature lives in its own engine (e.g., `spree_authentication`, `spree_payments`, `spree_shipping`) that can be dropped in or out. This plug‑in model lets teams cherry‑pick only the modules they need, keeping the codebase lean and testable.

Extensible Engine System

RESTful API & GraphQL

Admin & Storefront Separation

Multi‑Store & Multi‑Tenant

Overview

Spree Commerce is a modular, open‑source e‑commerce platform built on Ruby on Rails. It exposes a rich RESTful API and a set of well‑structured Ruby gems that allow developers to spin up fully functional storefronts or headless services in minutes. The core architecture follows Rails’ MVC pattern but is intentionally decoupled: each feature lives in its own engine (e.g., spree_authentication, spree_payments, spree_shipping) that can be dropped in or out. This plug‑in model lets teams cherry‑pick only the modules they need, keeping the codebase lean and testable.

Key Features

  • Extensible Engine System – Each domain (products, orders, payments) is an isolated Rails engine. New engines can be authored and shared via RubyGems, fostering a vibrant ecosystem.
  • RESTful API & GraphQL – The API layer is versioned and follows JSON:API conventions, enabling seamless integration with front‑end frameworks or external services. A GraphQL endpoint is also available for flexible data fetching.
  • Admin & Storefront Separation – The admin dashboard (built with React and Rails API) is a separate front‑end, allowing independent scaling and custom UI layers. The storefront can be rendered server‑side with Rails or consumed headlessly by any JavaScript framework.
  • Multi‑Store & Multi‑Tenant – Spree 5 introduces modules for multi‑vendor marketplaces, B2B workflows, and white‑label SaaS deployments. These modules expose tenant‑scoped models and API scopes that enforce data isolation at the database level.
  • Payment & Shipping Integrations – Out‑of‑the‑box adapters for Stripe, Braintree, PayPal, and major shipping carriers. Custom payment methods can be added by extending the PaymentMethod interface.

Technical Stack

LayerTechnology
Web frameworkRuby on Rails 7 (API mode)
Front‑endReact (Admin), optional SPA frameworks for headless storefronts
DatabasePostgreSQL (primary), Redis for caching and background jobs
Background processingSidekiq, ActionCable for real‑time updates
ContainerizationDocker images available; Helm charts for Kubernetes
TestingRSpec, Capybara, FactoryBot (full test suite shipped)

The stack is intentionally lightweight: Rails provides rapid development and a mature ecosystem, while Docker ensures consistent runtime environments across CI/CD pipelines.

Deployment & Infrastructure

Spree is designed for self‑hosting but also supports cloud deployments. A typical stack includes:

  • PostgreSQL for relational data, with optional sharding for high‑volume stores.
  • Redis for session store and Sidekiq queues, essential for handling payment callbacks and order processing.
  • Nginx/Traefik as a reverse proxy, exposing the Rails API and WebSocket endpoints.
  • Docker Compose for local development; Kubernetes with Helm charts for production scaling.

Horizontal scaling is straightforward: the API layer can be load‑balanced, while Sidekiq workers scale horizontally. The modular engines allow selective deployment; for example, a headless storefront can run on a lightweight Node.js server that consumes the Spree API.

Integration & Extensibility

Spree’s plugin architecture is a developer’s playground. To add a new feature, create a Rails engine that declares its routes, models, and services, then register it in the main application. The API layer automatically documents new endpoints via Swagger/OpenAPI. Webhooks are supported natively; merchants can subscribe to events such as order.completed or product.updated. For B2B scenarios, the Enterprise Edition ships with a comprehensive audit log and role‑based access control that can be extended through custom policies.

Developer Experience

  • Documentation: The official docs are API‑first, with example payloads and versioning notes. Community tutorials cover everything from basic CRUD to advanced marketplace setups.
  • Community & Support: A Slack workspace with ~7K members, active GitHub discussions, and a dedicated mailing list. The core team maintains rapid issue triage.
  • Configuration: Environment variables control database URLs, payment secrets, and feature flags. The config/initializers directory contains clear examples for customizing the admin UI or overriding default tax calculations.
  • Testing: The included test suite demonstrates best practices for factories, shared examples, and integration tests, making it easier to bootstrap new feature branches.

Use Cases

  • Multi‑Tenant SaaS: Companies like GoDaddy use Spree to power thousands of independent storefronts, leveraging the multi‑tenant module for tenant isolation and white‑label branding.
  • Headless Commerce: Startups can expose the Spree API to a React or Vue front‑end, achieving rapid time‑to‑market while keeping the back‑end logic in Rails.
  • Marketplace & B2B: The marketplace engine lets developers build a two‑sided platform with vendor dashboards, commission logic, and order routing—all within the same codebase.
  • Enterprise Customization: Large merchants can extend Spree with custom tax engines, shipping rules, or integration plugins without rewriting core logic.

Advantages

  • Full Control & Open Source: No vendor lock‑in; source code is available under the MIT license, allowing deep customization.
  • Ruby on Rails Familiarity: Developers already

Open SourceReady to get started?

Join the community and start self-hosting Spree Commerce today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
NOASSERTION
Stars
15.0k
Technical Specs
Pricing
Open Source
Docker
Community
Supported OS
LinuxDocker
Author
spree
spree
Last Updated
20 hours ago