Workarea is an open-source, enterprise-grade commerce platform. The platform and many of its plugins are maintained by Workarea. The rest of the Workarea community maintain the majority of Workarea's plugins and also contribute directly to the platform. Workarea Commerce Cloud is a subscription service offered by the Workarea company, which includes extended functionality and cloud-based hosting.
Workarea is written in Ruby, and is built on the Ruby on Rails framework. As such, it's distributed as a gem via RubyGems. Workarea and it's plugins are Rails' engines that get mounted inside a host Rails application. Workarea also relies on Sidekiq for processing background work.
MongoDB serves as the canonical, database-of-record in Workarea. Its flexible, document-oriented data model is a good fit for diverse catalogs offered by retailers and fits well with our plugin model, where the schema can be managed in the application code.
Elasticsearch drives all the important listing and browsing done in Workarea. This includes storefront search, product recommendations, category browsing, admin indexes, and more. Its robust querying makes it a perfect fit for all the searching requirements a large ecommerce system has.
Redis is Workarea's Swiss army knife of databases. It stores the Sidekiq job queue, provides storage for recommendations, serves as the Rails cache, and more.
Workarea is designed to be customized to work for merchants with different needs. The four primary ways of customizing Workarea's behaviors are configuration, plugins, decoration, and Rails' overrides system (overriding).
Workarea inherits the Rails' community's ethic of testing. In this spirit, Workarea distributes its test suite as runnable and customizable, just like any application code using decoration techniques. This helps implementers of Workarea to ensure their customizations don't break Workarea out-of-the-box functionality and helps with upgrades to new versions. Read more on testing.
How do I get started?
You have two options for jumping in with Workarea.
Help Us Improve this Doc
Was this helpful? Open a GitHub issue to report a problem with this doc, suggest an improvement, or otherwise provide feedback. Thanks!