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
Running global manufacturing on Ruby (among oth...
Search
Lee Edwards
November 11, 2016
Technology
0
60
Running global manufacturing on Ruby (among other things)
How Teespring runs a global manufacturing operation on Ruby, and other programming languages.
Lee Edwards
November 11, 2016
Tweet
Share
More Decks by Lee Edwards
See All by Lee Edwards
When not to build a service-oriented architecture
ledwards
0
440
Bringing the Pivotal Process to an Early Startup
ledwards
2
370
SideTour at StartOut Demo Day
ledwards
1
100
Building a Technical Team
ledwards
1
220
Refactoring
ledwards
4
370
Life After LSM
ledwards
2
160
Attack of the Zombie Dynos
ledwards
2
230
Keeping Your Clients ‘NSync - Node.js and Derby: The New Kids on the Block
ledwards
2
200
Test Driving with RSpec and Cucumber
ledwards
3
440
Other Decks in Technology
See All in Technology
ペアプログラミングにQAが加わった!職能を超えたモブプログラミングの事例と学び
tonionagauzzi
1
150
新卒エンジニア研修の試行錯誤と工夫/nikkei-tech-talk-31
nishiuma
0
200
年末調整プロダクトの内部品質改善活動について
kaomi_wombat
0
210
モノリスの認知負荷に立ち向かう、コードの所有者という思想と現実
kzkmaeda
0
110
チームの性質によって変わる ADR との向き合い方と、生成 AI 時代のこれから / How to deal with ADR depends on the characteristics of the team
mh4gf
4
340
React Server Componentは 何を解決し何を解決しないのか / What do React Server Components solve, and what do they not solve?
kaminashi
6
1.2k
Proxmox VE超入門 〜 無料で作れるご自宅仮想化プラットフォームブックマークする
devops_vtj
0
170
どっちの API SHOW?SharePoint 開発における SharePoint REST API Microsoft Graph API の違い / Which API show? Differences between Microsoft Graph API and SharePoint REST API
karamem0
0
110
SpannerとAurora DSQLの同時実行制御の違いに想いを馳せる
masakikato5
0
570
OCI見積もり入門セミナー
oracle4engineer
PRO
0
120
Amazon Q Developer 他⽣成AIと⽐較してみた
takano0131
1
120
Riverpod & Riverpod Generatorを利用して状態管理部分の処理を書き換えてみる簡単な事例紹介
fumiyasac0921
0
110
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
Into the Great Unknown - MozCon
thekraken
36
1.7k
Unsuck your backbone
ammeep
670
57k
Making the Leap to Tech Lead
cromwellryan
133
9.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Scaling GitHub
holman
459
140k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Transcript
Running global manufacturing on Ruby (among other things) Lee Edwards
VP Engineering at Teespring RubyConf 2016 @terronk
Song Dynasty (960-1279) Screen printing
The original silk road
Andy Warhol 1950s-60s
Modern screen printing facility (Hebron, KY)
Artwork separation
Picking tees
None
None
None
None
None
None
How it works Digital printing
None
None
None
None
A few parts of Teespring Commerce Fulfillment Artwork
FulfillmentJob
CampaignEnder Campaign class Campaign < ActiveRecord::Base # state_id class CampaignEnder
< TeespringWorker def perform # Check: # valid campaign, and valid to end? # meet minimum to print? # profitable for orders placed? # all orders charged? end_successfully
Printer FulfillmentJob class Printer < ActiveRecord::Base has_many :fulfillment_jobs class FulfillmentJob
< ActiveRecord::Base has_many :fulfillment_line_items class FulfillmentLineItem < ActiveRecord::Base
None
None
Apollo
None
Shipping labels
Conveyor belts
None
None
None