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
Node.js Dublin 2015 - Brewfactory: full-stack h...
Search
Peter Marton
February 27, 2015
Programming
0
140
Node.js Dublin 2015 - Brewfactory: full-stack homebrew
Slides from the Node.js Dublin 2015 February
http://brewfactory.org/
http://www.nodejsdublin.com/
Peter Marton
February 27, 2015
Tweet
Share
More Decks by Peter Marton
See All by Peter Marton
Breaking down the monolith - devone
slashdotpeter
1
1k
Breaking Down The Monolith - NodeConfBP
slashdotpeter
0
160
Breaking Down the Monolith - Peter Marton, RisingStack
slashdotpeter
0
410
Nodepb - Breaking Down the Monolith
slashdotpeter
0
160
Isomorphic applications
slashdotpeter
2
220
NodeSummit - Isomorphic and Reactive Applications
slashdotpeter
10
3.2k
Brewfactory - IoT Vienna
slashdotpeter
1
140
Brewfactory full-stack homebrew 2/2
slashdotpeter
4
230
Other Decks in Programming
See All in Programming
なぜあなたのオブザーバビリティ導入は頓挫するのか
ryota_hnk
5
590
What's new in Adaptive Android development
fornewid
0
140
一人でAIプロダクトを作るための工夫 〜技術選定・開発プロセス編〜 / I want AI to work harder
rkaga
12
2.5k
STUNMESH-go: Wireguard NAT穿隧工具的源起與介紹
tjjh89017
0
350
物語を動かす行動"量" #エンジニアニメ
konifar
14
4.5k
なぜ今、Terraformの本を書いたのか? - 著者陣に聞く!『Terraformではじめる実践IaC』登壇資料
fufuhu
4
570
kiroでゲームを作ってみた
iriikeita
0
150
GUI操作LLMの最新動向: UI-TARSと関連論文紹介
kfujikawa
0
810
Portapad紹介プレゼンテーション
gotoumakakeru
1
120
The State of Fluid (2025)
s2b
0
130
書き捨てではなく継続開発可能なコードをAIコーディングエージェントで書くために意識していること
shuyakinjo
1
260
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
17
3.8k
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Typedesign – Prime Four
hannesfritz
42
2.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
4 Signs Your Business is Dying
shpigford
184
22k
It's Worth the Effort
3n
185
28k
Rails Girls Zürich Keynote
gr2m
95
14k
Faster Mobile Websites
deanohume
308
31k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
880
Fireside Chat
paigeccino
38
3.6k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Transcript
Brewfactory: full-stack homebrew Peter Marton @slashdotpeter
$ whoami - work: RisingStack, Inc. - twitter: slashdotpeter -
email:
[email protected]
- blog: http://blog.risingstack.com
What is Brewfactory? - semi-automated brewing machine - hobby project
- open-source project
How to brew beer? (BIAB way)
add water and malt
hold temperature levels
boil it and hops
cool it fermentation
bottle it enjoy!
brewing sucks? … automate it!
Brew like a boss
What’s on the technology side?
JavaScript everywhere 2007 2015 HW Microcontroller IoT devices from $10
Control HW C, C++ Node.js: Johnny-Five, Tessel Web server .net, Java, PHP Node.js Database SQL MongoDB: JS API WebUI JavaScript: jQuery JavaScript: SPA (React, Angular etc.)
Node.js in IoT - vibrant community - extreme modularity -
high performance
Johnny-Five - “jQuery of the IoT” - servo.to( 90 );
button.on(‘down’, fn); - Arduino compatible boards - Node.js
Our system
Hardware parts - digital temp. sensor - DS18B20 (1-Wire) -
heating elements - PWM (pulse-width modulation) - Relay (solid state) - controller - PID
IoT device: RaspberryPi - credit-card sized - linux - usb
ports - ethernet - NO built-in Wi-Fi - any languages
IoT device: SparkCore - pint-sized - arduino compatible - built-in
Wi-Fi - C++ - Spark’s cloud
Architecture
Architecture
BrewCore - Node.js ~0.12 / io.js - Koa - WebSockets
- Spark’s cloud - https://github.com/BrewCore
BrewMobile - Swift - Reactive Cocoa - WebSockets by @vasarhelyia
BrewUI - Isomorphic - React app with Flux - CommonJS
(Node style) - available as npm module - https://github.com/BrewUI
Isomorphic JavaScript “JavaScript code that can be shared between environments.”
- Spike Brehm
Why is it good for me? - power of server
rendering - SEO - legacy support - speed of Single Page Apps (SPA)
Isomorphic server side
Isomorphic client side
Isomorphic challenges - data fetching: talk about this later -
init app on both sides - singleton app on client -> request scoped on server
Data fetching problem - environment specific problems - should be
shimmed - same functionality and interface - different implementation: AJAX / WS / DB call / micro-service / .. - “Full Stack Flux” - Pete Hunt: React.js Conf 2015 - Full Stack Flux
Demo (http://brewcore-demo.herokuapp.com)
Contribute! github.com/brewfactory
Q&A Thank you! http://brewfactory.org