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
160
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
43
Ruby and Rails
alepore
0
72
Ruby Introduction
alepore
0
53
E-commerce is hard
alepore
2
200
Ruby-lang.org
alepore
0
64
Other Decks in Programming
See All in Programming
AWS CDKにおける「再利用性」を考える / aws-cdk-reusability
gotok365
6
1.3k
I/O Extended Android in Korea 2024 ~ Whats new in Android development tools
pluu
0
250
継続的な活動で築く地方エンジニアの道
myamashii
2
350
Trial
cairolibrary720
1
130
わかりやすい正解を捨てて、コトに向き合う - スクラムフェス金沢2024 スポンサーセッション
yusukekokubo
0
170
How to use Macrobenchmark
veronikapj
0
160
CSC307 Lecture 07
javiergs
PRO
0
220
Javaの現状2024夏 / Java current status 2024 summer
kishida
4
1.4k
Terraformテスト入門
msato
0
530
日付と正規化
megmogmog1965
0
140
CSC307 Lecture 09
javiergs
PRO
1
500
Prompt FlowによるLLMアプリケーション開発
yuto2000
1
1k
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
129
32k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
44
4.7k
The World Runs on Bad Software
bkeepers
PRO
63
11k
StorybookのUI Testing Handbookを読んだ
zakiyama
15
4.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
357
18k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
325
21k
The Straight Up "How To Draw Better" Workshop
denniskardys
229
130k
Designing with Data
zakiwarfel
96
5k
Infographics Made Easy
chrislema
238
18k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
18
1.2k
Into the Great Unknown - MozCon
thekraken
20
1.3k
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