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
170
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
36
Italy
alepore
1
110
Web App Security
alepore
1
48
Ruby and Rails
alepore
0
83
Ruby Introduction
alepore
0
65
E-commerce is hard
alepore
2
210
Ruby-lang.org
alepore
0
73
Other Decks in Programming
See All in Programming
エンジニア向けCursor勉強会 @ SmartHR
yukisnow1823
3
12k
AWS Summit Hong Kong 2025: Reinventing Programming - How AI Transforms Our Enterprise Coding Approach
dwchiang
0
140
マイコンでもRustのtestがしたい/KernelVM Kansai 11
tnishinaga
1
900
generative-ai-use-cases(GenU)の推しポイント ~2025年4月版~
hideg
1
400
最速Green Tea 🍵 Garbage Collector
kuro_kurorrr
1
130
note の Elasticsearch 更新系を支える技術
tchov
9
3.6k
ビカム・ア・コパイロット
ymd65536
1
140
GitHub Copilot for Azureを使い倒したい
ymd65536
1
330
Beyond_the_Prompt__Evaluating__Testing__and_Securing_LLM_Applications.pdf
meteatamel
0
110
KANNA Android の技術的課題と取り組み
watabee
1
520
エンジニアが挑む、限界までの越境
nealle
1
330
Embracing Ruby magic
vinistock
2
250
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Cost Of JavaScript in 2023
addyosmani
49
7.8k
How to Ace a Technical Interview
jacobian
276
23k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.2k
Optimizing for Happiness
mojombo
378
70k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.3k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Why Our Code Smells
bkeepers
PRO
336
57k
Thoughts on Productivity
jonyablonski
69
4.6k
Fireside Chat
paigeccino
37
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