Spree Commerce

Try It Now

Spree Commerce Growing; Expanding Staff

Posted on April 07, 2015 by Alexander Diegel

Spree Commerce, the company powering the growth of over 45,000 retailers, is about to experience some growth of its own. Spree is on the hunt for multiple team members across different positions, ranging from Office Manager to Senior Ruby & Full Stack Engineers to Product Manager.

Ideal candidates will work out of our DC-area headquarters—how else will they receive foosball and air hockey privileges, as well as access to the tasty beverages in our fully-stocked fridge? However, when we say we’re looking for the best in the world, we mean it; Spree currently has employees from four different countries working remotely.

Spree Commerce is on a mission to empower the world’s sellers through cutting-edge solutions that deliver stability, flexibility, and peace of mind. We believe in running lean, maximizing the quality of our people, and trusting each other with broad responsibility, as we continue to build out the technology that’s powering the next generation of ecommerce.

If this sounds like an experience you’d like to be a part of, then check out our full list of job openings, and if there’s an open position you’re interested in, send us an application. We look forward to hearing from you!

How to Send Email in Spree

Posted on April 01, 2015 by Divya Manikandan

About the Author

Divya Manikandan is a Digital marketer at Infigic. Infigic is an ecommerce agency that develops with Spree Commerce. Infigic was started by experienced ecommerce professionals who have built succesful ecommerce ventures in the past and have started off this venture to help fellow ecommerce entrepreneurs. You can check out Infigic’s portfolio here.

How to Send Email in Development with Spree

This problem arises because you don’t have a local email server to receive your emails.

Step 1:

The first step would be to Install the mailcatcher gem in order to test the setup in development.

You will be using it as a SMTP server to catch all the incoming mails and display them on http://localhost:1080/:

Step 2:

Just run in the terminal “gem install mailcatcher” in the console.

You will find an SMTP server running on port 1025 catching emails and displaying them on HTTP port 1080

Step 3:

Add spree mail settings gem to your Gemfile:-

Add Line:

gem ‘spree_mail_settings’, github: ‘spree-contrib/spree_mail_settings’, branch: ’master‘

Then run:


Step 4:

Further, go to “Spree admin panel” and configure it. These settings will work perfectly for you without any code writing.

Then click on “Send test mail”

Mail Method Setting

Step 5:

You will receive the an email on your local host.

Now your problem is solved.

If you have any further questions, you can follow us on twitter or you can even drop us an email at info@infigic.com. To view this blog in its original format, visit the blog of Infigic.

Scalability with Spree Commerce

Posted on March 26, 2015 by Rory MacDonald

About the Author

Rory MacDonald is a founder and director of Made. Made is a team of software experts who are passionate about delivering well-crafted, mission-critical software. The team works work with organizations across many sectors who share their drive to produce standout, commercially succssful work.

“Does Spree Commerce scale?”
“How many products can Spree handle?”
“How many concurrent users can Spree support?”
“What is the most popular Spree Storefront?”

These are some of the questions we’re asked when discussing Spree Commerce with new customers. You’ll notice they’re all about ‘scalability’ and whether Spree can cope with high levels of traffic or large product catalogs. These questions are understandable, and the sort of things you should be asking about a relatively new platform.

I hope this article will provide some reassurance that Spree is more than capable of scaling to very large numbers. We’ll demonstrate the approach we take to scalability and what you should be doing to understand your system’s constraints and the points at which you’re going to need additional capacity.

When people talk about scalability, they tend to be referring to one of two things: a) throughput or b) Product Catalog size. In this post, we’re going to focus on throughput.

What is Throughput?

Throughput is the number of requests your application can serve in a given time period. The higher this value, the more scalable your application is.

Your application throughput is likely to vary between pages (as functionality and resource requirements will differ) and throughput will be constrained by the compute resources that you have available, such as your server type, server size or amount of machines within a load balanced cluster.

How Does it Affect Scalability?

The scalability of your application is directly linked to its throughput, as the more requests your application can serve, the more scalable your system is going to be and the fewer compute resources you’re going to need.

We’ve found the best way to get an accurate picture of your Spree scalability is to run volume tests. Volume tests are a technique we use to simulate large numbers of users accessing the store. They provide a realistic measure of how the store will perform under significant load.

To run volume tests, you need to setup a server environment which mimics the resource constraints of your production environment. These constraints will vary between hosting environments, so it’s very important that you benchmark on the exact same environment that you’ll be using for production, or the results will be of no use.

To begin the volume test, you will need to define a number of scenarios which mimic what your users would do on the site. They could be something like:

  • Visit Homepage
  • Visit Product Listings
  • Add to Basket
  • Add Coupon Code
  • Enter Email Address

It’s important to bear in mind that different pages on the site will have different throughput, so only testing pages with high throughputs will provide inconclusive results.

You can use tools like NewRelic and Google Analytics to get an idea of the throughputs on your pages, and the user journeys customers take.

Once you have these defined, you should write them in a format that a volume testing tool can consume. We’ve used BlazeMeter and LoadImpact to volume test Spree in the past, but other tools are available.

Running the Volume Test

Next you need to run the test. You should define the number of Virtual Users (VUs) you want to concurrently access the storefront and the period of time you want the test to run for.

We tend to start with ~50 concurrent VUs for 5 minutes and increase from there. As you increase the number of concurrent users, you should be looking for your application performance to remain fairly consistent. If you see your response time decrease, this is a sign that optimizations need to be made.


In the benchmarks that we ran, we deployed the standard Spree 2.4 storefront within a load-balanced AWS environment, which had two Large Amazon EC2 instances running 14 Unicorn workers on each and was backed by a single large AWS RDS instance. This setup scaled out to approximately ~4800 requests per minute and to 30,000 orders per day.

To view this blog in its original format, visit the blog of Made.

Get Started with Spree Commerce

Posted on March 24, 2015 by 3llideas

About the Author

3llideas is a development agency with years of experience in ecommerce. As a Spree Commerce Certified Partner, 3llideas has launched Spree Commerce stores for businesses around the world, spanning a range of industries.

Here at 3llideas, we adore working with the Spree Commerce platform. We are far from the only ones, as thousands of online stores are managed by Spree software, with even more developers working on the open source technology. The popularity of Spree, with more developers learning it every day, is why we want to provide key steps to help programmers starting out with Spree Commerce.

Have you wanted to try Spree, but don’t know where to start? Have you heard programmers talk about it, and want to see first-hand if it fits your project? Well keep reading, as we’ll give you all the information you’ll need to get started with Spree Commerce.

One of the most common questions we hear is, “How do I start with Spree?” Open source software has many positive aspects, but sometimes poor documentation or, even its absence all together, may discourage people starting the development or testing. This is not the case with Spree Commerce, as it is relatively easy to find tutorials and “How tos.” However, in addition to Spree’s existing docs, we’re going to put together our own tutorial using Castilian. This will provide a short guide to getting ready to run Spree, to give you an idea of how easy it can be.

It’s our goal that as many companies as possible use this software, so they can discover the benefits that can be applied to their business by becoming an expert in Spree Commerce. The first steps to installing Spree are:

1. Prepare the development environment for running applications on Ruby on Rails:

To do this we have a Mac, Linux or Windows computer on which you install a series of elements that allow us to run the full software. The items will install:

  • Git
  • RVM (Ruby Version Manager) tool that will allow us to have different versions of Ruby installed on one computer to use them in various projects.
  • Imagemagick library of image processing that needs Spree
  • Any other software needed, pending the type of project being developed

This is the necessary software, so now we’ll tell you where to find it. There’s no need to reinvent the wheel, so we selected a railsapps installation guide that we’ve often used for its clarity and explanation. You have the guide for Mac and Linux (Ubuntu). We don’t have Windows experience personally, but recommend using Ubuntu after completing the training.

2. Install Spree Commerce Version 3.0.0

With the development environment ready to start Rails applications, we can go ahead and install Spree. At the time of this writing, Spree version 3 is available and recommended for testing. This guide will help get your Spree Store fully automated and with the sample data. To do this, open a terminal window, then head to the folder where you want the software, and write the following instructions:

Once we’ve completed the process, we can view our Spree store with some test data by opening a browser and typing " http: // localhost: 3000 ". For the administrative side you can go to " http: // localhost: 3000 / admin" by using the following credentials:

User: spree@example.com
Password: spree123

We hope you feel encouraged to try Spree Commerce. And don’t hesitate to contact us if you need help applying this software to online stores you’re working on.

To view this blog in its original format, visit the blog of 3llideas.