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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Peter Marton
February 27, 2015
Programming
0
150
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
1.1k
Breaking Down The Monolith - NodeConfBP
slashdotpeter
0
180
Breaking Down the Monolith - Peter Marton, RisingStack
slashdotpeter
0
420
Nodepb - Breaking Down the Monolith
slashdotpeter
0
180
Isomorphic applications
slashdotpeter
2
240
NodeSummit - Isomorphic and Reactive Applications
slashdotpeter
10
3.2k
Brewfactory - IoT Vienna
slashdotpeter
1
150
Brewfactory full-stack homebrew 2/2
slashdotpeter
4
240
Other Decks in Programming
See All in Programming
2026/02/04 AIキャラクター人格の実装論 口 調の模倣から、コンテキスト制御による 『思想』と『行動』の創発へ
sr2mg4
0
480
NOT A HOTEL - 建築や人と融合し、自由を創り出すソフトウェア
not_a_hokuts
2
240
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
780
AI時代の認知負荷との向き合い方
optfit
0
180
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
150
浮動小数の比較について
kishikawakatsumi
0
240
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
120
CSC307 Lecture 11
javiergs
PRO
0
580
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
300
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
150
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1.1k
CSC307 Lecture 07
javiergs
PRO
1
560
Featured
See All Featured
How to Ace a Technical Interview
jacobian
281
24k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Side Projects
sachag
455
43k
Abbi's Birthday
coloredviolet
1
4.8k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
37k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
650
Everyday Curiosity
cassininazir
0
140
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.6k
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