Spree Quickstart
How to quickly get started with Spree on Rails.
MySQL
Prepare MySQL for the Rails app.
CREATE USER spree_db_user@'localhost' IDENTIFIED BY 'secreto';
GRANT ALL PRIVILEGES ON spree_example_development.* TO spree_db_user@'localhost';
GRANT ALL PRIVILEGES ON spree_example_test.* TO spree_db_user@'localhost';
exit
You can verify that the user was correctly created:
mysql -u spree_db_user -p
Rails
Create the Rails app and enter that folder.
rails new spree-example -d mysql
cd spree-example
Setup the MySQL database
In config/database.yml
update the username, password and database name that we just created.
default: &default
adapter: mysql2
encoding: utf8
pool: 5
username: spree_db_user
password: 'secreto'
development:
<<: *default
database: spree_example_development
test:
<<: *default
database: spree_example_test
Create the database.
rake db:create
At this point we should have an empty Rails app that is able to boot.
rails s
# visit
# http://localhost:3000/
You'll see the usual:
Welcome aboard You’re riding Ruby on Rails!
Spree
Remember API only.
In Gemfile
add
gem 'spree_backend', '3.0.0'
gem 'spree_sample', '3.0.0'
bundle install
rails g spree:install
Edit config/routes
so that it looks like this:
#get "/" => redirect("/admin")
#get "/login" => redirect("/admin/login")
root to: "spree/admin/orders#index"
mount Spree::Core::Engine, :at => '/'
In config/initializers/devise.rb
add
Setup app.
rake db:migrate
rake db:seed
rake spree_sample:load
All done, run the app:
rails server
# visit
Remove frontend leftovers
rm -r vendor/assets/javascripts/spree/frontend/
rm -r vendor/assets/stylesheets/spree/frontend/