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
150
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
28
Italy
alepore
1
100
Web App Security
alepore
1
42
Ruby and Rails
alepore
0
67
Ruby Introduction
alepore
0
50
E-commerce is hard
alepore
2
200
Ruby-lang.org
alepore
0
55
Other Decks in Programming
See All in Programming
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
170
Ruby Function Composition
bkuhlmann
1
330
ONE WEDGE_company_guide
1wedge_one
0
500
二郎系ラーメンのコールで学ぶ AST 解析
memory1994
PRO
7
1.7k
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
110
Node.js v22 で変わること
yosuke_furukawa
PRO
10
3.5k
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
3
240
コーンフレークから始める モデリング会話入門
ogurotakayuki
0
380
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
190
Milestoner
bkuhlmann
1
410
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
970
Elm 0.19.0 Changes
bkuhlmann
0
490
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
24
2k
For a Future-Friendly Web
brad_frost
172
9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
The Cult of Friendly URLs
andyhume
74
5.7k
Happy Clients
brianwarren
92
6.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
357
22k
The Illustrated Children's Guide to Kubernetes
chrisshort
31
46k
How GitHub (no longer) Works
holman
304
140k
Building Applications with DynamoDB
mza
88
5.6k
Being A Developer After 40
akosma
60
580k
In The Pink: A Labor of Love
frogandcode
138
21k
Gamification - CAS2011
davidbonilla
76
4.6k
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