Spree ile e-ticaret(imsi)

Selamlar,

Bir müşterim için e-ticaret sitesine ihtiyacım vardı. Bunu spree ile yapmaya karar verdim.

Fakat müşterim herhangi bir yöntem ile ödeme kabul etmek istemiyordu. Basitçe ürünlerini kategorileriyle birlikte göstermek, hakkımızda sayfası gibi özellikler istiyordu.


Spree

Maalesef Spree Rails5 ile tam uyumlu çalışamıyor. Onun için Rails 4.2.6 versiyonu kullanmaya karar verdim.

Hiç versiyon çakışması gibi dertlerle uğraşmamak için https://c9.io sitesinden bir hesap açıp geliştirmeye başladım.

Öncelikle Gemfile dosyama aşağıdakileri ekledim.

gem 'spree', '~> 3.1.0'
gem 'spree_auth_devise', '~> 3.1.0'
gem 'spree_gateway', '~> 3.1.0'
gem 'spree_static_content', github: 'spree-contrib/spree_static_content', branch: '3-1-stable'
gem 'spree_editor', github: 'spree-contrib/spree_editor', branch: '3-1-stable'
gem 'spree_i18n', github: 'spree-contrib/spree_i18n', branch: '3-1-stable'
gem 'spree_disable_cart', github: 'yigitsadic/spree_disable_cart'
  • Spree gateway, ödeme yöntemleri için (PayPal, kredikart vs.)
  • Spree Static Content, static sayfalar için (Hakkımızda vs. gibi)
  • Spree Editor, güzel fancy bir metin editörü için
  • Spree I18n ise çeviriler için
  • Spree disable cart ise kullanmayacağımız sepete ekle, sipariş gönder özelliklerini kaldırmak için (Yönetim panelinden aç/kapa yapılıyor)

Kurulum

Spree kurulumu için

bundle install
rails g spree:install --user_class=Spree::User
rails g spree:auth:install
rails g spree_gateway:install

Static Content eklentisi kurulumu

bundle exec rails g spree_static_content:install

Spree Editor eklentisi kurulumu

bundle exec rails g spree_editor:install

Spree I18n eklentisi kurulumu

bundle exec rails g spree_i18n:install

Spree Disable Cart eklentisi kurulumu

bundle exec rails g spree_disable_cart:install

Eklenti Kurulum Hataları, Dikkat Edilmesi Gerekenler

Spree Disable Cart eklentisini github’da forkladım çünkü spree 3.1.x ile düzgün çalışmıyordu.

Onun için gemspec dosyasını düzenledim.

# önce
s.add_dependency 'spree_core', '~> 3.0.1'
#sonra
s.add_dependency 'spree_core', '~> 3.1.0'

Logoyu Değiştirme

Kare şeklinde bir logodan çok, alçak ve geniş bir logo işinizi daha iyi görecektir.

Varsayılan logoyu değiştirmek için önce logomuzu assets/images klasörü altına koyalım. — dosyamızın adının logo.png olduğunu varsayıyorum —

config/initializers/spree.rb dosyasını açalım ve aşağıdakileri ekleyelim.

Spree.config do |config|
config.logo = 'logo.png'
end
Spree.user_class = "Spree::User"

Tamamdır.

Sonuç

Spree’nin hala Rails5'i desteklememesi, geliştirici ekibi ile ilgili sorunları ve birazcık tarihi geçik olması can sıkıcı olsa da, işinize yaramayacak diye bir şey yok.

Spree’den forklanan ve kendi ayrı yoluna giden bir proje var: Solidus. Bu projeyi de incelemenizi öneririm.

Sevgi ile kalın.

Spree ile ilgili -eski de olsa- bir screencast bağlantısını da ekleyeyim. Buyursunlar.

— İleride bu yazıyı düzenleyeceğim tekrar.