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
130
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
150
Breaking Down the Monolith - Peter Marton, RisingStack
slashdotpeter
0
400
Nodepb - Breaking Down the Monolith
slashdotpeter
0
160
Isomorphic applications
slashdotpeter
2
210
NodeSummit - Isomorphic and Reactive Applications
slashdotpeter
10
3.2k
Brewfactory - IoT Vienna
slashdotpeter
1
130
Brewfactory full-stack homebrew 2/2
slashdotpeter
4
230
Other Decks in Programming
See All in Programming
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
570
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
860
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
110
0626 Findy Product Manager LT Night_高田スライド_speaker deck用
mana_takada
0
110
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
220
プロダクト志向なエンジニアがもう一歩先の価値を目指すために意識したこと
nealle
0
110
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
1
400
技術同人誌をMCP Serverにしてみた
74th
1
360
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
340
童醫院敏捷轉型的實踐經驗
cclai999
0
190
ニーリーにおけるプロダクトエンジニア
nealle
0
490
Gleamという選択肢
comamoca
6
760
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.6k
For a Future-Friendly Web
brad_frost
179
9.8k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Building Applications with DynamoDB
mza
95
6.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
We Have a Design System, Now What?
morganepeng
53
7.7k
Code Review Best Practice
trishagee
68
18k
The Cult of Friendly URLs
andyhume
79
6.5k
Site-Speed That Sticks
csswizardry
10
660
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