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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Alessandro Lepore
March 25, 2016
Programming
220
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
E-commerce world, Spree/Solidus
Alessandro Lepore
March 25, 2016
More Decks by Alessandro Lepore
See All by Alessandro Lepore
La bicicletta, un mezzo rivoluzionario
alepore
0
75
Storia del FortunaeLUG
alepore
0
25
Rails performance optimisation tips
alepore
1
71
Italy
alepore
1
150
Web App Security
alepore
1
75
Ruby and Rails
alepore
0
120
Ruby Introduction
alepore
0
95
E-commerce is hard
alepore
2
240
Ruby-lang.org
alepore
0
110
Other Decks in Programming
See All in Programming
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
790
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
830
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
120
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
150
Vite+ Unified Toolchain for the Web
naokihaba
0
320
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
11
5.8k
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.1k
スマートグラスで並列バイブコーディング
hyshu
0
150
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
200
AI時代のUIはどこへ行く?その2!
yusukebe
22
7.4k
ふつうのFeature Flag実践入門
irof
8
4k
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.3k
Featured
See All Featured
Deep Space Network (abreviated)
tonyrice
0
210
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
410
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
300
A Tale of Four Properties
chriscoyier
163
24k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
310
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
390
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
160
Code Review Best Practice
trishagee
74
20k
Darren the Foodie - Storyboard
khoart
PRO
3
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