Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
E-commerce world, Spree/Solidus
Search
Alessandro Lepore
March 25, 2016
Programming
1
180
E-commerce world, Spree/Solidus
Alessandro Lepore
March 25, 2016
Tweet
Share
More Decks by Alessandro Lepore
See All by Alessandro Lepore
Rails performance optimisation tips
alepore
1
41
Italy
alepore
1
110
Web App Security
alepore
1
50
Ruby and Rails
alepore
0
88
Ruby Introduction
alepore
0
67
E-commerce is hard
alepore
2
210
Ruby-lang.org
alepore
0
76
Other Decks in Programming
See All in Programming
サイトを作ったらNFCタグキーホルダーを爆速で作れ!
yuukis
0
340
Bedrock AgentCore ObservabilityによるAIエージェントの運用
licux
9
680
The State of Fluid (2025)
s2b
0
170
実践!App Intents対応
yuukiw00w
1
280
一人でAIプロダクトを作るための工夫 〜技術選定・開発プロセス編〜 / I want AI to work harder
rkaga
12
2.6k
AIレビュアーをスケールさせるには / Scaling AI Reviewers
technuma
2
190
新しいモバイルアプリ勉強会(仮)について
uetyo
1
260
マイコンでもRustのtestがしたい その2/KernelVM Tokyo 18
tnishinaga
2
2.3k
物語を動かす行動"量" #エンジニアニメ
konifar
14
5.1k
decksh - a little language for decks
ajstarks
4
21k
Go製CLIツールをnpmで配布するには
syumai
2
1.2k
AHC051解法紹介
eijirou
0
560
Featured
See All Featured
Writing Fast Ruby
sferik
628
62k
Bash Introduction
62gerente
614
210k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Done Done
chrislema
185
16k
How to Ace a Technical Interview
jacobian
279
23k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.8k
Code Review Best Practice
trishagee
69
19k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Building an army of robots
kneath
306
45k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Transcript
E-commerce world
Me • Alessandro Lepore • from Fano (PU) • @alelepore
/ https://github.com/alepore • Freelance Web Developer @ freego • Longtime Open Source && Linux user • Perl => PHP => Ruby (Rails) => …Elixir?
The e-commerce market is growing, and it’s growing fast. Source:
https://blog.rjmetrics.com/2015/02/04/the-five-indicators-of-breakout-ecommerce-growth/
e-commerce developer
None
One E-commerce, many components • Website, UI, Admin interface etc.
• Catalog, Variants • Checkout • Prices, Promotions, Discounts • Payments, Shipments • Taxes! • Extra: API? Multi Language? Mobile? • External integrations • Offline concepts online • Non dev stuff: marketing, SEO, Customer care etc.
? So? Platform? Framework? Some libraries? Start from scratch?
E-commerce Platforms market share (top 1M sites) Source: https://www.datanyze.com/
E-commerce in Ruby: Spree / Solidus
History (Spree) • 2007: Spree Commerce company • 2008: Spree
0.x • 2011: $1.5M funding • 2012: Spree 1.0 • 2013: Spree 2.0, Wombat • 2014: $5M funding • 2015: Spree 3.0 • 2016: Spree 3.1?
History (Solidus) • Stembolt, bonobos.com • 2014: Spree private fork
• 2015: Solidus 1.0, 1.1 • 2016: Solidus 1.2, Solidus Conf Toronto
Spree / Solidus • 100% Open Source and free •
Small core team + community • Github, mailing list, chat • 17.000+ commits • 600+ contributors • 7.000+ github stars • 600 tests • BSD License
Technologies: Ruby • Programming language from Japan, 1995 • Object-oriented,
also functional and imperative • Dynamic, reflective, general-purpose • Influenced by Perl, Smalltalk, Eiffel, Ada, and Lisp
Technologies: Rails • Full stack MVC web application framework •
“Optimised for programmer happiness” • “Convention over Configuration” • More here: http://rubyonrails.org/doctrine/
Technologies: Spree • Rails engine • Common gems • Good
Rails skills required! • MySQL or PostgreSQL • spree_core • spree_frontend • spree_backend • spree_api • spree_auth_devise
Features • Auth, Users, Addresses • Orders, Adjustments, • Payment
Methods, Payments • Products, Variants, Options • Taxonomies • Taxes, Tax Categories, Tax Rates • Stock Management • (Split) Shipments • Promotions, Rules, Actions • I18N, Translations • Mid/big size projects?
Extensions • All on Github • Just Ruby gems •
Rails engines • Easy to develop • github.com/spree-contrib • spree_gateway • spree_i18n • spree_print_invoice • spree_multi_currency • spree_digital • better_spree_paypal_express • spree_shared • spree_editor • spree_reviews • spree_wishlist • spree_recently_viewed • spree_related_products • spree_sitemap • spree_elasticsearch • … and many moar
Screenshots
Screenshots
The bad parts • “Checkout hell” • Extension points •
Promotions • …moar
Production deploy • Normal Rails deploy • capistrano, git •
Linux + Nginx/Apache or Heroku • RAM!
Use cases • 50.000+ sites? • https://www.godaddy.com/websites/online-store • https://bonobos.com/ •
https://ayr.com • https://www.evagardenshop.com/ • https://www.myfashionhit.com/
Links • https://github.com/solidusio/solidus • http://solidus.io/ • https://github.com/spree/spree • https://spreecommerce.com/ •
http://capistranorb.com/ • http://rubyonrails.org/doctrine/
None