Getting Started with Solidus Series 1: Setup

Reading Time: 2 minutes

Solidus is an open-source eCommerce solution built with Ruby on Rails and maintained by a community of passionate developers. In this blogpost we are going to set up a local development environment to start building an online store to sell pretty much whatever you want.

Let's get started!

What do I need?

You can start your Solidus setup in almost any OS, in this case we will be using MacOS.

If you were to have a different Operating System, only adjust the commands to match your system requirements, keep in mind: : StackOverflow is your friend.

The Solidus official site has a pretty cool getting-started tutorial for setting up our development environment. In order to avoid reinventing the wheel, I will just add the instructions down below in the correct order. If you have any questions about why we need them, just take a look at the Solidus Guides site for a detailed explanation.

Now, let's get our development environment up and running:

brew install ruby imagemagick
gem install rails

Great! Now we have everything we need to start building our own Solidus Store, so let's do it!

Create a new Ruby on Rails application

Let's create a new Ruby on Rails application. Solidus will run over this application in order to provide all the necessary stuff for a store to work properly. And here comes the most complex thing about software development: Naming things. Name your store as you want to, and make sure it looks gorgeous; mine will be ‘Amazing Store’, since I am going to sell amazing stuff.

rails new amazing_store

Now, assuming that you have previously worked with a Rails application, let's go ahead and add the Solidus gems to the project via Gemfile:

gem 'solidus'
gem 'solidus_auth_devise'

And then install the gems:

bundle install

Finally let's set up the solidus gems via the following commands:

bundle exec rails generate spree:install
bundle exec rails generate solidus:auth:install
bundle exec rails railties:install:migrations
bundle exec rails db:migrate

For a detailed explanation of every command you can always check the official documentation.

Setting up Postgres

Solidus comes with SQLite built-in as the database manager by default, though easy to use, SQLite is not intended to be a production grade database. We are going to use Postgres which will also facilitate our future deploy.

Let's add the gem to the Gemfile:

gem 'pg'

And remove the SQLite gem.

Then let's update the database.yml

default: &default
  adapter: postgresql
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>;
  timeout: 5000

  <<: *default
  database: amazing_store_development

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
  <<: *default
  database: amazing_store_test

  <<: *default
  database: amazing_store_production

Finally, we are ready to see our brand new store, let's run:

rails s

Open the browser and navigate to: http://localhost:3000/ to take a look at your newly created store:

solidus store screenshot

Congratulations! Your development environment setup is up and running! Following our next post, we will start customizing the look and feel of the store. In the meantime, navigate through your store, get yourself comfortable!

See you all in the next post! Stay tuned!

You May Also Like